Mam importowanego modelu OBJ z następującego kodu:Przypisywanie materiałów do modelu OBJLoader w Three.js
var loader = new THREE.OBJLoader();
loader.addEventListener('load', function (geometry) {
object = geometry.content;
scene.add(object);
});
loader.load('ship.obj');
To działa dobrze, ale gdy próbuję dodać materiał do niego, to albo ma brak efektu lub model znika. Zakładam, że mogę to zrobić tak:
var ship = new THREE.Mesh(object, material);
Ale to nie działa. czy ktoś wie, jak to zrobić, czy jest to możliwe? Próbowałem również używać OBJMTLLoader, ale to po prostu dodaje komplikacji, a jednocześnie nie pozwala mi zmienić materiału.
To działało idealnie! Dzięki za pomoc. –
Jak możemy wpływać na model poza rutynowym ładowaniem? Kiedykolwiek próbuję zmienić to z mojej funkcji renderowania, jest ona niezdefiniowana, nawet gdy przypiszę "obiekt" do zmiennej globalnej (tj. "MyMesh"). – Jackalope
@Jackalope Możesz zmodyfikować zmienną "materiał" tak jak chcesz, a obiekt odpowiednio się zmieni. –