为什么Three.js中的DirectionalLight无法正常工作?

Olesya加莱

我在Three.js中响了我需要添加摄像头和照明。相机工作还可以,但是照明有问题。这是我的代码:

<script src="three.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://threejsfundamentals.org/threejs/../3rdparty/dat.gui.module.js"></script>
<script>

        const scene = new THREE.Scene();

        const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
        const renderer = new THREE.WebGLRenderer();
        renderer.setSize( window.innerWidth, window.innerHeight );

        const color = 0xFFFFFF;
        const intensity = 1;
        const light = new THREE.DirectionalLight(color, intensity);
        light.position.set(10, 10, 10);
        light.target.position.set(-5, 0, 0);
        scene.add(light);
        scene.add(light.target);

        document.body.appendChild( renderer.domElement );

        let controls = new THREE.OrbitControls(camera, renderer.domElement);
        controls.target.set(0, 0, 0);
        controls.rotateSpeed = 0.5;
        controls.update();

        camera.position.z = 5;

        const geometry = new THREE.RingGeometry( 1, 3, 32 );
        const material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
        const mesh = new THREE.Mesh( geometry, material );
        mesh.receiveShadow = true;
        mesh.castShadow = true
        scene.add( mesh );

        function animate() {
            requestAnimationFrame( animate );
            mesh.rotation.x += 0.01;
            mesh.rotation.y += 0.01;
            renderer.render( scene, camera );
        }
        animate();

</script>

我尝试将其更改DirectionalLightAmbientLightSpotLight,但是它们都没有用。对我而言,这将是什么样的光都没有关系,我只需要显示3d形状即可。

拉比德76

MeshBasicMaterial不受灯光影响。您必须使用其他材料。使用MeshPhongMaterial,即布林-海防光计算模型的用途:

const material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );

const material = new THREE.MeshPhongMaterial( { color: 0xffff00, side: THREE.DoubleSide } );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么接头在angular js中无法正常工作

来自分类Dev

在three.js中旋转相机无法正常工作

来自分类Dev

为什么Node js res.send无法正常工作?

来自分类Dev

为什么Angular js Service无法正常工作?

来自分类Dev

THREE.js OrbitControls无法正常工作

来自分类Dev

为什么类型转换在Swift 2.0中无法正常工作?

来自分类Dev

为什么以下php中的sql查询无法正常工作?

来自分类Dev

为什么“插入或更新”中的命令更新无法正常工作?

来自分类Dev

为什么javascript中的nextSibling方法无法正常工作

来自分类Dev

为什么我在jquery中的focus()无法正常工作?

来自分类Dev

为什么在JavaScript中的indexOf无法正常工作?

来自分类Dev

为什么“内联阻止”在此CSS中无法正常工作?

来自分类Dev

为什么sscanf在此代码中无法正常工作?

来自分类Dev

为什么conky在Unity桌面中无法正常工作?

来自分类Dev

为什么Skimage中的'imshow'在移位时无法正常工作

来自分类Dev

为什么OrWhere在Laravel中无法正常工作

来自分类Dev

为什么我的代码中的fprintf()函数无法正常工作?

来自分类Dev

为什么Flutter中的HTTP请求无法正常工作?

来自分类Dev

为什么我在Bootstrap中的轮播控件无法正常工作?

来自分类Dev

为什么我的React中的clearInterval无法正常工作?

来自分类Dev

为什么JavaScript无法在Rails 6中正常工作?

来自分类Dev

为什么conky在Unity桌面中无法正常工作?

来自分类Dev

为什么在webview中的javascript无法正常工作?

来自分类Dev

为什么我在jquery中的focus()无法正常工作?

来自分类Dev

为什么JQuery中的.join()无法正常工作?

来自分类Dev

为什么“内联阻止”在此CSS中无法正常工作?

来自分类Dev

为什么在Oracle中无法正常工作的情况

来自分类Dev

为什么“插入或更新”中的命令更新无法正常工作?

来自分类Dev

为什么正向遍历for循环在JavaScript中无法正常工作

Related 相关文章

  1. 1

    为什么接头在angular js中无法正常工作

  2. 2

    在three.js中旋转相机无法正常工作

  3. 3

    为什么Node js res.send无法正常工作?

  4. 4

    为什么Angular js Service无法正常工作?

  5. 5

    THREE.js OrbitControls无法正常工作

  6. 6

    为什么类型转换在Swift 2.0中无法正常工作?

  7. 7

    为什么以下php中的sql查询无法正常工作?

  8. 8

    为什么“插入或更新”中的命令更新无法正常工作?

  9. 9

    为什么javascript中的nextSibling方法无法正常工作

  10. 10

    为什么我在jquery中的focus()无法正常工作?

  11. 11

    为什么在JavaScript中的indexOf无法正常工作?

  12. 12

    为什么“内联阻止”在此CSS中无法正常工作?

  13. 13

    为什么sscanf在此代码中无法正常工作?

  14. 14

    为什么conky在Unity桌面中无法正常工作?

  15. 15

    为什么Skimage中的'imshow'在移位时无法正常工作

  16. 16

    为什么OrWhere在Laravel中无法正常工作

  17. 17

    为什么我的代码中的fprintf()函数无法正常工作?

  18. 18

    为什么Flutter中的HTTP请求无法正常工作?

  19. 19

    为什么我在Bootstrap中的轮播控件无法正常工作?

  20. 20

    为什么我的React中的clearInterval无法正常工作?

  21. 21

    为什么JavaScript无法在Rails 6中正常工作?

  22. 22

    为什么conky在Unity桌面中无法正常工作?

  23. 23

    为什么在webview中的javascript无法正常工作?

  24. 24

    为什么我在jquery中的focus()无法正常工作?

  25. 25

    为什么JQuery中的.join()无法正常工作?

  26. 26

    为什么“内联阻止”在此CSS中无法正常工作?

  27. 27

    为什么在Oracle中无法正常工作的情况

  28. 28

    为什么“插入或更新”中的命令更新无法正常工作?

  29. 29

    为什么正向遍历for循环在JavaScript中无法正常工作

热门标签

归档