我正在通过一系列挤压(在Unity 4环境中工作)构建3D花网。对于每朵花,有花键定义每个分支,花瓣,叶子等。每个花键周围都有一个沿着花键挤出的形状。并且在样条中的每个点处定义的厚度曲线,形状有多厚。
我试图使用参数为这个网格设置动画(即看向太阳,随风弯曲)。
我已经研究了近两个月了,我的算法归结为基本上重建花'每一帧',通过迭代每个样条点的形状,将其转换为当前空间并计算新的顶点位置在它之外,是并行传输帧的一种版本。
每个顶点:
v = p + q * e * w
其中
p = point on the path
e = vertex position in the local space of shape being extruded
q = quaternion to transform into the local space of the p (by its direction towards next path point)
w = width at point p
我认为这是挤出模型的一小步。我基本上需要对模型中的每个顶点执行一次。
我对目前的场景来说太慢了。我需要有5-6朵花,总共约有6万个顶点,我认为这是瓶颈。
我可以看到这是骨骼动画的类似问题,其中每个关节将控制拉伸形状的横截面。这不是一个直接的问题,但我想知道是否有人可以详细说明我是否可以从骨骼动画中窃取一些技术来加速这个过程。在我目前的观点中,我只是看不出如何避免每个顶点至少进行一次计算,在这种情况下,我只选择每帧重建网格。