Sidebar

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

Flagg

New member
Aug 23, 2007
37
0
0
Belarus
Модель перса HL2

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

Flagg

New member
Aug 23, 2007
37
0
0
Belarus
Кроме ссылки которую давал выше - ничего по теме не нашел, а там больше картинок чем текста, вроде нужно создавать сферу в области глаза, которая не текстурируется и вообще не понятно для чего нужна, может по ней координаты вычисляются? А вот кусок куси из декомпила Аликс, то что касается глаз:
Code:
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
Что тут к чему? Растусовал бы кто...
 
Last edited:

realspaik

New member
Aug 30, 2006
650
1
0
Сфера создается по размерам глазного яблока персонажа и на его месте. нужна для определения координат его центра. При экспорте модели она как нетекстурированный объект автоматом удаляется. Можешь и вручную ее удалить для надежности ) Все что тебе от нее нужно это три координаты ее центра 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

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

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

Flagg

New member
Aug 23, 2007
37
0
0
Belarus
realspaik, спасибо за содержательный ответ, очень помог :) Вобщем попробовал я проделать все эти манипуляции, модель скомпилировалась, ошибок нет, но и зрачки не появились, на белке видно что шейдер работает, есть блики. Текстуры все наместе, аттачи тоже, где еще может быть трабла? Вот qc:
Code:
$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
}
 

Attachments

realspaik

New member
Aug 30, 2006
650
1
0
Вроде все правильно, по крайней мере в qc никаких ошибок не наблюдаю. Может все таки с материалами запарка? Каким образом ты материалы для глаз переносил в свою папку? изменял ли в них пути, там относительно сложная система с этими шейдерами глаз. Можно попробовать временно перенести материалы из твоей папки и дописать в QC дополнительный путь к материалам, типа
$cdmaterials "models\Alyx\"
чтобы движок их оттуда брал. Еще попробуй в игре на свою модель глянуть, точнее в консоль, с включенной командой developer 2 , может и напишет где ошибка.
 

Flagg

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

realspaik

New member
Aug 30, 2006
650
1
0
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
Aug 23, 2007
37
0
0
Belarus
Вот что-то похожее у меня и проиходит: в игре зрачки появляются когда модель повернута лицом в определенную сторону, но ведь в qc глаза привязаны таки к кости. Устали меня эти координаты, в туторе Eye Position Setup вычисляют еще кучу параметров и все это завязано на .vta файл, похоже сначала придется делать лицевую анимацию, а потом возвращаться к глазам. Другого выхода пока не вижу.
 

Flagg

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

Attachments

job_art

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

Flagg

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

Flagg

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

[ADDED=Flagg]1193250081[/ADDED]
А ты не знаешь что там может быть с зубами? И чем текстурить полость рта?
 
Last edited:

realspaik

New member
Aug 30, 2006
650
1
0
не уверен, но попробуй в своем qc , после описания глаз добавить строку

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

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

job_art

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

Персонаажа сам сделал? Текстура лица с фото? Повторяю - хочу купить за деньги, если valve'ская анимация подошла, то и новая подойдет.
Сколько в модели полигонов?
 

Flagg

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

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

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord