Пятница, 22.11.2024, 19:03Привет Гость
ArmA-2 Моды, миссии, кампании, аддоны, скрипты, редактор

Главная | Файлы | FAQ | Платформа | О сайте | Контакты | Зарегистрироваться | Войти
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
Как сделать, чтобы камера сопровождала движущийся объект
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] wink

Сегодня, 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, вроде так, а в чём тогда проблема была smile

Сегодня, 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 - завершиться зацикливание, активируешь оба скрипта одновременно.




Хотите больше новостей? Подписывайтесь на мою рассылку
 
  • Страница 1 из 1
  • 1
Поиск:





Copyright web-pioneer.at.ua © 2011 | Используются технологии uCoz
Админ: PIONEER | web-pioneer@yandex.ru | Любое или частичное копирования материала с веб-сайта web-pioneer.at.ua запрещено! А то прокляну.