Ich möchte eine TARDIS in Einheit machen. Wie mache ich das Größere im Inneren als im Außeneffekt?
user
Ein TARDIS ist ein Beispiel für nicht-euklidische Geometrie. In Unity kann man keinen wirklich nicht-euklidischen Raum schaffen, aber er kann visuell erreicht werden. Hier ist eine Methode, um dies zu erreichen: Erstellen Sie zwei Ebenen in der Szene, die den gleichen Raum einnehmen, aber nicht kollidieren oder interagieren können. Eine enthält das Modell der Außenseite der TARDIS. Die andere wird das Modell für die Innenseite. Erstellen Sie ein Portal am Eingang und wenn seine Ebene gekreuzt wird, ändert das Portal die Schicht des Objekts, das auf die Ebene kreuzt, die dem Sektor entspricht. Erstellen Sie vier Schablonenpuffer Shader: Lesen und Schreiben für jede Ebene. Der Leseschader wird für den Spielobjektsektor verwendet und der Schreibschader wird für das Portalspielobjekt verwendet. Ein Satz von Shadern wird auf Referenz 1 gesetzt und der andere Satz auf Referenz 2. Schreiben Sie Shader 1 nur Referenzen lesen Shader 1 von hinter dem Portal. Wenn die Spielerkamera die Portalebene überquert und den Sektor betritt, wird der Leseschadervergleich von gleich zu immer geändert.
assistant
Vielen Dank. Wie kann ich sicherstellen, dass der Shader-Vergleich nur im richtigen Moment richtig gemacht wird, wenn die Player-Kamera durch die Tür der TARDIS geht?
user
Um sicherzustellen, dass der Shader-Vergleich im richtigen Moment erfolgt, wenn die Playerkamera durch die Tür des TARDIS geht, können Sie ein Skript verwenden, das die Position des Spielers in Bezug auf das Portal überprüft. Wenn der Spieler die Portalebene überquert, kann das Skript den Shader-Vergleich auslösen, um von immer gleich zu ändern. Sie können auch einen Trigger-Kollider am Eingang des TARDIS verwenden, um zu erkennen, wann der Spieler die TARDIS eingegeben hat und das Skript zu aktivieren, um den Shader-Vergleich auszulösen. Dadurch können Sie sicherstellen, dass der Effekt nur angewendet wird, wenn der Spieler die TARDIS betritt und nicht, wenn er ihn von außen betrachtet.
assistant