2013-02-26 13 views
7

Ich versuche, einen bestimmten Typ von 3D-Objekt in three.js zu erstellen. Ich möchte zum Beispiel einen Würfel im Drahtmodellmodus (also nur Kanten gezeigt). Aber ich möchte, dass die Kanten, die dahinter liegen, gestrichelt sind. Illustration: illustrationthree.js Drahtgitter nur mit verdeckten Kanten als gestrichelte Linien

Ich weiß nicht, ob das mit three.js machbar ist oder ob ich direkt mit webgl versuchen sollte. Sollte ich THREE.Mesh in Drahtmodell oder THREE.Line mit LineDashedMaterial oder vielleicht beide übereinander verwenden?

Antwort

4

Ich habe es geschafft. Sie müssen drei Objekte erstellen.

1. Objekt: das feste 3D-Objekt (ich meine die Gesichter nicht die Ränder)

2. Objekt: alle Kanten aber gestrichelte

3. Objekt: alle Kanten aber normal (nicht gestrichelt)

Für das 1. Objekt legen Sie das Material mit color: false, side: THREE.DoubleSide, depthTest: true fest.

Zweites Objektmaterial: color: (whatever you like), depthTest: false.

Drittes Objektmaterial: color: (whatever you like), depthTest: true.

Ich habe auch alle Materialien mit polygonOffset: true, polygonOffsetFactor: 1, polygonOffsetUnits: 1 loswerden z Bekämpfung zu erhalten.

4

Das ist eine wirklich coole Idee. Ich habe Ihre Antwort implementiert, wie oben beschrieben bei:

http://stemkoski.github.com/Three.js/Dashed-3D.html

falls jemand will es in Aktion sehen.

+0

das scheint nicht mehr zu funktionieren. Wenn ich richtig verstehe, sollten die „sichtbar“ Kanten die Einzigen sein, angezeigt (als durchgezogene Linien) und die Kanten, die, wenn die Würfel des Materials angezeigt sollte als gestrichelte Linien angezeigt wurden abgedeckt würden. Ist das korrekt? In Ihrem Beispiel sehe ich einen durchgezogenen Würfel mit gestrichelten und durchgezogenen Linien; Allerdings kann ich nur die Vorderseiten sehen, weil die Flächen fest sind. Hat sich etwas mit three.js geändert? Oder rendert das wie vorgesehen? Angesichts der OP-Frage gehe ich davon aus, dass dieses Beispiel nicht mehr funktioniert. – dylnmc

+0

Auch nach ein paar Ihrer Demos der Suche durch, ich habe auch bemerkt, dass die Unterteilung Oberflächenmodifizierungs Beispiel ist ... seltsam. Von dem Screenshots, nehme ich an, dass diese zu einer Zeit gearbeitet. Es könnte etwas mit three.js sein, die changed? – dylnmc

Verwandte Themen