forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Передвижение объекта по заданным координатам (http://forum.boolean.name/showthread.php?t=14839)

Selivan 05.06.2011 21:48

Передвижение объекта по заданным координатам
 
Всем доброго времени!

Интересует способ, как можно реализовать передвижение объекта по заданным координатам.
То есть:
К примеру, есть объект "О" с координатами х = 0; у = 0; z = 0; его нужно плавно переместить по координатам х = 10; у = 1; z = 20; Если использовать MoveEntity и задать нужные координаты, то объект переместится моментально, что мне не подходит.
Пробовал перемещать "по чуть-чуть" и сверять координаты через EntityX/EntityY/EntityZ, но выходит громоздко и кривовато как-то:dontknow:
Заранее благодарю за помощь!

impersonalis 05.06.2011 22:00

Ответ: Передвижение объекта по заданным координатам
 
сплайновая интерполяция
система вейпоинтов

Program23 05.06.2011 23:19

Ответ: Передвижение объекта по заданным координатам
 
Мне кажется MoveEntity в самый раз.

Код:

x=x+0.1
y=y+0.1
z=z+0.1
MoveEntity obj,x,y,z

Чем не плавное перемещение?

LLI.T.A.L.K.E.R. 05.06.2011 23:39

Ответ: Передвижение объекта по заданным координатам
 
WayPoints.bb
Код:

;Project : WayPointSystem
;Version : 0.01
;Author : H@non ©

В примере кубик следует по расставленным точкам в пространстве.

Reks888 05.06.2011 23:42

Ответ: Передвижение объекта по заданным координатам
 
Вложений: 1
Уже надоедает совать всем под нос один и тот же пример.
Тут даже с анимацией перемещение в указанную мышью точку
Распаковать & Запустить.
Все что тебе отсюда нужно - немного переделанная функция UpdateMovement()

Reks888 05.06.2011 23:46

Ответ: Передвижение объекта по заданным координатам
 
ЗЫ Вырвал только что функцию из WorldWar[Tanks]
Тут ещё и с плавным поворотом
PHP код:

Function Go_to(position,target,Turnspeed#,speed#)
 
xt#=EntityX#(target)
 
zt#=EntityZ#(target)
 
xl#=EntityX#(position)
 
zl#=EntityZ#(position)
 
cx#=xt-xl 
 
cz#=zt-zl 
 
cn#=Sqr(cx*cx+cz*cz) 
 
cx=cx/cn    
 cz
=cz/cn     
 
AlignToVector position
,cx,0,cz,0,Turnspeed#
RotateEntity position,0,EntityYaw(position),0
MoveEntity position
,0,0,speed#
End Function 

Position - хендл объекта который движется, target - к которому. Поставь пивот в нужной точке и к нему иди, например
Speed-скорость передвижения, Turnspeed-скорость поворота(0-не поворачивается, 1-мгновенный поворот)


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

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