|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.05.2009, 19:15
|
#1
|
ПроЭктировщик
Регистрация: 14.05.2009
Сообщений: 101
Написано 31 полезных сообщений (для 67 пользователей)
|
Вид от третьего лица и камера
Вот у меня есть моя наработка. Мне нужно чтобы камера поворачивалась туда куда игрок, когда игрок движется вперед. А когда игрок стоит камера могла вертется вокруг него, смотреть вверх и вниз с ограниченным углом. Я начинающий поэтому для меня немного сложновато. Заранее спасибо за ответ!! Супер сайт и форум. Помогите пожалуйста...
Code
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
Global Quit=False
Global Player
Global Cube
Global Cam
Global user_pivot=CreatePivot()
Global Rot_camera=0
Cube=CreateCube()
PositionEntity Cube,0,5,0
Player=CreateCube()
Cam=CreateCamera()
PositionEntity cam,0,5,-10 ;
lit=CreateLight()
Repeat
If KeyDown(200)=1 Then
TurnEntity Player,0,-MouseXSpeed(),0,0 ; Как сделать чтобы эти две функции работали вместе, куда смотрит камера туда игрок?
TurnEntity User_Pivot,0,MouseXSpeed(),0,0
MoveEntity player,0,0,.1
EndIf
If KeyDown(20 MoveEntity player,0,0,-.1
If KeyDown(203) MoveEntity player,-.1,0,0
If KeyDown(205) MoveEntity player,.1,0,0
TurnEntity user_pivot,0,-MouseXSpeed(),0,0 ; Как сделать чтобы камера смотрела вверх и вниз с ограниченным углом
MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
PositionEntity user_pivot,EntityX(Player),EntityY(Player),EntityZ (Player)
EntityParent cam,user_pivot
UpdateWorld
RenderWorld
If KeyHit(1)=1 Then Quit = True
Flip
Until Quit
End
|
(Offline)
|
|
23.05.2009, 19:43
|
#2
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Вид от третьего лица и камера
Как сделать чтобы эти две функции работали вместе, куда смотрит камера туда игрок?
|
Создаешь второй пивот, ставишь чуть впереди игрока и парентишь к игроку, а потом
If KeyDown(200)
MoveEntity Player
PointEntity camera,pivot2
Как сделать чтобы камера смотрела вверх и вниз с ограниченным углом
|
Привязываешь камеру к пивоту, пивот вращает камеру влево-вправо, а сама камера вращается вверх-вниз.
Создаешь переменную, например campitch :
campitch=EntityPitch(camera)
If campitch>=80
campitch=80
RotateEntity camera,campitch,0,0
Последний раз редактировалось karry, 23.05.2009 в 22:54.
|
(Offline)
|
|
24.05.2009, 11:25
|
#3
|
ПроЭктировщик
Регистрация: 14.05.2009
Сообщений: 101
Написано 31 полезных сообщений (для 67 пользователей)
|
Ответ: Вид от третьего лица и камера
Спасибо, но у меня что то не получается!(( Немог бы ты на основе моего кода вставить это) Заранее спасибо!
|
(Offline)
|
|
25.05.2009, 14:40
|
#4
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: Вид от третьего лица и камера
куда смотрит камера туда игрок
|
PointEntity Camera, Player
камера смотрела вверх и вниз с ограниченным углом
|
angle#=70
mys = MouseYSpeed() * 1
If EntityPitch(camera) + mys < -angle#
xang = -angle#
ElseIf EntityPitch(camera) + mys > angle#
xang = angle#
Else
xang = EntityPitch(camera) + mys
EndIf
RotateEntity camera, xang, 0, 0
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:38.
|