2013-02-06 11 views
5

Próbuję użyć modelu utworzonego za pomocą Blendera z Three.js Model jest bardzo prosty, dwie kostki jedna na drugiej. Jedna kostka jest czerwona, a druga zielona.Materiały w wyeksportowanym modelu Blendera dla Three.js nie działa

Mam eksportowane modelu za pomocą wtyczki Blender eksportera Three.js Kiedy ręcznie przypisać materiał do obiektu jak:

loader.load("model.js", function (geometry, material) { 

    material = new THREE.MeshBasicMaterial({ color: 0xFF0000 }); 

    mesh = new THREE.Mesh(geometry, material); 

    scene.add(mesh); 

    animate(); 

}); 

nie ma problemu, jak pokazano na https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index.html

Jednak kiedy Usuwam linię:

material = new THREE.MeshBasicMaterial({ color: 0xFF0000 }); 

używany jest materiał modelu. Który wywołuje błąd Three.js:

TypeError: program is undefined [Break On This Error]

p_uniforms = program.uniforms,

Można to zobaczyć na własne oczy w https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index2.html

Czy ktoś ma pomysł co może być przyczyną tego problemu? Możesz pobrać plik Blendera pod adresem https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/model.blend

Odpowiedz

9

Łatwo. Materiały to tablica. Trzeba wykonać następujące czynności:

loader.load("model.js", function (geometry, materials) { 

    mesh = new THREE.Mesh(geometry, materials); 

    scene.add(mesh); 

    animate(); 

}); 

Three.js r.88

+1

Dzięki, w moim przykładzie kostki stało się czarne. Najpierw musiałem dodać światła do sceny :) –