Używam wtyczki eksportu mrdoob Blender (io_mesh_threejs) do eksportu do trzech JS, ale wyeksportowane obiekty .js lub .dae nie zawierają żadnych odniesień do tekstury pliki map. Czy istnieje specjalny sposób eksportowania obiektu? Alternatywnie, czy istnieje specjalny sposób, aby zastosować mapę do obiektu w Blenderze 2.65, aby eksporter mógł ją uwzględnić. Wreszcie, jeśli nie ma sposobu, czy mogę ręcznie dodać teksturę do pliku JS?THREE.JS Eksportowanie modeli JSON z miksera (w tym tekstur)
Blender przed wywozem
JSON Przedmiot wywożona (bez odniesienia do tekstury)
{
"metadata" :
{
"formatVersion" : 3.1,
"generatedBy" : "Blender 2.65 Exporter",
"vertices" : 8,
"faces" : 6,
"normals" : 8,
"colors" : 0,
"uvs" : [4],
"materials" : 1,
"morphTargets" : 0,
"bones" : 0
},
"scale" : 1.000000,
"materials" : [ {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "Material",
"blending" : "NormalBlending",
"colorAmbient" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorDiffuse" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorSpecular" : [0.5, 0.5, 0.5],
"depthTest" : true,
"depthWrite" : true,
"shading" : "Lambert",
"specularCoef" : 50,
"transparency" : 1.0,
"transparent" : false,
"vertexColors" : false
}],
"vertices" : [1,-0.988938,-1,1,-0.988938,1,-1,-0.988938,1,-1,-0.988938,-1,1,1.01106,-0.999999,0.999999,1.01106,1,-1,1.01106,1,-1,1.01106,-1],
"morphTargets" : [],
"normals" : [0.577349,-0.577349,-0.577349,0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,-0.577349,0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,0.577349,0.577349,0.577349,0.577349],
"colors" : [],
"uvs" : [[1,-0,1,1,0,1,-0,0]],
"faces" : [43,0,1,2,3,0,0,1,2,3,0,1,2,3,43,4,7,6,5,0,0,1,2,3,4,5,6,7,43,0,4,5,1,0,0,1,2,3,0,4,7,1,43,1,5,6,2,0,0,1,2,3,1,7,6,2,43,2,6,7,3,0,0,1,2,3,2,6,5,3,43,4,0,3,7,0,2,3,0,1,4,0,3,5],
"bones" : [],
"skinIndices" : [],
"skinWeights" : [],
"animation" : {}
}
Kod załadować JSON PRZEDMIOT
var object;
var loader = new THREE.JSONLoader();
loader.load("./quirk_logo.js", function(geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
object = new THREE.Mesh(geometry, materials);
object.scale.set(1, 1, 1);
scene.add(object)
render();
});
następcą stał Tutorial. Nadal nie działa. – Spider
Może to być związane z kodem ładowacza, który porównywałem do mojego i mam to: var modelLoader = new THREE.JSONLoader(). Load ("./quirk_logo.js", funkcja (geometria, materiały) { \t var material = materials [0]; \t var mesh = new THREE.Mesh (geometria, nowe TRZY.MeshFaceMaterial (materiały)); \t \t \t mesh.scale.set (1, 1, 1); \t scene.add (mesh); }); Domyślam się, że nie ustawiasz macierzy materiałów na pierwszy element, więc tworzysz siatkę, ale nie stosujesz materiału, jeśli wykonałeś powyższy samouczek. Jeśli dalej nie zadziała, spróbuję pomóc. – Yazuka