Мне нужно повернуть часть Mesh-объекта вокруг оси Y в локальной системе координат.
За основу взял пример Simple Animation из SDK April 2005.
Вставил свой код в UpdateFrameMatices:
private void UpdateFrameMatrices(AnimationFrame frame, Matrix parentMatrix)
{
if (frame.Name == "ИмяНужногоМнеФрейма")
frame.CombinedTransformationMatrix =
frame.TransformationMatrix * parentMatrix * Matrix.RotationY(fAngle);
else
frame.CombinedTransformationMatrix = frame.TransformationMatrix * parentMatrix;
if (frame.FrameSibling != null)
{
UpdateFrameMatrices(frame.FrameSibling as AnimationFrame, parentMatrix);
}
if (frame.FrameFirstChild != null)
{
UpdateFrameMatrices(frame.FrameFirstChild as AnimationFrame,
frame.CombinedTransformationMatrix);
}
}
Поворачивается все как надо, но стоит повернуть камеру и вращение начинает происходить вокруг другой оси. Не могу понять, почему так.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>