在three.js中,我将push
的一些Vector3()
坐标转换为变量,然后执行THREE.CatmullRomCurve3(points).getPoints(points*32);
来获得曲线。如果我沿形状拉伸形状,一切看起来都很好。
我现在遇到的问题是我希望摄像机沿着该曲线运行,但是速度会根据它从一个(原始)点到另一个点的距离而变化。根据threejs.org的示例之一,我遍历了每个新点并将相机的位置设置为这些点。但是,如果两个点相距1米或2米,则每个点之间仍是32个子点,并且摄像机将在同一时间到达终点。
我该怎么做,一个1米长的拉伸获得32个子点,而一个2米长的拉伸获得64个子点,那么相机完成2米长的拉伸所需的时间是1米长的两倍? >
答案 0 :(得分:0)
我现在遇到的问题是我希望摄像机沿着该曲线运行,但是速度会根据它从一个(原始)点到另一个点的距离而变化。
如果您使用Curve.getSpacedPoints()而不是Curve.getPoints()
,则会在曲线上收到等距的点。
three.js R106