Страница 1 из 1

Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 10 июл 2020, 20:53
Sandirk
Здравствуйте, пробовал сделать зеркало и столкнулся с проблемой.

У зеркала нет собственной камеры. Единственная камера на сцене - камера игрока. Часто выходит так, что объект невидимый игроком должен быть виден в отражении, но его нет. Сам движок скрывает те объекты, которые находятся вне зоны видимости камеры (это сделано для оптимизации).

ВОПРОС: Можно ли отключить некоторым объектам функцию "скрытия", когда на них не смотрит камера?

Заранее спасибо.

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 10 июл 2020, 20:58
Xtir
Не знаю, поможет или нет, попробуй покрутить Additional Settings в настройках Mesh Renderer.

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 11 июл 2020, 01:03
Tolking
как можно сделать зеркало с одной камерой?

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 11 июл 2020, 11:18
Sandirk
Tolking писал(а):как можно сделать зеркало с одной камерой?


Это конечно не особо относится к моему вопросу, но уж расскажу. Это довольно халтурное зеркало, я просто взял воду из Standard Assets, префаб которой представляет собой окружность (Кто знает о чём я, тот поймёт) и перенёс её материал и скрипт на прямоугольную модельку (в моём случае обычный plane) и повернул на 90 градусов. С материала убрал нормаль карту, имитирующую волны, и пару других карт. И такая поверхность работает как зеркало.

Тем ни менее камера на сцене всё ещё одна (хотя возможно скрипт с объекта с водой при запуске создаёт вторую камеру, но я этого не замечаю) и объекты находящиеся вне поля видимости, но по идее видимые в зеркале пропадают.

Если вы знаете, где можно найти скрипт или гайд про нормальное зеркало со своей собственной камерой, которая движется синхронно с игроком, можете поделиться. Буду благодарен.

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 11 июл 2020, 11:33
Sandirk
Tolking писал(а):как можно сделать зеркало с одной камерой?


Выглядит весьма неплохо.

Изображение
Изображение

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 11 июл 2020, 16:31
Tolking
Это очень относится к вопросу. Если мы не знаем как сделать зеркало без использования еще одной камеры, то как мы можем что-то сказать по этой теме?
Почитай про то, как делается отражение на воде, что такое кубемап и как все это работает...

Думаю в твоем случае создается не одна камера, а 5 или даже 6...

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 11 июл 2020, 22:23
Sandirk
Tolking писал(а):Это очень относится к вопросу. Если мы не знаем как сделать зеркало без использования еще одной камеры, то как мы можем что-то сказать по этой теме?
Почитай про то, как делается отражение на воде, что такое кубемап и как все это работает...

Думаю в твоем случае создается не одна камера, а 5 или даже 6...


Напомню, что вопрос был про отключение объектов вне зоны видимости, а не про реализацию зеркала, которое в данном случае выступает лишь как пример и видимое доказательство исчезновения объектов

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 12 июл 2020, 01:22
1max1

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 12 июл 2020, 08:46
jetyb
Как смутно помню, скрипт воды и использует свою отраженную камеру, и у камеры есть что-то вроде смещения - расстояние между ближней плоскостью отсечения камеры и плоскостью воды. Если поизменять его..

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 12 июл 2020, 16:06
Sandirk
jetyb писал(а):Как смутно помню, скрипт воды и использует свою отраженную камеру, и у камеры есть что-то вроде смещения - расстояние между ближней плоскостью отсечения камеры и плоскостью воды. Если поизменять его..


Правильно помните, этот параметр двигает само отражение таким образом, будто мы перемещаем само зеркало, но он не влияет на отрисовку объектов

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 12 июл 2020, 16:24
Sandirk
1max1 писал(а):Ковыряй https://docs.unity3d.com/ScriptReferenc ... atrix.html


Ни могли бы вы чуть подробнее рассказать про это решение проблемы? Сколько бы я не "ковырялся", избавиться от проблемы не вышло.

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 12 июл 2020, 20:49
jetyb
О посмотрел. У меня эта хрен зовется clipPlaneOffset.

Re: Отключить скрытие объектов вне поля видимости

СообщениеДобавлено: 13 июл 2020, 17:28
seaman
Вообще не ковырялся. Но ранее во всех движках фрустум куллинг был реализован внутри движка, и отменить его было не возможно.
Если что-то и можно сделать, то только вот с тем, что указал 1max1. Может Юнитеки и сделали что-то, хотя мне не верится.