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=18469)

Arik 17.08.2013 21:53

Следование камеры.
 
Все привет. Учусь программировать и делаю игрушку. Помогите пожалуйста с камерой.
Хочу, что бы камера следовала за объектом как вот тут http://www.youtube.com/watch?v=_seq2VLWEvg , но не могу догнать как это реализовать.

вот часть кода (если надо могу скинуть весь):

helic=CreatePivot()
mesh=LoadAnimMesh("Player.3DS")
EntityParent mesh,helic
PositionEntity helic,0,25,0
ScaleEntity mesh,0.002,0.002,0.002
EntityType helic,Typehelic
Animate mesh,1,3,0,0
EntityRadius helic,4
health=100
speed#=0
xTurn=0
yTurn=0
zTurn=0
slice#=0

;камера
campoint=CreatePivot()
PositionEntity campoint,35,70,-50
cam=CreateCamera(campoint)
;PositionEntity cam,35,70,-50
TurnEntity cam,35,35,0

А это из части движения, что бы было понятно.
TurnEntity helic,0,Float(zTurn)/20,0
MoveEntity helic,slice,0,speed
RotateEntity mesh,xTurn/2,0,(zTurn/2)*Abs(speed)

Чо то я вообще затупил с этой камерой и не могу победить. Пробовал делать Поинт, но тогда камера просто следит за обьектом и стоит на месте.

ABTOMAT 18.08.2013 04:05

Ответ: Следование камеры.
 
Камеру надо привязать к объекту при помощи EntityParent, тогда она будет повторять его движения.

Arik 18.08.2013 13:17

Ответ: Следование камеры.
 
Цитата:

Сообщение от ABTOMAT (Сообщение 265455)
Камеру надо привязать к объекту при помощи EntityParent, тогда она будет повторять его движения.

В том то и дело, что камера будет повторять ВСЕ его движения. А мне это не надо! Если обьект повернет на право, то и камера тоже, а это НЕ надо. Надо, что бы камера НЕ поворачивалась вообще, а только следовала. Посмотрите ролик внимательно как реализована камера.

tirarex 18.08.2013 13:46

Ответ: Следование камеры.
 
entityx ,y,z
positionentity

ant0N 18.08.2013 15:29

Ответ: Следование камеры.
 
Ну попробуй так
В главном цикле:
PositionEntity cam, EntityX(player), EntityY(player), EntityZ(player)

Arik 18.08.2013 16:04

Ответ: Следование камеры.
 
Цитата:

Сообщение от ant0N (Сообщение 265480)
Ну попробуй так
В главном цикле:
PositionEntity cam, EntityX(player), EntityY(player), EntityZ(player)

О, да! Спасибо тебе дружище )))
Только я немного поправил, ибо камера делал все правильно, но была в начальной точке координат плеера )
вот так в итоге получилось:

;камера
cam=CreateCamera()
TurnEntity cam,35,35,0

в главном:
PositionEntity cam, 35+EntityX(player),70,-50+EntityZ(player)

Спасибо всем за помощь )

ant0N 18.08.2013 16:39

Ответ: Следование камеры.
 
Делай тогда так:
PositionEntity cam, 35+EntityX(player),EntityY(player)+70,50+EntityZ(player)
Иначе, если игрок пойдет в гору, то камера вверх не пойдет :-)

Arik 18.08.2013 17:35

Ответ: Следование камеры.
 
Ага, точно ) спс )

Жека 20.08.2013 07:27

Ответ: Следование камеры.
 
А потом (в зависимости от нужд и прокачки по части кодинга) можно сделать как в примере Castle - следящая камера без жёсткой привязки.

Colossus 01.10.2013 19:43

Ответ: Следование камеры.
 
Цитата:

следящая камера без жёсткой привязки.
Ну типа как во всяких гоночках ))):rolleyes:


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

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