Übersicht zu GItterkonturen -- MRTK3

Viele Techniken für Gitterkonturen werden mithilfe einer Nachverarbeitungstechnik realisiert. Nachverarbeitung bietet Konturen von hervorragender Qualität, kann aber auf vielen Mixed Reality-Geräten mit unerreichbarem Aufwand verbunden sein.

MeshOutlineSampleScene

MeshOutline.cs und MeshOutlineHierarchy.cs können verwendet werden, um eine Kontur um einen Gitterrenderer zu rendern. Durch das Aktivieren dieser Komponente wird ein weiterer Renderdurchgang des zu konturierenden Objekts eingeführt, er ist aber so konzipiert, dass er auf mobilen Mixed Reality-Geräten optimal ausgeführt wird und keine Postprozesse verwendet.

Hinweis

Zu den Einschränkungen dieses Effekts zählt, dass er nicht gut bei nicht wasserdichten Objekten (oder Objekten, die zweiseitig sein müssen) funktioniert, und bei überlappenden Objekten Probleme mit der Tiefensortierung auftreten können.

Beispiel

Das Beispiel Gitterkonturen bietet eine Demo des Kontursystems.

Materialeinrichtung

Die Konturverhalten werden mit dem Shader Grafiktools/Standard verwendet. Konturmaterialien sind in der Regel eine solide nicht beleuchtete Farbe, können jedoch konfiguriert werden, um eine breite Palette von Effekten zu erreichen. Die Standardkonfiguration eines Konturmaterials sieht wie folgt aus:

Materialinspektor für Gitterkonturen

  1. Depth Write (Tiefenschreiben): sollte für Konturmaterialien deaktiviert werden, um sicherzustellen, dass die Kontur das Rendern anderer Objekte nicht verhindert.
  2. Vertex-Extrusion: muss aktiviert sein, um die Kontur zu rendern.
  3. Use Smooth Normals (Glatte Normale verwenden): Diese Einstellung ist für einige Gittermodelle optional. Die Extrusion erfolgt durch Verschieben eines Vertex entlang eines Vertex-Normals. Bei einigen Gittermodellen führt die Extrusion entlang der Standardnormalen zu Unterbrechungen in der Kontur. Zum Beheben dieser Unterbrechungen können Sie dieses Feld aktivieren, um einen anderen Satz geglätteter Normale zu verwenden, die von MeshSmoother.cs generiert werden.

Gitterglättung

MeshSmoother.cs ist eine Komponente, die verwendet werden kann, um automatisch geglättete Normale auf einem Gitter zu generieren. Diese Methode gruppiert Scheitelpunkte in einem Gitter, die denselben Ort im Raum teilen, und mittelt dann die Normale dieser Scheitelpunkte. Dieser Prozess erstellt eine Kopie des zugrunde liegenden Gitters und sollte nur bei Bedarf verwendet werden.

Vergleich von glatten Normalen

Im Bild oben verwendet Würfel eins Gitterglättung, Würfel zwei hingegen nicht. Beachten Sie die Unterbrechungen an den Ecken des Würfels ohne Gitterglättung.

Tipp

Bestimmte Gitter (wie Kugeln) zeigen diese Unterbrechungen nicht. Daher ist es am besten, Gitter daraufhin zu testen, ob sie Gitterglättung benötigen.

Weitere Informationen