有人可以告诉我这种疯狂是如何运作的: http://www.youtube.com/watch?v=KL8QLLmUvbg
具体而言,我对沿路径均匀分布给定数量的正方形感兴趣。我也想知道这是否适用于多个线段 - 这是一个弯曲的线段,我需要一个解决方案,在一条大线上分配对象,其中包含多条曲线。
基本上我正试图制作一个真实地跟随角色的尾巴。
由于
答案 0 :(得分:6)
首先,Bezier样条曲线是由t
参数化的曲线。但是t
沿曲线不是弧长。所以程序就是这样。
但是这两个步骤很棘手。
第一个只有二次贝塞尔曲线的闭合形式解。 (你可以找到解决方案here) 否则你使用细分和近似方法,或数值积分方法(在某种意义上这些是等价的 - 我会采用数值积分方法,因为这有更好的可证明行为,代价是稍微棘手的实现,但你可能或可能不在乎。)
第二个基本上是猜测t值,并改进方法(使用与步骤1相同的每一步计算方式)。我使用割线样式搜索来实现这一点,因为我怀疑使用牛顿方法搜索所需的衍生物太昂贵而无法计算。
一旦获得了对象的位置,就需要使用曲线切线和余切来为对象创建局部参考框架。这允许对象很好地坐在曲线的路径中,而不是全部具有相同的方向。请注意,这仅适用于2D - 在3D中,您仍然可以通过面向对象获得一些奇怪的行为。
答案 1 :(得分:0)
答案 2 :(得分:0)
我最终创建了一个像丹尼尔为简单起见而推荐的以下行为系统。但是为了详细阐述迈克尔的精彩答案,我偶然发现了这个详细介绍样条技术的教程。