Сообщение от burovalex
Подскажите пожалуйста еще в каких ячейках находятся поворот и смещения, для полной информации
|
смещение тут:
1 0 0 0
0 1 0 0
0 0 1 0
X Y Z 1
т.е.
X# = GetMatElement ( Entity, 3, 0 )
Y# = GetMatElement ( Entity, 3, 1 )
Z# = GetMatElement ( Entity, 3, 2 )
матрица вращения это вот эта 3x3 часть:
X Y Z 0
X Y Z 0
X Y Z 0
0 0 0 1
извлечь из нее углы Эйлера можно так:
XAxisY# = GetMatElement ( Entity, 0, 1 )
YAxisY# = GetMatElement ( Entity, 1, 1 )
ZAxisX# = GetMatElement ( Entity, 2, 0 )
ZAxisY# = GetMatElement ( Entity, 2, 1 )
ZAxisZ# = GetMatElement ( Entity, 2, 2 )
Pitch# = ATan2 ( ZAxisY, Sqr ( ZAxisX * ZAxisX + ZAxisZ * ZAxisZ ) )
Yaw# = ATan2 ( ZAxisX, ZAxisZ )
Roll# = ATan2 ( XAxisY, YAxisY )
Но для блица это не практично, т.к. встроеные EntityPitch|Yaw|Roll будут производительнее, к тому-же эти углы и смещения глобальны, т.е. с учетом трансформации всех предков энтити.