场景转布料学习Staring
布料 材质:丝绸/牛仔/皮革
区别:软 ,褶皱小/ 褶皱锋利 /橡胶相比牛仔更软。
1.丝绸
厚度 0.001 bend 0.0001 刚度压缩 100000(保留皱纹)、
2.牛仔
褶皱锋利:——可以通过bend plasticity变形 (只要弯曲低于值域,马上硬化形成锋利的边)
3.皮革
因为比牛仔更加软 所以我们通过改刚度压缩 获得更多的塌陷
1.![请添加图片描述](https://img-blog.csdnimg.cn/e6249df9efd6426d965aa50a8f8e7c8b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASkFDS0xPTkdGWA==,size_16,color_FFFFFF,t_70,g_se,x_16
缓存 2.衣服有重叠的部分 3.面一直在变
先前我们可以在碰撞体下面命名,碰撞体的名字为s@collisiongroup=“~~”;
后续结算s@collisionignore=“~~”;就可以忽略掉。在结算前设置
vellumframe 在solver 结算器之前使用
vellumfframe 保证子步骤和结算一样
vellum constraints (Bend Across Triangles)
vellum constraints (Bend Across Triangles)可以单独设置布料的bend数值。
作用 对于快速移动的物体可以通过 矫正来抵消位移带来的cloth惯性移动。
0不影响保持结算动态 1矫正 抵消掉惯性带来的延后
compute Angular Vel 矫正旋转的delatmmesh 光滑面平滑面
damping Ratio=velocity Damp { 大 拉伸小 不抖
小 拉伸大 抖
mass 质量 区别不同布料?? 加大质量 布料会变软 (待补充)
thickness 厚度 会影响褶皱 /包括穿插之类的
强度值 1e+10(最大了所以永远不拉升)————如果拉伸表示精度和cons值太小计算错误
动能消耗 小——消耗慢——抖 大——消耗快——不抖 不要大于0.1
小于1 约束距离变小——收缩
大于1 约束距离变大——拉伸开来
获得高分辨率高细节{是否保留褶皱
------eg: 皮革 牛仔 丝绸—————数值:低 中 高原理就是收缩空间有多少 越大细节越多
StiffnessDropoff
strength
second order 获得的细节丰富——受sub影响 越大能量消耗越小,预测越准确
实际案例:衣服迎风吹,second细节更加丰富
加速度>20l 在碰撞的时候切换到第一个算法上面
<20用第二个 ——————同时有2个的算法优势
所以如果加速度太大——无法切换回来——导致还是会弹的问题
Collision passes 碰撞检测 越大越精细 碰撞过渡就自然
post Collision Passes 在多层布料结算时候可以防止穿插
情况下增加子步骤 会比迭代好些,(可以通过更多的预测精准的找到位置变化。)
处理碰撞中会出现的问题///处理高速的or碰撞次数较多的物体开高比较精准。。
很吃资源,运行方式是 约束迭代:碰撞迭代 100:10 —— 也就可以得出如果1:1的话会得到更加精准的结算。
光开smooth iteration 会出现抖的情况 (一直在聚拢) 所以可搭配着来 约束迭代+光滑迭代——快速平稳。
hard pin welds 直接更新点的位置 可打断约束
soft pin stitches 约束结算之后更新点的位置 可打断约束/可塑性
weld 硬约束——效果——布和布直接直接贴合没有缝隙
weld
stitches 软约束——效果——布和布直接有约束线连接
eg: 衣服缝合的时候 weld 缝合没有空隙 stitches 会有缝隙;
threshold 大于多少就形变
rate 多快
hard 《1约束变软 、、、、、 》1约束变硬
直白的说就是碰撞之后是否保留形变!!!
stiffness 和bend 都有 1. 一旦拉伸强度超过多少就 2.一旦弯曲度超过多少就
Tetrahedral Volume 四面体约束 ——作用保持四面体体积存在/ eg
前面缩放了——此约束可以让物体返回缩放前的体积 tip:但是不会返回measure大小
一个不会保持四边面
一个维持四边面
Stretch Type(拉伸类型)
当约束类型设置为布料时,此参数选择使用哪种类型的拉伸约束。在更高的布料分辨率下,线性的Triangle Stretch(三角形绷紧)比Distance Along Edges(保持边的距离)更快地收敛到其适当的刚度,但不能通过启用Enable Warp/Weft参数来支持各向异性。
三角stress可视化更加平滑?
14. match animation
勾上会生成一个 gluetoanimation 属性
控制约束点是否有动画 tip:注意这里是glue to!!animation
软约束 不要在当前节点设置参数 eg cloth下pin了物体就别设置参数 ,会对模型造成变化
相机锁定区域发现布料问题
模拟后,解决问题区域的一个方便技巧是将相机作为遵循几何形状的铆钉的父级。使用这种方法,任何问题都会更容易发现和解决。
脚步:
在要关注的几何部分上创建一个点组;在这里,我在腰带的一部分上做了一个点组选择。该组可以称为“for_rivet”
在名为“OUT_rivet”的组之后附加一个 Null
在 obj 级别,创建铆钉节点并指定铆钉几何的路径;这将是新创建的 Null ‘OUT_rivet’
指定点组“for_rivet”
在相机的变换部分选中“保持位置”
将相机作为铆钉的父级
链接: link
如果人物有大幅反转,裙子容易歇起来,可以通过k attach的强度过渡
穿插处理
1.勾选fill interior
2.@surface -= .005; wrangle 这一不会把 实心变空心(其他节点会的)
3.float dist = volumesample(1, 0, @P);
vector grad = normalize(volumegradient(1, 0, @P));
@smooth=0;
if (dist<0)
@P -= dist*grad;
@smooth=1;
后续可以用expand -grouppromote——smooth优化
可以用detangle解决;
meshsize 为自己画的区域;
float min = ch("min_length"); float max = ch("max_length"); f@minmeshsize = min; f@maxmeshsize = max; f@targetmeshsize = fit(f@meshsize, 0,1, max,min);
设置一块布为1 另一块为2 solver中layer Shock为4 第一块布 4
第二块布 8
————也就是layer越底布越轻
1.eg肩带滑落,我们可以通过颜色去读取之前的动画
2.衣服还原回去(poi
ntdeform)出现拉伸——起因是三角面和四边面的问题??——解决办法 可以分区在expand-2 在exand出去
这样零散的点就被移除了
3.
4.蝴蝶结(遇到一个比较好用的办法,可以舒展开布料)
线resample0.05——表示点点之间为0.05米
我们定义约束线restlength=0.05 这里注意不是0.05的大小而是0.05米
这样布的面就成正方形也就缩放开了!!!!
结算出现这种情况
{1.检查碰撞面数 /衣服面数 是否每帧都在变化。
solve 结算器中的 Secondary Constraint Pass
约束组中的所有约束都将在一个单独的、交错的传递给其余约束
2个作用
有一些昂贵的约束类型不需要像其他约束那样频繁地求解,因此启用此选项并选择低求解频率可以提高性能
丝绸或棉花 可以使用 因为布料的弯曲很低所以可以启用提高性能。但是不适用于皮革等较硬的材料。
拓扑结构频繁变化的约束
通过将Constraint Group设置为@type=ptprim并将Solve Frequency增加到 1 将 Stitch 约束移动到另一个通道将保持相同的刚度,但会消除由于求解顺序的变化而导致的四面体抖动。
4.丝绸/皮革
attach point之后加distance约束是为了保持边缘不会缩太紧凑
尺寸越大——布料越稳定——不抖
三角面//四边面——四边面纵线拉扯比三角的要多、
collision group=
官方 vellum atribute 可以查属性
2.头发的约束 会产生很多的弯曲 约束不住头发?
3.头发结算会炸开?
4.约束点应该约束在哪里?
5.怎么快速迭代参数,得到布料的确定数值呢?