Как сделать, чтобы камера сопровождала движущийся объект
| |
PIONEER | Дата: Воскресенье, 15.11.2009, 19:01 | Сообщение # 1 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| Нужно нужно использовать скрипт "followcam.sqs": _obj = _this select 0 ; имя объекта _x = _this select 1 ; Вспомогательные константы для определения смещения камеры от объекта по 3 координатным оcям _y = _this select 2 _z = _this select 3 _cam = "camera" camCreate getPos _obj _cam cameraEffect ["internal","back"] #LOOP ;расчет координат камеры. Можно указать любые другие формулы для вычислений. _cx = (getpos _obj select 0) + _x * sin (getdir _obj) - _y * cos (getdir _obj) _cy = (getpos _obj select 1) + _x * cos (getdir _obj) + _y * sin (getdir _obj) _cz = (getpos _obj select 2)+_z _cam camSetTarget _obj ; помещаем камеру в расчетные координаты _cam camSetPos [_cx, _cy, _cz] _cam camCommit 0 @camCommitted _cam ? camend : goto "END" ;условие проверки выхода из цикла goto "LOOP" #END Вызывай скрипт так [unitname, 4,5,2] exec "followcam.sqs" После этого ставь задержку сколько надо секунд ~10 и завершай скрипт camend=true
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
KraG | Дата: Среда, 25.05.2011, 18:13 | Сообщение # 2 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| Миха,а можешь выложить готовый файлик .sqs Я создал камеры,они норм все работает,затем камера переходит на самолет и останавливается в воздухе а самолет улетает дальше,а по мануалу я не врубил как сделать,чтобы сопровождала. вот мой .sqs,но сразу говорю,я делал его для танков,а в конце самолет. _cam = "camera" camcreate [0,0,0] _cam cameraeffect ["internal", "back"] _cam camsettarget player _cam camsetrelpos [-2,-10,1] _cam camcommit 0 titlecut ["RedFox Studio представляет","BLACK IN",4] ~4 _cam camsetrelpos [2,10,0.5] _cam camcommit 6 ~6 _cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 6 ~6 _cam camsettarget w _cam camsetrelpos [-1,12,2] _cam camcommit 8 ~8 _cam camsettarget object _cam camsetrelpos [-2,13,1] _cam camcommit 5 ~5 _cam camsettarget object1 _cam camsetrelpos [-2,13,1] _cam camcommit 1 ~1 _cam camsetrelpos [0,30,0] _cam camcommit 6 ~6
|
|
| |
PIONEER | Дата: Среда, 25.05.2011, 21:31 | Сообщение # 3 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| Code _cam = "camera" camcreate [0,0,0] _cam cameraeffect ["internal", "back"] _cam camsettarget player _cam camsetrelpos [-2,-10,1] _cam camcommit 0 titlecut ["RedFox Studio представляет","BLACK IN",4] ~4 _cam camsetrelpos [2,10,0.5] _cam camcommit 6 ~6 _cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 6 ~6 _cam camsettarget w _cam camsetrelpos [-1,12,2] _cam camcommit 8 ~8 _cam camsettarget object _cam camsetrelpos [-2,13,1] _cam camcommit 5 ~5 _cam camsettarget object1 _cam camsetrelpos [-2,13,1] _cam camcommit 1 ~1 _cam camsetrelpos [0,30,0] _cam camcommit 6 ~6
В твоём коде даже и упоминания нет о зацикливании камеры, вот шаблон:
.... #kam1 координаты относительно объекта ?(time > 10): goto "kam2" goto "kam1"
#kam2 координаты относительно объекта2 ?(time > 13): goto "end" goto "kam2"
goto "end" exit
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
KraG | Дата: Среда, 25.05.2011, 21:39 | Сообщение # 4 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| PIONEER, я знаю,я же тебе сказал,что там нету зацикливания,просто хотел узнать,можно ли после всех этих кодов вставить твой,он ведь тогда будет зацикливаться? ------------------------------------------------------- а как эти координаты вычислить-то?Да и вообще я не совсем понял как пользоваться этим кодом.
Сообщение отредактировал KraG - Среда, 25.05.2011, 21:41
|
|
| |
PIONEER | Дата: Среда, 25.05.2011, 22:14 | Сообщение # 5 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| в твой можно без проблем
_cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 6
вот это и есть координаты для зацикливания
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
KraG | Дата: Четверг, 26.05.2011, 08:00 | Сообщение # 6 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| PIONEER, все три строчки,или же только какая-то одна из них?
|
|
| |
PIONEER | Дата: Четверг, 26.05.2011, 08:40 | Сообщение # 7 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| Quote (KraG) а как эти координаты вычислить-то? так же как и ты написал вот это:
_cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 6
_cam camsetrelpos [-1,10,2] - это и есть координаты, первые по 2д третья высота.
для зацикливания нужны три строчки, только на счет _cam camcommit 6 не помню как, вроде тогда будет так:
_cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 6 ~6 #kam2 _cam camsettarget object2 _cam camsetrelpos [-1,10,2] _cam camcommit 0 ?(time > 13): goto "end" goto "kam2"
goto "end" exit
Камера в течение 6 сек подойдет к объекту 2 и зафиксируется возле него на 13 секунд. На счет time не уверен, ибо не помню оно считает от начала активации команды или от начала игры в общем.
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
KraG | Дата: Суббота, 28.05.2011, 16:35 | Сообщение # 8 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| Она привязывается сзади к объекту,а как сделать чтобы она привязалась сбоку?
|
|
| |
Leh2012 | Дата: Воскресенье, 29.05.2011, 14:49 | Сообщение # 9 |
Ефрейтор
Сообщений: 56
Репутация: 3
Статус: Offline
| KraG, изменять эти значения [-1,10,2]
Сегодня, 23.7.11 уезжаю на море!
|
|
| |
KraG | Дата: Понедельник, 30.05.2011, 10:49 | Сообщение # 10 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| Leh2012, 2-это высота,10-это впере-назад,-1-это влево-вправо,вроде так.
|
|
| |
Leh2012 | Дата: Понедельник, 30.05.2011, 16:38 | Сообщение # 11 |
Ефрейтор
Сообщений: 56
Репутация: 3
Статус: Offline
| KraG, вроде так, а в чём тогда проблема была
Сегодня, 23.7.11 уезжаю на море!
|
|
| |
KraG | Дата: Среда, 01.06.2011, 13:30 | Сообщение # 12 |
Рядовой
Сообщений: 25
Репутация: 0
Статус: Offline
| Leh2012, ты прочитай-то,что я написал.
|
|
| |
PIONEER | Дата: Среда, 01.06.2011, 15:14 | Сообщение # 13 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| Quote (KraG) Она привязывается сзади к объекту,а как сделать чтобы она привязалась сбоку? А координаты на что? Их редактируй, как поставишь камеру так она и зафиксируется. Попробуй их по изменять. [широта, долгота, высота] вот методом тыка и подберешь.
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
Ouchik | Дата: Четверг, 18.08.2011, 11:19 | Сообщение # 14 |
Рядовой
Сообщений: 1
Репутация: 0
Статус: Offline
| #kam1 _cam camsettarget red _cam camsetrelpos [6,-13,5] _cam camcommit 0 ?(time > 13): goto "kam2" goto "kam1"
ВОПРОС: Мужики вот тут - ?(time > 13) - оно считает от начала активации игры, а как сделать от начала скрипта. ПОМОГИТЕ.
|
|
| |
PIONEER | Дата: Четверг, 18.08.2011, 11:24 | Сообщение # 15 |
Лейтенант
Сообщений: 589
Репутация: 16
Статус: Offline
| Ouchik, тогда чучуть другая система будет, тут нужно будет 2 скрипта
Первый по типу так:
Code #kam1 _cam camsettarget red _cam camsetrelpos [6,-13,5] _cam camcommit 0 ?(kam1): goto "kam2" goto "kam1"
#kam2 _cam camsettarget red _cam camsetrelpos [3,-2,2] _cam camcommit 0 ?(kam2): goto "kam3" goto "kam2"
Второй
Code kam1=false kam2=false ~10 kam1=true ~10 kam2=true
Используем переменные, когда она true - завершиться зацикливание, активируешь оба скрипта одновременно.
Хотите больше новостей? Подписывайтесь на мою рассылку
|
|
| |
Copyright web-pioneer.at.ua © 2011 | Используются технологии uCoz
Админ: PIONEER | web-pioneer@yandex.ru |
Любое или частичное копирования материала с веб-сайта
web-pioneer.at.ua запрещено! А то прокляну.
|
|