首页 > 解决方案 > glb 没有出现在 three.js 中

问题描述

所以我有一个glb,不管我把它放在哪里,我都不会出现在场景中,也许是代码?(因为我尝试过glb,我知道使用相同的代码并且不出现)这里是相关的代码部分:

var loader2 = new GLTFLoader();
   loader2.load( 'https://jokertattoo.co.uk/gun.glb', function ( gltfgame ) {
     
     hammer = gltfgame.scene;
     
        gltfgame.scene.traverse( function ( child ) {

            if ( child.isMesh ) {
                child.frustumCulled = false;
                child.castShadow = true;
                child.receiveShadow = true;
            }

        });

     hammer.position.y = 120;
                scene.add(hammer);
       });

和:

function hammerLoaded( geometry ) {
    geometry.computeVertexNormals();
                geometry.computeFaceNormals();
            


                hammer.position.y = 120;
                scene.add(hammer);

                var wood = new THREE.MeshPhongMaterial( { color: 0xffffff, map: THREE.ImageUtils.loadTexture( "284-v7.jpg"), shininess: 100, side: THREE.DoubleSide } );
                geometry.materials[0] = wood;

                var metal = new THREE.MeshPhongMaterial( { color: 0x222222, specular: 0x888888, shininess: 10, metal: true } );
                geometry.materials[1] = metal;

                
                var h = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial() );
                h.castShadow = true;
                h.receiveShadow = false;    
                
                var scale = 3.5;
                h.scale.set(scale,scale,scale);
                h.rotation.x = Math.PI/2;
                h.rotation.z = -Math.PI/2;              
                h.position.y = 12.0;
                h.position.z = -26.5;
                h.position.x = -6.2;
                hammer.add(h);
       
            }

这里还有一个codepen https://codepen.io/uiunicorn/pen/YzQjJmp

谢谢阅读

标签: javascriptthree.jsgltf

解决方案


推荐阅读