forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Алгоритм xMoveEntity (http://forum.boolean.name/showthread.php?t=15606)

pozitiffcat 06.10.2011 21:18

Срочняк нужен алгоритм перемещения в пространстве xMoveEntity, для порта ксорса под линукс, кто знает?

.Squid ты хоть подскажи что ль, если не жалко...

.Squid 06.10.2011 22:02

Ответ: Алгоритм xMoveEntity
 
Ну, что-то вроде:
SetLocalPosition(GetLocalQuaternion() * move + GetLocalPosition());
где move - требуемый вектор перещения.

pozitiffcat 07.10.2011 14:45

Ответ: Алгоритм xMoveEntity
 
Цитата:

Сообщение от .Squid (Сообщение 204896)
Ну, что-то вроде:
SetLocalPosition(GetLocalQuaternion() * move + GetLocalPosition());
где move - требуемый вектор перещения.

клёва спасибо работает

impersonalis 07.10.2011 15:14

Ответ: Алгоритм xMoveEntity
 
это юмор что-ли такой?

pozitiffcat 07.10.2011 15:23

Ответ: Алгоритм xMoveEntity
 
кстати если быть точнее то
void xMoveEntity(int model, float x, float y, float z)
{
if (model<=0)return;
ISceneNode *ptr = (ISceneNode*)model;
vector3d<f32> Direction = ptr->getRotation().rotationToDirection(vector3df(0,0,1 ));//определить вектор направление
ptr->setPosition( ptr->getPosition() + Direction * z ); //прибавить к позиции умноженое на скорость
Direction = ptr->getRotation().rotationToDirection(vector3df(1,0,0 ));
ptr->setPosition( ptr->getPosition() + Direction * x );
Direction = ptr->getRotation().rotationToDirection(vector3df(0,1,0 ));
ptr->setPosition( ptr->getPosition() + Direction * y );
}

impersonalis
где здесь юмор?


Часовой пояс GMT +4, время: 07:46.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot