|
3D-программирование Вопросы, касающиеся программирования 3D мира |
26.05.2009, 14:40
|
#1
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Залоченная камера
Сделал плавную камеру следующую за юнитом. При нажатии на кнопочку cam_lock происходит вот это :
Function CamLock(target)
camdyaw#=DeltaYaw#(campv,target)
camdpitch#=DeltaPitch#(mainCam,target)
TurnEntity campv,0,camdyaw#/10,0
TurnEntity mainCam,camdpitch/10,0,0
camdis#=Sqr(Pow(EntityX(campv)-EntityX(unit01\pivot))+Pow(EntityZ(campv)-EntityZ(unit01\pivot)))
If camdis>80 Then
MoveEntity campv,0,0,1
Else If camdis<30 Then
MoveEntity campv,0,0,-1
Else If camdis>75 And camdis<=80 Then
MoveEntity campv,0,0,.1
EndIf
End Function
Собственно проблема в том что если я перемещаю только камеру - всё идеально и плавно. А если перемещать сам юнит за которым должна следовать камера - камера перемещается заметными рывками.
Чего не хотелось бы.
|
(Offline)
|
|
26.05.2009, 15:02
|
#2
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Залоченная камера
Хм, вроде сделал, изменил строчку
If camdis>80 Then
MoveEntity campv,0,0,1
на
If camdis>80 Then
MoveEntity campv,0,0,camdis/300
|
(Offline)
|
|
26.05.2009, 15:05
|
#3
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: Залоченная камера
У тебя вид от 3-его лица?
|
(Offline)
|
|
26.05.2009, 15:25
|
#4
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Залоченная камера
Ага. Делаю TBS.
|
(Offline)
|
|
26.05.2009, 16:40
|
#5
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: Залоченная камера
помоему проще было- бы
а вместо лабудистики с корнем и дельтой углов
поставить пивот позади юнита
camera =createcamera()
User=createUser()
pivot=createpivot(User )
positionentity pivot ,0,3,-5
потом
camspeed= (скорость камеры скажем 10)
curX#=EntityX(Camera, True
destX#=EntityX(pivot,True)
x#=((destX#-curX#)/camspeed)
TranslateEntity Camera,x,y,z
PointEntity Camera, User
соответственно y и z сдать также и будет тебе счастье
|
(Offline)
|
|
26.05.2009, 17:09
|
#6
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Залоченная камера
Проще, но не отвечает поставленным задачам. Говорю же, TBS, а не TPS.
Кроме того, у тебя получается длина вектора, а эта лабудистика с корнем находит длину проекции вектора на плоскость, чтобы допустим, можно было смотреть на юнит сверху с достаточного расстояния.
А дельта нужна потому, что я не могу сделать Pointentity, собьются оси камеры. С дельтой я могу поднимать камеру вертикально вверх не теряя юнит из вида.
|
(Offline)
|
|
26.05.2009, 17:19
|
#7
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Залоченная камера
я не могу сделать Pointentity, собьются оси камеры.
|
Но ведь всегда можно сдвигать и поворачивать объект в глобальных осях. Впрочем, делай так, как самому удобнее.
|
(Offline)
|
|
26.05.2009, 17:22
|
#8
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: Залоченная камера
Сори, но походу я не совсем понял тебя.
|
(Offline)
|
|
26.05.2009, 17:34
|
#9
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Залоченная камера
Но ведь всегда можно сдвигать и поворачивать объект в глобальных осях.
|
А она и поворачивается в глобальных. И сдвигается тоже, но только по Y. Наверное можно сделать локальный стрейф камеры в глобальных координатах, но подозреваю что это будет намного больший геморрой.
А так имею полный контроль над камерой всего в 10 клавиш. Повороты влево-вправо, вверх-вниз с сохранением ориентации движения, стрейф, горизонтальное и вертикальное движение.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Web камера |
Randomize |
Модули для BlitzMax |
0 |
25.09.2009 13:17 |
Камера... |
ken park |
3D-программирование |
85 |
04.07.2009 01:30 |
Камера |
Fatalix3d |
3D-программирование |
2 |
28.12.2008 15:17 |
Камера и Mesh |
JeSss |
3D-программирование |
15 |
29.01.2008 21:00 |
Камера |
smaller |
3D-программирование |
14 |
05.04.2007 23:58 |
Часовой пояс GMT +4, время: 07:09.
|