【问题标题】:Is there a way to change the shape of Three.js Orbit Controls?有没有办法改变 Three.js Orbit Controls 的形状?
【发布时间】:2018-08-24 07:34:07
【问题描述】:

我喜欢 Three.js 中包含的轨道控件,但是,有没有办法修改它们以跟随椭圆(技术上是椭圆体)而不是圆的路径?

我不需要缩放或平移功能,只需用鼠标将相机移动到椭圆中即可。

如果有更简单的方法可以在没有轨道控制的情况下执行此操作,我也很乐意尝试。

【问题讨论】:

  • OrbitControls 将您的输入映射到翻译信息,就像它映射到一个球体一样。您需要修改(或创建您自己的映射)转换映射到椭圆体的位置。我会通过将单位向量投影到球体上,然后将其投影到椭圆体上来获得新的相机坐标。

标签: javascript three.js camera


【解决方案1】:

对于形状部分(2d 运动)我认为你可以这样做:

controls.maxPolarAngle = Math.PI/2 
controls.minPolarAngle = Math.PI/2 

这会导致控件绕一圈。

我不确定实现椭圆的最佳方法是什么,因为OrbitControls 有很多不公开的封装逻辑。

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2022-08-22
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多