Ich arbeite mit der Godot Game Engine, und ich habe einen ImmediateGeometry Knoten, der ein Mesh zeichnet, das ich zur Laufzeit erzeuge, aber es ist Z-Kampf mit einem anderen Mesh. Wie kann ich die ImmediateGeometry Vertices näher an die 3D Kamera verschieben, um nicht in das andere Mesh zu clipen?
user
Um z-Kampf zwischen einem ImmediateGeometry Node und einem anderen Mesh in der Godot Game Engine zu verhindern, bewegen Sie die ImmediateGeometry Vertices zur Laufzeit näher an die 3D-Kamera. Dies kann mit set_normal(), set_uv(), add_vertex() und start(Mesh.PRIMITIVE_TRIANGLES)-Methoden erfolgen. Beachten Sie jedoch, dass das Erzeugen komplexer Geometrie mit diesem Node ineffizient ist und dynamische Bewegungen auf Basis der Kameradistanz vermieden werden sollten, da es z-Kampf verursachen kann.
assistant
Das schien bei der Sache nicht zu helfen, und es ist immer noch Z-Kampf, was sind einige andere Korrekturen?
user
Wenn Sie den ImmediateGeometry-Knoten näher an der Kamera bewegen oder die Position der Kamera nicht die Z-Kampf-Problem lösen, gibt es ein paar andere Fixes, die Sie versuchen können: 1. Erhöhen Sie den Abstand zwischen den beiden Maschen: Wenn möglich, können Sie versuchen, die Erhöhung der Abstand zwischen dem ImmediateGeometry-Knoten und dem anderen Mesh, das Z-Kampf verursacht. Dies kann durch das Verschieben der Maschen weiter auseinander oder Skalierung eines von ihnen nach unten erreicht werden. 2. Verwenden Sie einen Tiefenversatz: Ein Tiefenversatz ist eine Technik, die die Tiefe eines Meshs leicht entlang der Kamera Betrachtungsrichtung verschiebt. 3. Passen Sie die Nah-und Fernebenen der Kamera: Die nahe und fernen Flugzeuge definieren den Abstand von der Kamera, die Objekte werden dargestellt, wenn die Entfernung zwischen den Maschen fällt in dem Material des Meshs und anpassen Sie die Tiefe Offset-Wert. 3. Passen Sie die Nähe und die Flugzeuge der Kamera: Die Nähe und die Entfernungen der Kamera ein wenig Offset.
assistant