Chcę mieć powierzchnię odbijającego sześcianu na stronie WebGL z plikiem Three.js. Powinien przypominać wyświetlacz telefonu komórkowego, który odbija światło, ale wciąż musi być czarny.Jak mogę użyć odbicia w pliku three.js?
7
A
Odpowiedz
22
Stworzyłem przykład odbijającej kostki (a także odblaskową kulę) ze szczegółowymi komentarzami. Wersja na żywo jest
http://stemkoski.github.com/Three.js/Reflection.html
z kodem ładnie sformatowany w
https://github.com/stemkoski/stemkoski.github.com/blob/master/Three.js/Reflection.html
(jest to część kolekcji przykładów wychowawczy na http://stemkoski.github.com/Three.js/)
Główne punkty to:
- dodaj do sceny drugi aparat (CubeCamera) umieszczony na obiekcie, którego powierzchnia powinna być odblaskowa.
- utwórz materiał i ustaw mapę środowiska jako wyniki renderowania z tej drugiej kamery, np.
na przykład:
var mirrorCubeMaterial = new THREE.MeshBasicMaterial(
{ envMap: mirrorCubeCamera.renderTarget });
- w funkcji renderowania, trzeba uczynić ze wszystkich kamer. Tymczasowo ukryj obiekt, który odbija (aby nie przeszkadzał ci aparat, którego chcesz użyć), wyrenderuj go z tej kamery, a następnie odkryj obiekt odbijający.
na przykład:
mirrorCube.visible = false;
mirrorCubeCamera.updateCubeMap(renderer, scene);
mirrorCube.visible = true;
te fragmenty kodu są z ogniw napisałem powyżej; Sprawdź je!
Powiązane problemy
- 1. Jak mogę użyć msbuild do pobrania pliku?
- 2. Czy mogę ukryć twarze siatki w pliku three.js?
- 3. Jak mogę dodać elementy do odbicia plastra?
- 4. Jak mogę użyć gulp do zamiany łańcucha w pliku?
- 5. Dlaczego nie mogę użyć pliku scipy.io?
- 6. Jak mogę wielokrotnie użyć bloku?
- 7. Jak mogę użyć sbt.IO?
- 8. Jak załadować tekstury z plików OBJ + MTL w pliku three.js?
- 9. Klikalne cząsteczki w pliku three.js PointCloud
- 10. Jak mogę użyć vima do konwersji mojego pliku na utf8?
- 11. Jak mogę użyć zmiennej wewnątrz pliku CMD Dockerfile?
- 12. Jak mogę użyć tylko jednej biblioteki/pliku boost?
- 13. Jak poprawnie załadować modele json w pliku three.js?
- 14. Jak uzyskać bezwzględną pozycję wierzchołka w pliku three.js?
- 15. Jak mogę użyć tej wtyczki jQuery do usunięcia pliku cookie?
- 16. Materiały błyszczące w THREE.js
- 17. Jak mogę użyć matplotlib.pyplot w kontenerze dokowania?
- 18. Jak mogę uprościć wywołanie metody rozszerzenia Linq za pomocą odbicia?
- 19. Cienie Three.js - jak poprawić?
- 20. Okluzja obiektów rzeczywistych przy użyciu pliku three.js
- 21. Jak mogę użyć selektora "nie"?
- 22. Jak mogę użyć SUM() OVER()
- 23. Jak mogę użyć HTML 5?
- 24. Jak mogę użyć GDB "obejrzyj"?
- 25. Jak animować między dwoma kolorami za pomocą pliku three.js?
- 26. Jak mogę użyć funkcji edit_post w PyTumblr?
- 27. Jak mogę użyć sprawdzania pisowni w Rmarkdown?
- 28. Jak mogę użyć ViewBag w widoku
- 29. Jak mogę użyć BuildMessage w niestandardowej BuildActivity?
- 30. Czy można użyć odbicia z linq do encji?