ThreeJS - 错误的光线旋转
Posted
技术标签:
【中文标题】ThreeJS - 错误的光线旋转【英文标题】:ThreeJS - wrong light rotation 【发布时间】:2014-09-07 13:56:01 【问题描述】:无论是导入场景,还是通过代码创建每个网格和灯光,都会出现以下问题。
我的场景由一个平面、一个立方体和一个聚光灯组成。 聚光灯在 y 轴上旋转 45 度。 在示例 1 中,它位于点 (4, 0, 4)。 在示例 2 中,它位于点 (4, 0, 5)。
灯光的旋转始终为 45 度(0.785398163 弧度)。
为什么灯光总是指向立方体正面的中心? 我假设它会完全按照搅拌机中所示的方式渲染示例 2,并指向立方体的边缘。
以下是示例:
第一个示例(正确旋转):
我在 Blender 中有这个场景:
它使用 ThreeJS 以这种方式呈现:
第二个例子(错误的旋转):
我在 Blender 中有这个场景:
它在 ThreeJS 中以这种方式呈现:
【问题讨论】:
SpotLights
in three.js 不要将light.rotation
属性用于任何事情。相反,他们使用light.target
,即Object3D
。 light.target.position
在这两种情况下都等于原点吗?
目标位置在每种情况下都是 (0, 0, 0),这解释了行为。非常感谢。
如何开启light debug看它有哪个方向??
【参考方案1】:
三个.js 中的SpotLights
不要将其rotation
属性用于任何事情。相反,他们使用light.target
,即Object3D
。
three.js r.68
【讨论】:
以上是关于ThreeJS - 错误的光线旋转的主要内容,如果未能解决你的问题,请参考以下文章