2016-04-13 15 views
0

Ich habe einen prozedural generierten Würfel, der ein Loch (s) hat. Das Skript nimmt ein Gitter (die weißen Quadrate in Bild 1) und erstellt die gezeigten Löcher basierend auf der Position der Quadrate (Bild 2) (mit anderen Worten, die Quadrate sind ziemlich zufällig platziert.) Das Problem, das ich habe ist, dass das Licht auf dem Gitter vollständig durcheinander ist (Bild 3). Derzeit ist das Array von UVs für das Netz ein leeres Vector2-Array. Ich glaube, dass das UV-Array das Problem so, also, wie kann ich die Liste der UVs bekommen, wenn die einzige Information, die ich auf dem Netz bekommen kann, die Liste der Eckpunkte und die Liste der Dreiecke ist? Oder wenn es kein Problem mit den UVs gibt, wie kann ich das beheben? (In Unity C#)Prozedural generierte UVs

enter image description here

Mesh of Cube

enter image description here

Antwort

0

Sofern Beleuchtung in die Textur gebacken wird, ist es wahrscheinlicher, ein Problem mit Normalen. Sie müssen genauer sein, zeigen Sie Ihren Shader-Code oder wie Sie Vertices etc.

+0

Ich bin nicht sicher, was Sie mit "Shader-Code" und die Vertices zu generieren, es ist nur alle x-Werte und y-Werte von jeder Ecke der weißen Quadrate und dann die Kombination von jedem x- und y-Punkt, dann bekomme ich die Dreiecke von dort, indem ich durch jeden Punkt gehe und das Dreieck daraus mache. – Gage

+0

UVs werden verwendet, um eine Textur "Haut" über ein Mesh zu rendern, aber Sie sagen nicht einmal, wenn Sie eine verwenden. Alles, was ich sehe, ist schwarz mit einer Art von Glanzlichtern, die mit einigen Quad-Look-Ecken zusammenfallen. Ich empfehle Ihnen, etwas mehr über das System zu lesen, das Sie zum Zeichnen des Objekts verwenden. Wenn Sie das nächste Mal eine Frage stellen, sollten Sie etwas Code posten oder zumindest angeben, was Sie zum Rendern des Bildes verwenden. – tim

+0

Woops, My bad Ich benutze Unity C#, um das Mesh zu erstellen – Gage