Xna ModelBones - Как отодвинуть их друг от друга? - PullRequest
0 голосов
/ 28 сентября 2011

Здравствуйте, я знаю, что в модели можно получить абсолютные преобразования костей. Но как их убрать (например, надувать)?Я думаю, что для этого мне нужно переместить их вперед на свои локальные позиции, но у меня есть абсолютные трансфомации на

Model.CopyAbsoluteBoneTransformsTo(ModelAllTransforms);

Как действовать дальше?Я имею в виду, я могу использовать

mesh.ParentBone.Transform = Matrix.CreateTranslation(?) * ModelAllTransforms;

, но что будет?знак ..

Большое спасибо!:)

1 Ответ

0 голосов
/ 28 сентября 2011

Направление, которое вы ищете, в основном является абсолютным преобразованием локальной кости минус центр, затем нормализовано.

Примерно так:

//"time" is your timing value, "speed" is some float value
Vector3 direction = bone.Translation - center;
direction.Normalize();
Vector3 translate = time * speed * direction;
bone.Translation += translate;
...