vellum 学习02 2/6

布料结算

1.一般布料结算我们都用三角面去solver

Tip: remesh 之后的paint+group组会变化 这里切记要attributetranf。。
这时候会产生布料三角面大小等问题
我们有2种办法去解决。

1.ploydoctor(自带节点删除小的有问题的三角面)

2.通过代码删除

float ratio_threshold = ch("ratio_threshold"); f@marea = primintrinsic(0, "measuredarea", @primnum); f@mperimeter = primintrinsic(0, "measuredperimeter", @primnum); f@ratio = f@mperimeter/f@marea; if (f@ratio > ratio_threshold) { removeprim(0,@primnum,1); }

2.纽扣篇:strutch约束

1.纽扣用softbody(strutch) ,约束住防止纽扣塌缩
此处用到strutch约束
Struts:
每个点都将寻找一个遥远的点,它是自己的一块,但它有一个直线的视线。它会建立到那个点的距离约束。它构造了大量的牙签式内部支柱,在不需要完全有限元求解的情况下,为对象提供了刚度和体积。
vellum 学习02 2/6_第1张图片
2.纽扣需要缝合到衣服上
1.我们用到stitch约束
vellum 学习02 2/6_第2张图片
2.这里目标对象最好是手动选择出来(好处是精准的约束到目标对象上)

3.皮带制作
高速移动的情况下 皮带用来cloth的方式结算

用四面体的方式跟不上
vellum 学习02 2/6_第3张图片

4.还原时出现衣服拉伸

vellum 学习02 2/6_第4张图片
我们通过传递island的方式deform回去

颜色混合到其他区域去了——解决办法
选出区域组:int piecenum = chi(“piecenum”);
@group_currentpiece = 0;
if (i@piece == piecenum) {
@group_currentpiece = 1;
}
用group expand先缩回去在放大
vellum 学习02 2/6_第5张图片

5.PointDeform
自带的节点会有各种问题 ,我们通过vex去编辑
i/pointdeform的及讲解
vellum 学习02 2/6_第6张图片
ii/方法
vellum 学习02 2/6_第7张图片
2.首先我们让低分辨率的点匹配高的面
我们靠邻近点处理,根据低分辨率点的距离对其进行加权到我们高分辨率的点。
这个点的权重为1,它正好在低分辨率的网格上
3.这个点应该影响受4个点影响,每个点都有一个较低的weight,因为点是相当远的。
iii、高精度模型下
float maxdist=chf(“max_dis”);
int maxnum=chi(“max_number_of_point”);
int npts[]=nearpoints(1,v@P,maxdist,maxnum);//通过1号端口位置,找到和自己的位置最大范围内的点数,记录在数组中,返回的是点序号。
weights[]权重 ,距离近的权重大,远的就小
float weights[];
foreach(int npt;npts)
{
vector npos =point(1,“P”,npt);
float ndist=distance(v@P,npos);
ndist=fit(ndist,0.0,maxdist,1.0,0.0);
push(weight,ndist);

  }
  f[]@weights=weights;

vellum 学习02 2/6_第8张图片
iiii/
静帧和低分辨率模型,我们求出偏移量。
vector pos=point(1,“P”,@ptnum);
v@ detal=pos-v@P;

iiiii/
deform
现在我们要去驱动每个点了
float weights[]=f[]@weights;
int npts[]=i@npts;
float sumweights=0.0;
vector sumoffsets={0,0,0};
int n=0;
foreach(int npt;npts)
{
vector delta =point(1,“delta”,npt);
delta*=weights[n];
sumweights+=weights[n];
sumoffsets+=delta;
n++;

}
vector offset =sumoffsets/sumweights;
v@P+=offset;
vellum 学习02 2/6_第9张图片

pointdeform 2-3端口需要timeshift住

5.如何保留初始褶皱

1.主要思路是通过距离约束给他约束住

通过找到solve中的约束(粉色的往上找添加约束线)
2.plus 如何在绘制的地方无褶皱,加个判断条件, 颜色
vellum 学习02 2/6_第10张图片
vellum 学习02 2/6_第11张图片
「DistanceConstraint.hip」https://www.aliyundrive.com/s/aeQs6WMCYBM
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

https://www.bilibili.com/video/BV1CV411H7VJ?spm_id_from=333.337.search-card.all.click

vellum 如果跟着曲线运动
vellum 学习02 2/6_第12张图片
pin + 跟随动画+popcurve

你可能感兴趣的:(追光,houdini)