это немного сложно сделать это:
единственный путь:
выключить каждый зеленый небоскреб, когда он находится в положении «назад».
Допустим, что ваш мир просто сосредоточены на 000.
В этом случае, если вы об этом думаете, что это просто ...
Если z>0f
, то вы хотите зеленый небоскреб быть невидимым , Если это z<0f
, вы хотите, чтобы он отображался нормально.
Поскольку это Unity, вы должны работать как агент. Так что на самом деле все просто. Сделать сценарий (псевдокод)
Class HideMeIfAwayFromCamera
{
Update()
{
if (z > 0f) renderer.enabled = true;
else renderer.enabled = false;
}
}
Это, вероятно, ваше самое простое и лучшее решение здесь. в любом случае, я бы попробовал это первым. Давайте послушаем, как это работает для вас.
Учтите, что вы можете сделать точку включения/выключения немного впереди или позади полуострова, попробуйте.
Обратите внимание, что другой подход есть. Вам необходимо использовать вырезной шейдер; полностью использовать другой слой для небоскребов; и использовать еще один слой для любых небоскребов, база которых находится за горизонтом; таким образом, вы можете позволить ему показать «вершины» любых небоскребов, которые «находятся позади» горизонта, но скрывают основания. Однако это кажется слишком сложным. Я думаю, что лучшим результатом будет просто отключить задние, как показано выше.
(обратите внимание на то, что это не «физическое» Если шар прозрачен:... Вы должны быть в состоянии увидеть небоскребы на спине Итак, вы должны были бы попробовать некоторые вещи, чтобы увидеть, что чувствует себя хорошо)
Вы имеете в виду зеленые небоскребы? действительно, вы сможете увидеть те, которые находятся на дальнем конце ... – Fattie
Просто введите указатель для всех, кто приключен к игре. В некоторых случаях вроде этого вам нужно «TransparencySortMode.Orthographic» для решения проблем дня. – Fattie