【问题标题】:InstancedBufferGeometry lookatcameraInstancedBufferGeometry 看相机
【发布时间】:2018-10-25 04:09:04
【问题描述】:

我正在使用 Three.js 创建一个螺旋星系,我使用了 InstancedBufferGeometry,因此我可以渲染许多具有出色性能的星星。

目前,我使用飞机作为我的对象,我遇到的问题是当我绕银河系运行时,这些飞机不看相机。

我尝试过使用 lookat 功能,但这似乎不起作用。

有谁知道如何让 InstancedBufferGeometry 看相机。

非常感谢。

【问题讨论】:

标签: three.js


【解决方案1】:

lookAt 方法属于THREE.Object3D,它使整个 对象旋转到一个点,而不是它的每个几何体实例。如果您使用InstancedBufferGeometry,则可以在vertexShader 中执行这些计算,但考虑到您要渲染的平面数量,计算量可能会很大。

如果您仅将 InstancedBufferGeometry 用于平面,我建议您改用 THREE.Points,它可以自动生成始终朝向相机的平面,如以下示例所示:

https://threejs.org/examples/?q=point#webgl_points_sprites

https://threejs.org/examples/?q=point#webgl_custom_attributes_points

您只需要担心它们的位置,并且旋转将始终“广告牌”朝向相机,而无需手动计算旋转。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 2018-10-09
    • 1970-01-01
    • 2015-07-06
    • 2017-06-12
    • 2011-01-02
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多