Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js-闪烁纹理_Javascript_Three.js_Webgl_Blender - Fatal编程技术网

Javascript Three.js-闪烁纹理

Javascript Three.js-闪烁纹理,javascript,three.js,webgl,blender,Javascript,Three.js,Webgl,Blender,我正在尝试加载从blender导出的JSON文件。 文件中有两个网格和两种材质。 这是我用来加载JSON的代码 var self = this; var mushroomLoader = new THREE.JSONLoader(); mushroomLoader.load('/js/Mushroom.js', function(mushroomGeometry, mushroomMaterial) { var shrooms = new THREE.Object3D();

我正在尝试加载从blender导出的JSON文件。 文件中有两个网格和两种材质。 这是我用来加载JSON的代码

var self = this;
var mushroomLoader = new THREE.JSONLoader();
    mushroomLoader.load('/js/Mushroom.js', function(mushroomGeometry, mushroomMaterial) {
    var shrooms = new THREE.Object3D();
    var mushroomCount = 10;
    var radius = 30;
        for(var i = 0; i < mushroomCount; i++) {
        var m = new THREE.Object3D();
    m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[0]));
    m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[1]));
        m.position.x = radius * Math.cos(Math.PI * 2 * i / mushroomCount);
        m.position.z = radius * Math.sin(Math.PI * 2 * i / mushroomCount);
    shrooms.add(m);
    }
    self.scene.add(shrooms);
}, 'images/textures');
var self=this;
var mushroomLoader=new THREE.JSONLoader();
加载('/js/蘑菇.js',函数(蘑菇几何体,蘑菇材料){
var shrooms=new THREE.Object3D();
var mushroomCount=10;
var半径=30;
对于(var i=0;i

蘑菇被分成两个网格,顶部和树干。我正在使用MeshPhongMaterial。正在闪烁/消失的纹理位于顶部。奇怪的是其中一些显示正确。

你是对的@WestLangley! 我改变了我的代码

var m = new THREE.Object3D();
m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[0]));
m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[1]));


我不再有问题了。回想起来,这似乎很简单。我觉得THREE.SceneUtils.CreateMultialObject对两个网格使用相同的几何体很奇怪。

你说得对@WestLangley! 我改变了我的代码

var m = new THREE.Object3D();
m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[0]));
m.add(new THREE.Mesh(mushroomGeometry, mushroomMaterial[1]));


我不再有问题了。回想起来,这似乎很简单。我认为THREE.SceneUtils.createMultiMaterialObject对两个网格使用相同的几何体很奇怪。

您似乎在向每个对象添加两个具有相同几何体的子网格,并且子网格都位于同一位置。如果是这样的话,这将导致z格斗和闪烁。您似乎正在向每个对象添加两个具有相同几何体的子网格,并且子网格都位于同一位置。如果是这样的话,这将导致z-战斗和闪烁。