2016-04-18 6 views
1

Ich habe ein Mesh von .obj nach json konvertiert, indem ich den offiziellen Konverter (https://github.com/mrdoob/three.js/tree/master/utils/converters/obj) verwendet habe. Das Netz wird von einer Seite korrekt angezeigt, nicht jedoch von der anderen. Ich glaube, das Problem ist, dass es nur eine Seite hat, im Grunde eine Ebene, und daher alle Gesichter und ihre Normalen in eine Richtung zeigen.Three.js: Unterseite des Gitters kann nicht angezeigt werden

Wie könnte ich das beheben?

Bearbeiten: Ich könnte das Mesh zweimal hinzufügen, und einmal mit material.side = THREE.BackSide;, aber das Laden zweimal scheint nicht die beste Option für mich.

+2

Haben Sie 'material.side = THREE.DoubleSide' versucht? – Brakebein

+0

Autsch, das habe ich nicht und komplett übersehen. Funktioniert perfekt^_^Danke! –

Antwort

1

Bei der Verwendung von WebGLRenderer werden nur die Vorderseiten von Dreiecks-Grundelementen standardmäßig gerendert. Sie können, dass außer Kraft setzen, indem Sie:

material.side = THREE.DoubleSide; // or THREE.BackSide 

Die Vorderseite der um Wicklung bestimmt wird der Eckpunkte.

Wenn die Dreieckscheitel gegen den Uhrzeigersinn (CCW) angegeben sind, wird die Vorderseite zu Ihnen zeigen; Wenn im Uhrzeigersinn (CW) angegeben, wird die Vorderseite von Ihnen abgewandt sein.

Dieses Verhalten kann durch die WebGLRenderer.setFaceCulling() Methode geändert werden, aber es ist nicht wahrscheinlich, dass Sie das finden würden.

three.js r.75

Verwandte Themen