【问题标题】:What's wrong with my code? (Threejs spotlight shadow)我的代码有什么问题? (Threejs聚光灯阴影)
【发布时间】:2012-05-25 03:28:35
【问题描述】:

我在 Three.js 中创建了一个场景,在一个平面上有两个立方体。聚光灯位于左上角,应该看给定的坐标 50、0、-50。

阴影看起来很奇怪,而且光线不看给定坐标(我试过light.target.position.setlight.lookAt

链接:http://jsfiddle.net/5gNvr/

提前致谢,

【问题讨论】:

    标签: javascript webgl three.js


    【解决方案1】:

    这是错误的:

    cube.position = {
        x: -50,
        y: 15,
        z: 50
    };
    

    position 是一个 Vector3 并且您将其替换为一个 Object 失去其所有方法(灯光可能依赖这些方法)。

    改为这样做:

    cube.position.set( -50, 15, 50 );
    

    这可能会也可能不会解决您的问题。

    【讨论】:

      【解决方案2】:

      尝试将灯光的 fov 增加到 75。

      light.shadowCameraFov = 75;
      

      【讨论】:

      • 谢谢,它有效。但是灯光看不到给定的坐标(我试过light.target.position.setlight.lookAt
      • 我认为 Spolight 目前的行为有点像 Pointlight。我们还不能让它按预期运行。
      • 我找到了! light.target = cube
      • light.target.copy(cube.position)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      相关资源
      最近更新 更多