Перемещение по локациям
|
|
Tikki | Дата: Суббота, 02 Февраля 2019, 09:18 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Делаю простенький квест. Экраны статичные, то есть камеры расположены в определенных местах и не следят за игроком. В рамках одного террейна получается несколько локаций, переход от локации к локации решил следующим образом: public Camera Cam1; public Camera Cam2; public GameObject next; void OnTriggerEnter(Collider col){ if (col.gameObject.tag == "hero") { col.gameObject.transform.position = next.transform.position; Cam1.GetComponent<Camera> ().fieldOfView = Cam2.GetComponent<Camera> ().fieldOfView; Cam1.transform.position = Cam2.transform.position; Cam1.transform.rotation = Cam2.transform.rotation;
Сам код немного сложнее но вот основа такова...Думаю не изобретаю ли я велосипеды часом?
|
|
| |
drcrack | Дата: Суббота, 02 Февраля 2019, 09:31 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Да вроде ниче ужасного Только зачем вообще хранить Cam1 если можно просто Camera.main
|
|
| |
Tikki | Дата: Суббота, 02 Февраля 2019, 10:33 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| drcrack, ну да правда что..Раз активная камера все равно по сути одна то смысла в cam1 нет получается) Я пробовал переключение камер но это приводит к тому что изображение замирает на пару секунд при Camera1.enabled= false и Camera2.enabled = true, в итоге просто настроил все камеры под локацию и отключил, просто при смене сцены беру параметры для основной камеры с них. Значит можно оставить такую систему переходов с локации на локацию? Раз ничего ужасного в целом нет
|
|
| |
Irbis | Дата: Суббота, 02 Февраля 2019, 11:09 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Если вы от камер берете только fov, то может не имеет смысла использовать прямо настоящие камеры? Они хоть и отключены, но тащат за собой кучу всего. Можно даже просто в данных все что надо записать, при условии, конечно, что изменения вносятся редко. Или скрипт для редактора запилить, но это уже от масштабов проекта зависит, есть ли смысл тратить на это силы) P.S.
Код Cam2.GetComponent<Camera> ().fieldOfView получение компонента излишне, это же и так камера
Сообщение отредактировал Irbis - Суббота, 02 Февраля 2019, 11:21 |
|
| |
Tikki | Дата: Суббота, 02 Февраля 2019, 11:31 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Нет проект не масштабный:) Думаю ни к чем морочиться со скриптом, раз квест все же не особо сложен. Ну да логично что отключенная камера тащит за собой все равно порядочно..как то не подумал об этом. Может допилить полностью сцену со всеми локациями в ней используя отключенные камеры, потом просто снять все координаты с них и прописать скриптом а сами камеры убрать действительно Добавлено (02 Февраля 2019, 11:34) --------------------------------------------- Irbis "Cam2.GetComponent<Camera> ().fieldOfView
получение компонента излишне, это же и так камера :)"
Ну да, чего то затупил
|
|
| |
drcrack | Дата: Суббота, 02 Февраля 2019, 11:35 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| камеры будут использоваться в любом случае чтобы было превью и можно было настроить позицию/направление/фов/может что еще потом
Цитата Они хоть и отключены, но тащат за собой кучу всего.
Цитата Ну да логично что отключенная камера тащит за собой все равно порядочно..как то не подумал об этом. вот у меня как раз открыто https://www.reddit.com/r....00_mesh удалил город, выключил лишнее, заспаунил 40000 отключенных камер вместо домов тем же скриптом фпс такой же как на пустой карте, удалил камеры — опять же, ниче не изменилось
PS правда когда я их все выделил юнити завис, но тсу это скорее всего не грозит при разумном количестве
Сообщение отредактировал drcrack - Суббота, 02 Февраля 2019, 11:37 |
|
| |
Tikki | Дата: Суббота, 02 Февраля 2019, 11:43 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Ну у меня 40000 камер точно не планируется 6-8 на сцену в среднем
|
|
| |
Irbis | Дата: Суббота, 02 Февраля 2019, 11:44 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| drcrack, я про оперативку) Матрицы, ректы и т.п., которые хранятся в данных камеры. С одной стороны, это конечно экономия на спичках) Но мне бы начальство за это яйца к ушам пришило. У нас даже, если поле класса в методе используешь несколько раз не закешировав его в локальную переменную этого метода - обязательно на ревью мозг вынесут) привычка А про то что все равно будут нужны - это да, я поэтому скрипт для редактора и предложил.
|
|
| |
drcrack | Дата: Суббота, 02 Февраля 2019, 11:52 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Цитата С одной стороны, это конечно экономия на спичках) это даже круче чем экономия на спичках, это скорее сокращение слов на этикетке спичечного коробка чтобы сэкономить на краске
как фирма называется?) я запишу в свой блокнотик со списком мест где работать не стоит
Цитата У нас даже, если поле класса в методе используешь несколько раз не закешировав его в локальную переменную этого метода - обязательно на ревью мозг вынесут) ревьюеру не приходило в голову что в случаях когда это выгодно, это будет сделано компилятором? или он считает себя умнее?
Сообщение отредактировал drcrack - Суббота, 02 Февраля 2019, 11:58 |
|
| |
Irbis | Дата: Суббота, 02 Февраля 2019, 11:57 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Отписал)
|
|
| |
Tikki | Дата: Суббота, 02 Февраля 2019, 12:05 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Эм..Раз уж скрипт менеджер камер так часто упоминается, то при его написании в какую сторону рыть тогда? Может тогда действительно написать проще)
|
|
| |
drcrack | Дата: Суббота, 02 Февраля 2019, 12:08 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| лучше работай над тем, что реально улучшит игру "менеджер камер" не изменит в ней вообще ничего, просто потеря времени в твоем случае
Цитата так часто упоминается 1 раз?
Сообщение отредактировал drcrack - Суббота, 02 Февраля 2019, 12:09 |
|
| |
Irbis | Дата: Суббота, 02 Февраля 2019, 12:09 | Сообщение # 13 |
почетный гость
Сейчас нет на сайте
| Tikki, да забей, вон drcrack же провел тесты, если даже 40к камер не на что не влияют, то десяток и тем более погоды не сделает)
|
|
| |
Tikki | Дата: Суббота, 02 Февраля 2019, 12:30 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| Не один раз а 2 раза упомянулся Irbis и drcrack. спасибо за дельные советы:) Вобщем не заморачиваюсь тогда больше с камерами и оставлю как есть)
|
|
| |
Otinagi | Дата: Вторник, 05 Февраля 2019, 09:24 | Сообщение # 15 |
постоянный участник
Сейчас нет на сайте
| Я делаю нечто похожее на СХ1-3 для мобильных платформ, то есть там тоже много комнат, но камеры следят за игроком. Отключенные камеры никак не влияют на ФПС, с этим я не заморачывался. Зато потратил время на манагер комнат, и методы их моделирования и текстурирования. То есть я отключал видимость комнат, в которых не нахожусь; скрипты очень локальные делал, особенно для интерактивного интерфейса; старался создавать одну модель комнаты с одной текстурой. Вот это всё сильно влияло на ФПС.
«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.» Иммануил Кант
Сообщение отредактировал Otinagi - Вторник, 05 Февраля 2019, 09:25 |
|
| |
Tikki | Дата: Воскресенье, 10 Февраля 2019, 21:36 | Сообщение # 16 |
был не раз
Сейчас нет на сайте
| Цитата Otinagi ( ) То есть я отключал видимость комнат, в которых не нахожусь; А каким способом отключал видимость?
|
|
| |
drcrack | Дата: Понедельник, 11 Февраля 2019, 05:29 | Сообщение # 17 |
старожил
Сейчас нет на сайте
| Я полагаю gameObject.SetActive(false)
|
|
| |
Tikki | Дата: Понедельник, 11 Февраля 2019, 08:42 | Сообщение # 18 |
был не раз
Сейчас нет на сайте
| drcrack, я просто решил уточнить) Кстати решил все же писать менеджер скрипт для всех моих камер, думаю будет удобнее
|
|
| |
drcrack | Дата: Понедельник, 11 Февраля 2019, 09:32 | Сообщение # 19 |
старожил
Сейчас нет на сайте
| Я так и не понял что конкретно он будет делать
|
|
| |
Tikki | Дата: Понедельник, 11 Февраля 2019, 14:42 | Сообщение # 20 |
был не раз
Сейчас нет на сайте
| Я тоже пока не могу понять..
|
|
| |