我正在处理的项目的一部分要求我拉入一系列base64图像,然后通过THREE.JSONLoader()拉入导入的模型。如果我将这两种类型的资产分开,它们都会毫无问题地加载。但是,如果我尝试将图像作为材料应用于模型,我会收到错误。
警告:片段着色器无法读取顶点着色器'vWorldPosition'的输出
我意识到在加载几何体时很多时候需要运行geometry.computeTangets(),但这不起作用。我想也许在创建具有几何和材质的网格之前可能需要运行另一个计算。这就是我所拥有的:
var material = new THREE.MeshPhongMaterial({
map: THREE.ImageUtils.loadTexture(data.images[0]),
shininess: 4.0,
});
var loader = new THREE.JSONLoader();
loader.load("app/museum/geometry.json", function (geometry) {
geometry.computeTangents();
mesh = new THREE.Mesh(geometry, material);
mesh.scale.set(100, 100, 100);
mesh.position.y = 150;
mesh.position.x = 0;
scene.add(mesh);
});
我假设还有一个需要调用的附加设置或方法,或者我需要手动设置geometry.json中的属性?