1 min to read
程序化生成触手模型

需求
- 地上作为引导的触须,形态类似干枯的树枝。
思路
- 单纯用样条线过于简陋,无法满足这种蔓延曲折的效果。
- 以样条线为引导,沿着样条线采样点,再给采样点添加噪声位移Offset。根据点的位置生成procedural mesh。
- 参考:
- 在UE中用C++实现。
制作
- 在样条线上每隔一段距离采样一个点,在点的周围生成一圈顶点,把每段链接起来生成三角形(这里利用UE的procedural mesh)。这样就会有一段沿着样条线生成的管子模型。
- 给采样点添加随机位移,调整Perlin noise Frequency,这样生成的模型也会有弯折。每个采样点要储存位置,旋转,半径,距离。
- 沿着采样点的距离缩小半径(用一个曲线决定半径的multiplier),并且同样添加噪点,增加或者减少半径,看起来会比较自然
允许用户调节单独一个点的半径大小
- 生成主干之后就可以生成分支了。先在主干的采样点中随机选点,确定分支的位置,然后用相同的方法生成分支。允许用户调节分支生成范围和角度。
- 可以将采样点吸附到地面,然后再生成模型。这样就能达到模型贴住地面的效果。
- 再叠加一层Voronoi noise,可以制造一些比较硬的转折。
- 最后的效果:
总结
原理就是沿着Spline撒点,然后将点连起来生成模型。可以考虑多叠一层有硬转折的噪点,让形态更好。