Sidebar

Модель перса HL2

Flagg

New member
23.08.07
37
0
0
Belarus
Модель перса HL2

Всем привет!
Делаю собственного перса для HL2, мдель уже готова, првязал к вальвоскому скилету, анимации работают нормально, проблема с глазами, не могу найти вразумительного тутора, почитал здесь, как-то не понятно, может кто-нибудь разбирался с этим вопросом, просветите :)
 
Останнє редагування:

Flash

VIP
VIP
21.09.04
16 980
41
  • Золотая медаль 111
  • Серебряная медаль 216
  • Золотая медаль 221
  • Серебряная медаль 311
  • Серебряная медаль 115
  • Золотая медаль 125
  • Золотая медаль 211
Хоть и текстурой, но нормально смотрится в целом. :)
А у валвовцев никаких примеров нету?
А если обчную модельку декомпилить?
 

Flagg

New member
23.08.07
37
0
0
Belarus
Кроме ссылки которую давал выше - ничего по теме не нашел, а там больше картинок чем текста, вроде нужно создавать сферу в области глаза, которая не текстурируется и вообще не понятно для чего нужна, может по ней координаты вычисляются? А вот кусок куси из декомпила Аликс, то что касается глаз:
Код:
eyeball righteye ValveBiped.Bip01_Head1 -1.300 -2.934 65.202 eyeball_r 1.000  4.000 pupil_r 0.682
eyeball lefteye ValveBiped.Bip01_Head1 1.315 -2.934 65.211 eyeball_l 1.000  -4.000 pupil_l 0.682        
eyelid  upper_right "mdldecompiler_expressions.vta" lowerer 1 -0.118000 neutral 0 -0.000000 raiser 1070285717 0.000000 split 0.1 
eyeball righteye        
eyelid  lower_right "mdldecompiler_expressions.vta" lowerer 2 -0.255000 neutral 0 0.000000 raiser -1078623994 0.000000  split 0.1 
eyeball righteye        eyelid  upper_left "mdldecompiler_expressions.vta" lowerer 3 -0.118000 neutral 0 -0.000000 raiser 1070285717 0.000000 split -0.1 eyeball lefteye        
eyelid  lower_left "mdldecompiler_expressions.vta" lowerer 4 -0.255000 neutral 0 0.000000 raiser -1078623994 0.000000  split -0.1 
eyeball lefteye       mouth 0 "mouth"  ValveBiped.Bip01_Head1 0.000 1.000 0.000       
flexcontroller eyelid right_lid_raiser "range" 0.000 1.000       
flexcontroller eyelid left_lid_raiser "range" 0.000 1.000       
flexcontroller eyelid right_lid_tightener "range" 0.000 1.000       
flexcontroller eyelid left_lid_tightener "range" 0.000 1.000       
flexcontroller eyelid right_lid_droop "range" 0.000 1.000       
flexcontroller eyelid left_lid_droop "range" 0.000 1.000       
flexcontroller eyelid right_lid_closer "range" 0.000 1.000       
flexcontroller eyelid left_lid_closer "range" 0.000 1.000       
flexcontroller eyelid half_closed "range" 0.000 1.000       
flexcontroller eyelid blink "range" 0.000 1.000
Что тут к чему? Растусовал бы кто...
 
Останнє редагування:

realspaik

Member
30.08.06
651
4
18
Сфера создается по размерам глазного яблока персонажа и на его месте. нужна для определения координат его центра. При экспорте модели она как нетекстурированный объект автоматом удаляется. Можешь и вручную ее удалить для надежности ) Все что тебе от нее нужно это три координаты ее центра x y z . Типа -1.300 -2.934 65.202 , для второго глаза можно эту сферу и не создавать, а просто взять первую координату с другим знаком.
Еще важный момент, в зависимости от настроек виндовс, у тебя в системе дробная часть числа будет отделяться от целой точкой или запятой. Обычно запятой. Компилятор понимает только дроби, отделенные точкой. Поэтому если будешь копировать координаты из макса не забывай менять запятые на точки, если понадобится конечно )

Дальше ту часть модели, где сейчас нарисованные глаза покрываешь текстурами eyeball_r и eyeball_l для правого и левого глаза соответсвенно.

В QC глобально за настройку глаз и зрачков отвечает пара строк

eyeball righteye ValveBiped.Bip01_Head1 -1.300 -2.934 65.202 eyeball_r 1.000 4.000 pupil_r 0.682
eyeball lefteye ValveBiped.Bip01_Head1 1.315 -2.934 65.211 eyeball_l 1.000 -4.000 pupil_l 0.682

Впринципе можешь оставить все как есть, заменить для каждого глаза координаты XYZ полученные из сфер. Про синтаксис подробно написано на http://developer.valvesoftware.com/wiki/.QC_Commands#.24model_Option

После компиляции, глаза со зрачками должны появиться на модели.

Post automatically merged:

Что касается следующих строк. Они относятся к лицевой анимации, указанию крайних положений при движения зрачка, что бы их заюзать нужно уже создавать вертексную лицевую анимацию. На эту тему маловато туторов, можешь посмотреть
http://www.hl2world.com/wiki/index.php/Creating_facial_animations_with_VTA_files
http://developer.valvesoftware.com/wiki/Character_Facial_Animation_Shapekey_Set
 
Останнє редагування:

Flagg

New member
23.08.07
37
0
0
Belarus
realspaik, спасибо за содержательный ответ, очень помог :) Вобщем попробовал я проделать все эти манипуляции, модель скомпилировалась, ошибок нет, но и зрачки не появились, на белке видно что шейдер работает, есть блики. Текстуры все наместе, аттачи тоже, где еще может быть трабла? Вот qc:
Код:
$cd "d:\SDK Revolution SP3\hl2\models\nat"
$modelname "nat.mdl"
$model "nat" "nat_reference.smd" {
eyeball righteye ValveBiped.Bip01_Head1 -1.242 -3.84 66.283 eyeball_r 1.000  4.000 pupil_r 0.682
eyeball lefteye ValveBiped.Bip01_Head1 1.242 -3.84 66.283 eyeball_l 1.000  -4.000 pupil_l 0.682
}
$poseparameter move_yaw -180.00 180.00 360.00
$cdmaterials "models\nat\"
$hboxset "default"
$hbox 1 "ValveBiped.Bip01_Head1" -2.250  -5.000  -3.150  7.250  5.000  3.350
$hbox 4 "ValveBiped.Bip01_L_UpperArm" -0.810  -2.250  -3.050  11.190  2.750  1.200
$hbox 4 "ValveBiped.Bip01_L_Forearm" -1.250  -1.880  -2.000  11.750  1.620  1.000
$hbox 4 "ValveBiped.Bip01_L_Hand" 0.000  -1.070  -1.500  6.000  0.680  3.000
$hbox 5 "ValveBiped.Bip01_R_UpperArm" -1.500  -2.250  -1.250  11.500  2.750  2.750
$hbox 5 "ValveBiped.Bip01_R_Forearm" -0.820  -1.900  -1.150  11.180  1.600  1.850
$hbox 5 "ValveBiped.Bip01_R_Hand" -0.500  -1.130  -3.250  5.500  0.630  1.750
$hbox 6 "ValveBiped.Bip01_L_Thigh" 0.500  -3.500  -3.250  17.500  4.500  3.250
$hbox 6 "ValveBiped.Bip01_L_Calf" 0.740  -2.350  -2.150  17.740  3.650  2.350
$hbox 6 "ValveBiped.Bip01_L_Foot" -2.000  -1.800  -1.450  6.000  3.200  2.050
$hbox 6 "ValveBiped.Bip01_L_Toe0" -0.170  -1.500  -1.300  2.570  0.300  1.700
$hbox 7 "ValveBiped.Bip01_R_Thigh" 0.500  -3.500  -3.000  17.500  4.500  3.000
$hbox 7 "ValveBiped.Bip01_R_Calf" 0.740  -2.350  -2.350  17.740  3.650  2.150
$hbox 7 "ValveBiped.Bip01_R_Foot" -2.000  -1.750  -2.150  6.000  3.250  1.350
$hbox 7 "ValveBiped.Bip01_R_Toe0" 0.000  -1.380  -1.630  2.740  0.380  1.630
$hbox 3 "ValveBiped.Bip01_Pelvis" -5.250  -3.880  -6.250  5.750  4.120  3.750
$hbox 3 "ValveBiped.Bip01_Spine1" -4.500  -2.000  -4.980  3.500  6.000  4.970
$hbox 2 "ValveBiped.Bip01_Spine2" -0.500  -2.500  -6.000  10.500  7.500  6.000
// Model uses material "fmouth.vmt"
// Model uses material "nat_sheet-2048.vmt"
// Model uses material "eyeball_r.vmt"
// Model uses material "eyeball_l.vmt"
// Model uses material "pony.vmt"
// Model uses material "nat_face_hair.vmt"
// Model uses material "pupil_r.vmt"
// Model uses material "aks.vmt"
// Model uses material "pupil_l.vmt"
$attachment "eyes" "ValveBiped.Bip01_Head1" 3.45 -4.40 -0.00 rotate 0.00 -80.10 -90.00
$attachment "lefteye" "ValveBiped.Bip01_Head1" 3.45 -4.40 -1.32 rotate 0.00 -80.10 -90.00
$attachment "righteye" "ValveBiped.Bip01_Head1" 3.45 -4.40 1.30 rotate 0.00 -80.10 -90.00
$attachment "nose" "ValveBiped.Bip01_Head1" 1.70 -5.30 -0.00 rotate 0.00 -80.00 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.20 -4.90 -0.00 rotate 0.00 -80.00 -90.00
$attachment "amulet" "ValveBiped.Bip01_Spine4" 0.30 5.00 0.00 rotate -0.00 90.00 90.00
$attachment "chest" "ValveBiped.Bip01_Spine4" -4.00 4.00 0.00 rotate -0.00 83.00 90.00
$attachment "hips" "ValveBiped.Bip01_Pelvis" 0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$attachment "lefthand" "ValveBiped.Bip01_L_Hand" 3.50 -0.50 0.00 rotate -0.00 0.00 -0.00
$attachment "righthand" "ValveBiped.Bip01_R_Hand" 3.50 -0.50 0.00 rotate -0.00 -0.00 0.00
$attachment "pouch1" "ValveBiped.Bip01_Pelvis" 5.50 1.00 2.00 rotate -90.00 -90.00 0.00
$attachment "pouch2" "ValveBiped.Bip01_Pelvis" 6.50 0.50 -2.00 rotate -90.00 -90.00 0.00
$attachment "physgun_attachment" "ValveBiped.physgun_attachment" -0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "emp" "ValveBiped.Anim_Attachment_RH" 0.00 -0.00 5.00 rotate -90.00 -90.00 0.00
$attachment "Emp_Holster" "ValveBiped.Bip01_Pelvis" -6.44 2.22 -1.95 rotate -1.37 -103.07 90.28
$attachment "forward" "ValveBiped.forward" 0.00 -0.00 0.00 rotate 0.00 0.00 -0.00
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" 0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$includemodel "alyx_animations.mdl"
$includemodel "alyx_postures.mdl"
$includemodel "alyx_gestures.mdl"
$includemodel "humans/female_shared.mdl"
$includemodel "humans/female_ss.mdl"
$surfaceprop "flesh"
$eyeposition 0.000 0.000 66.000
$illumposition 0.855 -0.052 34.763
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
$collisionjoints "phymodel.smd" {

	$mass 60.0
	$inertia 5.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.20
	$jointconstrain "valvebiped.bip01_spine2" y limit -26.00 26.00 0.20
	$jointconstrain "valvebiped.bip01_spine2" z limit -39.00 68.00 0.20

	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -64.00 64.00 0.20
	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -26.00 122.00 0.20
	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -122.00 50.00 0.20

	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -64.00 64.00 0.20
	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -122.00 28.00 0.20
	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -100.00 59.00 0.20

	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.20
	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" z limit -140.00 0.00 0.20

	$jointconstrain "valvebiped.bip01_l_hand" x limit -68.00 68.00 0.20
	$jointconstrain "valvebiped.bip01_l_hand" y limit -37.00 41.00 0.20
	$jointconstrain "valvebiped.bip01_l_hand" z limit -44.00 70.00 0.20

	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" z limit -149.00 1.00 0.20

	$jointconstrain "valvebiped.bip01_r_hand" x limit -75.00 93.00 0.20
	$jointconstrain "valvebiped.bip01_r_hand" y limit -37.00 32.00 0.20
	$jointconstrain "valvebiped.bip01_r_hand" z limit -48.00 66.00 0.20

	$jointconstrain "valvebiped.bip01_r_thigh" x limit -50.00 48.00 0.20
	$jointconstrain "valvebiped.bip01_r_thigh" y limit -19.00 70.00 0.20
	$jointconstrain "valvebiped.bip01_r_thigh" z limit -79.00 73.00 0.20

	$jointconstrain "valvebiped.bip01_r_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit 0.00 133.00 0.20

	$jointconstrain "valvebiped.bip01_head1" x limit -61.00 61.00 0.20
	$jointconstrain "valvebiped.bip01_head1" y limit -44.00 44.00 0.20
	$jointconstrain "valvebiped.bip01_head1" z limit -32.00 50.00 0.20

	$jointconstrain "valvebiped.bip01_l_thigh" x limit -39.00 39.00 0.20
	$jointconstrain "valvebiped.bip01_l_thigh" y limit -59.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_l_thigh" z limit -84.00 66.00 0.20

	$jointconstrain "valvebiped.bip01_l_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit 0.00 131.00 0.20

	$jointconstrain "valvebiped.bip01_l_foot" x limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_l_foot" y limit -28.00 28.00 0.20
	$jointconstrain "valvebiped.bip01_l_foot" z limit -46.00 46.00 0.20

	$jointconstrain "valvebiped.bip01_r_foot" x limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_r_foot" y limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_r_foot" z limit -35.00 57.00 0.20
}
 

Вкладення

realspaik

Member
30.08.06
651
4
18
Вроде все правильно, по крайней мере в qc никаких ошибок не наблюдаю. Может все таки с материалами запарка? Каким образом ты материалы для глаз переносил в свою папку? изменял ли в них пути, там относительно сложная система с этими шейдерами глаз. Можно попробовать временно перенести материалы из твоей папки и дописать в QC дополнительный путь к материалам, типа
$cdmaterials "models\Alyx\"
чтобы движок их оттуда брал. Еще попробуй в игре на свою модель глянуть, точнее в консоль, с включенной командой developer 2 , может и напишет где ошибка.
 

Flagg

New member
23.08.07
37
0
0
Belarus
Нет, проблема точно не в материалах, все проверил, попробовал прописать пути к материалам Аликс, эффект нулевой. Скорее виной всему всетаки координаты. Посмотрел на модельку в игре... зрачки таки появляются, только ужасно криво, когда она начинает головой вертеть, а раз они не на месте, значит координаты не верны, хотя я их двадцать раз перепроверил. И вот что мне не понятно: если координаты абсолютные т. е. отсчитываются от начала координат, то на кой в этой строчке
Код:
eyeball righteye ValveBiped.Bip01_Head1 -1.242 -3.84 66.283 eyeball_r 1.000  4.000 pupil_r 0.682
имя кости?
 

realspaik

Member
30.08.06
651
4
18
eyeball (name) (bone name) (X) (Y) (Z) (material name) (diameter) (angle) (iris material) (pupil scale)

(name) Name of eyeball, used to match eyelid rules. (bone name) Name of bone that the eye is parented to, typically the head. (X) (Y) (Z) World location of the center of the ball of the eye. (material name) Material name to use when searching for vertices to consider as the "white" of the eye (used in dynamically texture mapping the iris and cornea onto the eye). (diameter) Diameter of the ball of the eye (angle) Default yaw offset from "forward" for iris. Humans are typically 2-4 degrees walleyed. Not setting this correctly will result in your either characters appearing cross-eyed, or if you’ve compensated by misplacing the ball of the eye, them not tracking side to side. (iris material)Material to use as the iris texture. (pupil scale)World scale of the iris texture
Имя кости к которой "присоединены" глаза, обычно голова. Если бы не было этой кости в скрипте то глаза и оставались бы относительно своих абсолютных координат, а голова поворачивалась без них.
 

Flagg

New member
23.08.07
37
0
0
Belarus
Вот что-то похожее у меня и проиходит: в игре зрачки появляются когда модель повернута лицом в определенную сторону, но ведь в qc глаза привязаны таки к кости. Устали меня эти координаты, в туторе Eye Position Setup вычисляют еще кучу параметров и все это завязано на .vta файл, похоже сначала придется делать лицевую анимацию, а потом возвращаться к глазам. Другого выхода пока не вижу.
 

Flagg

New member
23.08.07
37
0
0
Belarus
Ух! Наконец нашел ошибку, теперь все работает :) , только теперь другая хрень :), шейдер "MouthShader", материалы стандартные, ничего не менял, в vmt изменил только путь к текстуре. Компелирую... черт, зубы черные, изменил в vmt "Teeth" на "VertexLitGeneric" - работает. В чем может быть проблема?
 

Вкладення

job_art

New member
17.10.07
17
0
0
Привет, я заинтересован приобрести возможность использования твоих моделей в своей игре. Уже готовых. Интересуют домашние животные и казуальные люди. Цена от 15 до 30 долларов за уже сделанные модели с текстурой. При этом после покупки использовать эту модель дальше где хочешь, права остаются у тебя. Плачу через webmoney, если это тебя интересует пиши на [email protected]
 

Flagg

New member
23.08.07
37
0
0
Belarus
Предложение интересное :) Только это моя первая моедель перса и та не закончена, до этого людей не делал, только пропы всякие.
 

realspaik

Member
30.08.06
651
4
18
2 Flagg:
так в чем была проблемма с глазами?
 

Flagg

New member
23.08.07
37
0
0
Belarus
Да всё было до смешного просто: когда текстурировал глаза перепутал левый с правым :) , казалось бы мелочь, ан нет.
А способ настройки по сферам работает, там всё просто.

Post automatically merged:

А ты не знаешь что там может быть с зубами? И чем текстурить полость рта?
 
Останнє редагування:

realspaik

Member
30.08.06
651
4
18
не уверен, но попробуй в своем qc , после описания глаз добавить строку

mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0

в том же же блоке что и описания глаз(!), ну и проверь что бы аттачмент "mouth" находился там где положено.
 

Flagg

New member
23.08.07
37
0
0
Belarus
Ну это-то я первым делом попробовал, не помогает
 

job_art

New member
17.10.07
17
0
0
Flagg сказав(ла):
Предложение интересное :) Только это моя первая моедель перса и та не закончена, до этого людей не делал, только пропы всякие.
Персонаажа сам сделал? Текстура лица с фото? Повторяю - хочу купить за деньги, если valve'ская анимация подошла, то и новая подойдет.
Сколько в модели полигонов?
 

Flagg

New member
23.08.07
37
0
0
Belarus
В модели 8153 полигона, моделировал по фотографии реального человека, текстура лица нарисована в Photoshop, на данный момент готово 28 лицевых морфов. Но этого перса я делаю для одного проекта, так что продать не могу. Могу сделать другого на заказ, меш плюс текстура, справлюсь недели за три, это если без скилета и лицевой анимации.

P.S. Дело не в деньгах, этого персанажа я делаю бесплатно, просто мне интересно этим заниматься :)
 

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.