Ich möchte eine reflektierende Cube-Oberfläche in einer WebGL-Seite mit Three.js haben. Es sollte einem Handy-Display ähneln, das etwas Licht reflektiert, aber immer noch schwarz sein muss.Wie kann ich Reflexion in three.js verwenden?
7
A
Antwort
22
Ich habe ein Beispiel für einen reflektierenden Würfel (und auch eine reflektierende Kugel) mit detaillierten Kommentaren erstellt. Die Live-Version ist bei
http://stemkoski.github.com/Three.js/Reflection.html
mit schön formatierte Code bei
https://github.com/stemkoski/stemkoski.github.com/blob/master/Three.js/Reflection.html
(Dies ist Teil einer Sammlung von Tutorial-Beispiele bei http://stemkoski.github.com/Three.js/ ist)
Die wichtigsten Punkte sind:
- Fügen Sie Ihrer Szene eine zweite Kamera (eine CubeCamera) hinzu, die an dem Objekt positioniert ist, dessen Oberfläche reflektierend sein soll.
- Erstellen Sie ein Material und legen Sie die Umgebungskarte als Ergebnis des Renderings von dieser zweiten Kamera fest, z.
zum Beispiel:
var mirrorCubeMaterial = new THREE.MeshBasicMaterial(
{ envMap: mirrorCubeCamera.renderTarget });
- in Ihrer Render-Funktion, müssen Sie von allen Kameras machen. Verstecken Sie das reflektierende Objekt vorübergehend (damit es der Kamera, die Sie verwenden wollen, nicht im Weg steht), rendern Sie von dieser Kamera und blenden Sie dann das reflektierende Objekt ein.
zum Beispiel:
mirrorCube.visible = false;
mirrorCubeCamera.updateCubeMap(renderer, scene);
mirrorCube.visible = true;
Diese Code-Schnipsel aus den Links sind ich oben geschrieben; Schau sie dir an!
Verwandte Themen
- 1. Wie kann ich Typen in Java mit Reflexion vergleichen
- 2. Wie kann ich generische Liste nach Reflexion in C#
- 3. Verwenden von three.js JSONLoader
- 4. Wie kann ich JSON von three.js in Maya importieren?
- 5. Wie kann ich Bild in Three.js Textur setzen
- 6. Wie kann ich einem .obj-Modell in Three.js Farbe hinzufügen?
- 7. Wie kann ich meine Polygone in einer Three.js-Szene glätten?
- 8. Wie schiebe ich einen Würfel in Three.js
- 9. Wie lösche ich THREE.JS Szene
- 10. wie three.js
- 11. Wie kann ich mit three.js eine lineare gepfeilte Fläche erstellen?
- 12. Wie implementiert Rust Reflexion?
- 13. Verwenden Reflexion eine Liste von statischen Klassen
- 14. Kann ich Gesichter eines Gitters in three.js ausblenden?
- 15. Reflexion in PLSQL?
- 16. Reflexion in Python
- 17. Three.js wie Audio auszublenden?
- 18. Wie schränke ich OrbitControl ein - Three.js
- 19. Wie gehe ich mit animierten Modellen in Three.js um?
- 20. Wie kann ich sbt.IO verwenden?
- 21. Wie kann ich Regex verwenden?
- 22. Python Reflexion - Kann ich diese den Quellcode einer Methodendefinition
- 23. Wie kann ich R.layout.emergency_dialer verwenden?
- 24. Wie kann ich debugbreak() in C# verwenden?
- 25. Wie kann ich jQuery in Greasemonkey verwenden?
- 26. Wie kann ich Rückkehr in Javascript verwenden
- 27. Wie kann ich Nokogiri in irb verwenden?
- 28. Wie kann ich Latex in Markdown verwenden?
- 29. Wie kann ich rapportive.py in django verwenden
- 30. Wie kann ich Funktionszeiger in Nimrod verwenden?