|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
Как сделать так чтобы камера игрока переключалась между локациями?21.09.2020, 13:45. Показов 5160. Ответов 17
Метки нет (Все метки)
Допустим есть 2 локации
комната, и коридор. Как сделать так, чтобы при входе в определенную зону, камера игрока резко переключалась в следующую? [ATTACH][ATTACH][/ATTACH][/ATTACH]
0
|
|
| 21.09.2020, 13:45 | |
|
Ответы с готовыми решениями:
17
Как сделать так, чтобы камера была привязана к персонажу, но у каждого игрока отдельная Можно ли сделать так, чтобы после закрытия полноэкранного приложения, автоматом винда переключалась на рабочий стол, а не в главное меню старт? Как сделать так, чтобы меню были взаимосвязаны между собой? |
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
|
| 21.09.2020, 14:25 | |
|
Я правильно понимаю, что камера за игроком не двигается, а должна находиться по центру зоны, в которой находится игрок?
Вариантов полно. Можно просто проверять координаты игрока и если они стали больше определенного значения по x (Player.transfotm.position.x) изменять положение камеры по х на нужное значение. Тут можно поиграться с математикой, примерно так: Камеру ставим в крайнее левое положение (предположим сцена шириной в 10f, то первое положение будет 5f. Соответственно округление до меньшего целого числа позиции игрока деленного на 10f будет, номером области видимости (int i cadr), а позиция камеры будет 5f + 10f*cadr. Можно использовать триггеры расставленные в местах переноса камеры. Ну и прибавлять к позиции камеры нужную величину. Причем можно использовать 2 коллайдера (левый и правый). Сделать 2 скрипта один повесить на объект с левым коллайдером, второй с правым. В первом прибавлять к позиции камеры нужное значение, во втором вычитать. Причем если сделать значение паблик, то можно обойтись и одним скриптом, просто вставлять в инспекторе отрицательные значения. Так же это поможет если камеру надо смещать на разные промежутки. Можно использовать массив Vector2[] в который занести все положения камеры и использовать нужное положение в зависимости от места нахождения игрока или срабатывания триггера. Если же камера у Вас движется за игроком. То для развернутого ответа хотелось бы понять как это реализовано.
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 14:56 [ТС] | |
|
Я использовал триггеры, но прикол в том, что камера не заходит во второй триггер.
Могу скинуть ссылку на видео, я повторял за человеком, но чет все пошло не по плану. Добавлено через 3 минуты Насчет привязки камеры к персонажу. Я добавил 2 CMVCAM и в Follow добавил игрока.
0
|
|
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
|
| 21.09.2020, 14:59 | |
|
Вы мне Ваш код покажите. Или вот та фигня на первом скрине из разряда "Hello world!" и есть Ваш код?
Тогда могу предположить, что в объекте activeFrame должен находится тот кусок сцены, который надо отобразить. Тогда почему он у Вас слева, а не по центру? Или на activeFrame есть еще какой-то скрипт?
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 15:00 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 15:06 [ТС] | |
|
У меня 1 скрипт
В общем, Я добавил камеру 1, привязал к игроку, все работает, она за ним следует. Потом добавил триггеры, чтобы не заходила за локацию. Скопировал ее, тоже самое проделал с коридором. Потом добавил 2 Edge(create empty), добавил им box collider 2d(trigger) и скрипт, который скидывал, ну и сделал чтобы боксы пересекались.
0
|
|
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
||||||
| 21.09.2020, 15:26 | ||||||
|
Короче, у вас есть длинный коридор, где камера1 за вами движется и есть комната, где камера2 стоит по центру и никуда не движется?
Тогда, я думаю, Вам не нужен OnTriggerExit2D. при входе просто:
0
|
||||||
|
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
|
|
| 21.09.2020, 15:38 | |
|
snippet02, начали думать вы правильно. но потом куда то вас увело.
в комнатах где нужно делать переход вы ставите коллайдер (тригер). в нем прописываете что при вхождении меняете позицию ГГ и камеры (начальная позиция камеры для комнаты). для этого в каждой комнате раскидываете точки для начальной позииции камеры и ГГ.
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
||||||
| 21.09.2020, 16:03 [ТС] | ||||||
|
Я правильно написал?
0
|
||||||
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
||
| 21.09.2020, 16:08 | ||
|
Нет. А я Вам ссылку на Метанит не давал разве?
Ну вот как у числа с плавающей точкой может быть какое-то другое значение? 1,7.activeSelf верно или нет?
0
|
||
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 16:13 [ТС] | |
|
А что в скрипте не так?
Добавлено через 20 секунд 2 камеру я отключил
0
|
|
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
||||||
| 21.09.2020, 16:20 | ||||||
|
Единственное, почему я пишу ответ, потому что графика мне у Вас нравится
Но расстраивает, что Вы не хотите потратить 15 минут на прочтение первых страниц справочника по C#.
Вообще это и одной камерой решить можно, но мне писать лень, а Вы пока объяснения не поймете.
0
|
||||||
|
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
|
|
| 21.09.2020, 16:36 | |
|
на скрине я вижу 4 двери.
вы собираетесь 4 камеры вешать?
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 16:46 [ТС] | |
|
0
|
|
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
|
| 21.09.2020, 16:47 | |
|
MuaddibFremen, Зачем 4? Одну прикрепленную к персонажу, 1 статичную, при входе в статичную область основную камеру отключаем, а статичной выставляем координаты этой комнаты и включаем ее.
Единственное, я бы эффект затухания при смене добавил, чтобы резких скачков не было.
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 138
|
|
| 21.09.2020, 16:48 [ТС] | |
|
И кстати, я не могу перемещать main camera
0
|
|
|
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
|
||
| 21.09.2020, 16:57 | ||
|
а если комната будет снова больше камеры ? снова включаем динамичную а отключаем статичную?
0
|
||
|
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
|
|||
| 21.09.2020, 17:08 | |||
|
Можно использовать и основную, но если я буду топикстартеру рассказывать про SetParent(), то эта тема никогда не закончится. Ну и нет у меня желания, разбираться, что он там накрутил в настройках камеры по чужому видео.
0
|
|||
| 21.09.2020, 17:08 | |
|
Помогаю со студенческими работами здесь
18
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|