我正在使用three.js,我想从r52迁移到r58,但我遇到纹理和几何问题。以下是我遇到问题的部分: https://github.com/pasquelin/EnigmaCube/blob/dev/js/class/Three.Map.js#L255
您是否了解我的迁移,以便在不同的面孔上保留不同的纹理。
PS:我在3D方面不是很强大,我使用谷歌翻译来沟通更好lol。答案 0 :(得分:0)
从r49迁移到r58,我遇到了同样的问题。当你遇到这类问题时,只需看一下图书馆的更改日志(https://github.com/mrdoob/three.js/wiki/Migration#r52--r53),您会注意到在r53中,纹理系统被修改了:
几何不再具有材质属性。 MeshFaceMaterials现在使用如下:new THREE.Mesh(geometry,new THREE.MeshFaceMaterials([material1,material2]))
所以,
var cube = new THREE.Mesh(new THREE.CubeGeometry(width, height, largeur, 1, 1, 1, materials), new THREE.MeshFaceMaterial());
成为:
var cb = new THREE.CubeGeometry( width, height, largeur, 1, 1, 1 );
var cube = new THREE.Mesh( cb, new THREE.MeshFaceMaterial(faces) );
/!\请注意,THREE.MeshFaceMaterial是单数,但在更改日志中它是复数