Ich möchte prozedural generierte Landscape Meshes mit einem flachen schattierten Aussehen in Unity3D erstellen.Muss ich geteilte Scheitelpunkte in Mesh in Unity verwenden?
Ich dachte, es wäre das beste zu schaffen drei eindeutige Vertices pro Dreieck und verwenden Sie eine für die Scheitelpunkte berechnet normal. Der Aufbau dieses Netzes würde zu redundanten Vertex-Positionsinformationen führen. (Würde es einen Einfluss auf die Renderzeit haben?)
Wie auch immer ... das Problem ist, dass ich Shading-Techniken, z. Umgebungsokklusion auf diesem Mesh. Ich möchte die Mesh-Topologie, die Unity3D für ihre Shader erwartet, nicht durcheinander bringen.
Ist es besser, das Netz mit geteilten Scheitelpunkten zu erstellen, fügen Sie vielleicht ein benutzerdefiniertes Scheitelpunktattribut hinzu, z. 'flat_normal' und die Shader anpassen, um dies zu verwenden?
Ich denke, dass in der überwiegenden Mehrheit der Situationen GPU mehr Rechenleistung zur Verfügung hat als CPU. Der einzige Weg, das herauszufinden, ist, beide Szenarien zu testen, denke ich. Ich würde gerne die Profiler-Statistiken zu diesem Thema sehen. –
"redundante Vertex-Positionsinformationen"? Das gibt es nicht. Es gibt überhaupt keinen Grund dafür, dass Sie Eckpunkte in einem Netz teilen müssen. – Fattie
rein FWIW, (1) es ist üblich, ein Netz als Landschaft zu erstellen (oft völlig unnötig, aber keine große Sache). (2) Sie wollen einen "flachen, cartoony" Look. überhaupt kein problem, klicken sie einfach durch die vielen flach-cartoony shader verfügbar (es gibt eine große auswahl da draußen), um einen anschein zu bekommen, die sie mögen. Es ist erwähnenswert, dass (3) Unity ein "Terrain" -System beinhaltet, das heutzutage ziemlich gut ist. Sie können das einfach trivial verwenden und der ganze Job ist erledigt. (Wählen Sie erneut den gewünschten Shader-Look.) – Fattie