white_grass
2023-2-2
开年第一篇 (记录下关于植物结算的笔记)
这是我们要算的植物(草)
思路
这个草分2部分 主干和叶子(这里我没考虑取解决穿插)
1.主干提取中心线 —— 2.用线结算器(主干)——3.线包裹——4.矩阵用主干驱动叶子动态——5.用vellum2次结算叶子(丰富动态)
1——<1>.提取中心线(我这里是用uv去提取的(line_center))
2——<1>.resample修改了段数(这会直接影响结算的软硬)
<2>.分了几个组(目的需要草各自动态不一样点)
``@group_Ga= @class%2==0;@group_Gb=@class%2!=0;``
<3>.线结算器需要设置线的厚度(width(ramp我做线的时候设置的))
``@width = (1-@ramp)+0.2;@width*=0.01;``
还是为了设置不同每根不同动态给了不同的力
@kangular=fit01(rand(@class+16560),100,250);
-----线结算器用的比较少理解不一定对
主要就是 linear Spring 控制上下弯曲(类似弹力) 和 Angular(kangular) 控制左右弯曲
<4>.设置根部点(定住)
i@gluetoanimation = 1;
<5>.黄色的fix是后面总监感觉有几根形态不满意我单独拿出来设置的 kangular
3.包裹
<1>我这里用力了好几次抗抖动((工具))
<2>这里的包裹用到朋友教的我非常巧妙的办法
主体思路是给每一根一个class 在通过vop在x轴排布(依据class属性)在进行包裹
4.矩阵驱动叶子进行结算
<1>思路是叶子去读取它最根部端的点,距离这个根部点最近的主干上的点,在去读这个点的动态
<2>这里涉及需要一个叶子的旋转轴(我通过uv获取叶子最底pack那个点)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3ccadc929c354347a7c52fa2109b90d3.png
<3>点云获取最近点
<4>矩阵去动
5.叶子2次动态结算(这里和干差不多不多说了)
#完工(hip之后补)
动态不放了----
https://www.aliyundrive.com/s/kagaav1wZHs
链接: link