Показать сообщение отдельно
Старый 19.02.2013, 02:30   #1
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Смешивание анимаций

Итак, встал передо мной такой вопрос - надо смешать ТРИ анимации, хоть и не все сразу. Собственно, вот код (пуряк + SDK)

Procedure InterpolateHumanBones(mesh1,mesh2,mesh3,delta.f)
	Protected dl.f
	Restore HumanAlignBones
	Read.b count
	For i=1 To count
		Read.s name.s
		If delta>=0.5
			ch1 = bbFindChild(mesh1,name)
			ch2 = bbFindChild(mesh2,name)
			
			dl = (delta - 0.5) * 2
			
			x1.f = bbEntityPitch(ch1,0)
			y1.f = bbEntityYaw(ch1,0)
			z1.f = bbEntityRoll(ch1,0)
			
			x2.f = bbEntityPitch(ch2,0)
			y2.f = bbEntityYaw(ch2,0)
			z2.f = bbEntityRoll(ch2,0)
			
			x.f = (x2-x1)*dl + x1
			y.f = (y2-y1)*dl + y1
			z.f = (z2-z1)*dl + z1
			
			bbRotateEntity(ch1,x,y,z,0)
		Else
			ch1 = bbFindChild(mesh1,name)
			ch2 = bbFindChild(mesh3,name)
			
			dl = 1-(delta*2)
			
			x1.f = bbEntityPitch(ch1,0)
			y1.f = bbEntityYaw(ch1,0)
			z1.f = bbEntityRoll(ch1,0)
			
			x2.f = bbEntityPitch(ch2,0)
			y2.f = bbEntityYaw(ch2,0)
			z2.f = bbEntityRoll(ch2,0)
			
			x.f = (x2-x1)*dl + x1
			y.f = (y2-y1)*dl + y1
			z.f = (z2-z1)*dl + z1
			
			bbRotateEntity(ch1,x,y,z,0)
		EndIf
		
	Next
EndProcedure

DataSection
	HumanAlignBones:
	Data.b 25
	Data.s "Bip01 Spine1"
	Data.s "Bip01 Spine2"
	Data.s "Bip01 Spine3"
	Data.s "Bip01 Neck"
	Data.s "Bip01 L Arm"
	Data.s "Bip01 L Arm1"
	Data.s "Bip01 L Arm2"
	Data.s "Bip01 R Arm"
	Data.s "Bip01 R Arm1"
	Data.s "Bip01 R Arm2"
	Data.s "Bip01 Head"
	Data.s "Bip01 L Hand"
	Data.s "Bip01 L Finger0"
	Data.s "Bip01 L Finger01"
	Data.s "Bip01 L Finger02"
	Data.s "Bip01 L Finger1"
	Data.s "Bip01 L Finger11"
	Data.s "Bip01 L Finger12"
	Data.s "Bip01 R Hand"
	Data.s "Bip01 R Finger0"
	Data.s "Bip01 R Finger01"
	Data.s "Bip01 R Finger02"
	Data.s "Bip01 R Finger1"
	Data.s "Bip01 R Finger11"
	Data.s "Bip01 R Finger12"
EndDataSection
В итоге при delta некратном 0.5 начинается сраная мешанина и всё адово дёргается. Помогите, срочняк надо...

Насилую модельки из Day of Defeat с GoldSrc
__________________


(Offline)
 
Ответить с цитированием