vellum 学习 (定时更新1/12)

vellum学习


前言

场景转布料学习Staring


布料 材质:丝绸/牛仔/皮革
区别:软 ,褶皱小/ 褶皱锋利 /橡胶相比牛仔更软。

1.丝绸
厚度 0.001 bend 0.0001 刚度压缩 100000(保留皱纹)、

2.牛仔
褶皱锋利:——可以通过bend plasticity变形 (只要弯曲低于值域,马上硬化形成锋利的边)
在这里插入图片描述

3.皮革
因为比牛仔更加软 所以我们通过改刚度压缩 获得更多的塌陷

在这里插入图片描述

二、遇到的问题

1.结算慢

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.面一直在变

2.怎么忽略碰撞

请添加图片描述

先前我们可以在碰撞体下面命名,碰撞体的名字为s@collisiongroup=“~~”;
后续结算s@collisionignore=“~~”;就可以忽略掉。在结算前设置
在这里插入图片描述

请添加图片描述

3.新节点学习

vellumframe 在solver 结算器之前使用
vellumfframe 保证子步骤和结算一样
vellum constraints (Bend Across Triangles)

vellum constraints (Bend Across Triangles)可以单独设置布料的bend数值。

作用 对于快速移动的物体可以通过 矫正来抵消位移带来的cloth惯性移动。
0不影响保持结算动态 1矫正 抵消掉惯性带来的延后
compute Angular Vel 矫正旋转的在这里插入图片描述delatmmesh 光滑面平滑面

4.节点参数解释

damping Ratio=velocity Damp { 大 拉伸小 不抖
小 拉伸大 抖
在这里插入图片描述
mass 质量 区别不同布料?? 加大质量 布料会变 (待补充)
thickness 厚度 会影响褶皱 /包括穿插之类的

重要的2个参数
1.stretch抗拉伸 (越大 越防止拉伸)
stiffness

强度值 1e+10(最大了所以永远不拉升)————如果拉伸表示精度和cons值太小计算错误

Damping Ratio

动能消耗 小——消耗慢——抖 大——消耗快——不抖 不要大于0.1

restLength Scale

小于1 约束距离变小——收缩
大于1 约束距离变大——拉伸开来

compression Stiffness

获得高分辨率高细节{是否保留褶皱
------eg: 皮革 牛仔 丝绸—————数值:低 中 高在这里插入图片描述原理就是收缩空间有多少 越大细节越多

StiffnessDropoff

2.bend 抗弯曲 (越大越 防止弯曲)

strength

3.2种计算方式 1stOrder 2stOrder
1-计算时间长— 反弹少
2-计算时间短—反弹多
      second order 获得的细节丰富——受sub影响 越大能量消耗越小,预测越准确
      实际案例:衣服迎风吹,second细节更加丰富
3.反弹 1.第二 种反弹多

2.第一种反弹少
可以通过maxacc来解决弹的问题
在这里插入图片描述

加速度>20l 在碰撞的时候切换到第一个算法上面
<20用第二个 ——————同时有2个的算法优势
所以如果加速度太大——无法切换回来——导致还是会弹的问题
在这里插入图片描述

4.solve
             Collision  passes  碰撞检测 越大越精细 碰撞过渡就自然
              post Collision Passes  在多层布料结算时候可以防止穿插

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

5.Target Path

在这里插入图片描述

6.vellumio

缓存可以删除属性
在这里插入图片描述

7.尽量选择帧更新 (效率块)子步骤更新准确但是慢

在这里插入图片描述

8.迭代{3种
i 约束迭代

情况下增加子步骤 会比迭代好些,(可以通过更多的预测精准的找到位置变化。)

ii碰撞迭代

处理碰撞中会出现的问题///处理高速的or碰撞次数较多的物体开高比较精准。。
很吃资源,运行方式是 约束迭代:碰撞迭代 100:10 —— 也就可以得出如果1:1的话会得到更加精准的结算。

光开smooth iteration 会出现抖的情况 (一直在聚拢) 所以可搭配着来 约束迭代+光滑迭代——快速平稳。

结算人物运动时候会出现不想要的错误 就可以通过加大光滑迭代去处理。
iii光滑迭代
9.软硬约束

hard pin welds 直接更新点的位置 可打断约束
soft pin stitches 约束结算之后更新点的位置 可打断约束/可塑性

weld 硬约束——效果——布和布直接直接贴合没有缝隙
weld

stitches 软约束——效果——布和布直接有约束线连接

eg: 衣服缝合的时候 weld 缝合没有空隙 stitches 会有缝隙;

10.plasticity 可塑性

在这里插入图片描述
threshold 大于多少就形变
rate 多快
hard 《1约束变软 、、、、、 》1约束变硬

参考牛仔 全变硬——速度快—硬度高
在这里插入图片描述
在这里插入图片描述

直白的说就是碰撞之后是否保留形变!!!

stiffness 和bend 都有 1. 一旦拉伸强度超过多少就 2.一旦弯曲度超过多少就

11.sliding 滑动

在这里插入图片描述
作用
颜色可以控制强度(红色移动的快,蓝色慢)

12.四面体约束

Tetrahedral Volume 四面体约束 ——作用保持四面体体积存在/ eg
前面缩放了——此约束可以让物体返回缩放前的体积 tip:但是不会返回measure大小

13.distance 约束 和 triangle stretch 区别

一个不会保持四边面
一个维持四边面
Stretch Type(拉伸类型)
当约束类型设置为布料时,此参数选择使用哪种类型的拉伸约束。在更高的布料分辨率下,线性的Triangle Stretch(三角形绷紧)比Distance Along Edges(保持边的距离)更快地收敛到其适当的刚度,但不能通过启用Enable Warp/Weft参数来支持各向异性。
在这里插入图片描述
三角stress可视化更加平滑?
在这里插入图片描述
14. match animation
勾上会生成一个 gluetoanimation 属性
控制约束点是否有动画 tip:注意这里是glue to!!animation在这里插入图片描述

Tip

软约束 不要在当前节点设置参数 eg cloth下pin了物体就别设置参数 ,会对模型造成变化

错误
在这里插入图片描述

正确

在这里插入图片描述

三. 小技巧总结

相机锁定区域发现布料问题
模拟后,解决问题区域的一个方便技巧是将相机作为遵循几何形状的铆钉的父级。使用这种方法,任何问题都会更容易发现和解决。

脚步:
在要关注的几何部分上创建一个点组;在这里,我在腰带的一部分上做了一个点组选择。该组可以称为“for_rivet”
在名为“OUT_rivet”的组之后附加一个 Null
在 obj 级别,创建铆钉节点并指定铆钉几何的路径;这将是新创建的 Null ‘OUT_rivet’
指定点组“for_rivet”
在相机的变换部分选中“保持位置”
将相机作为铆钉的父级
链接: link

在这里插入图片描述

如果人物有大幅反转,裙子容易歇起来,可以通过k attach的强度过渡
在这里插入图片描述

1.关于解决穿插

1.sdf push

穿插处理
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解决;

在这里插入图片描述

在这里插入图片描述
穿插面拉出来
在这里插入图片描述

通过结算解决穿插在这里插入图片描述

2.穿插混合

在这里插入图片描述

3.官方參數對比

请添加图片描述
请添加图片描述
请添加图片描述请添加图片描述

4.看得见的衣服精度高些/其他区域低一些

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);

画图画的是meshsize
在这里插入图片描述

官方視頻圖

1.高低分辨率混合

请添加图片描述请添加图片描述

2.attach出錯——collision對象名字問題请添加图片描述

3.彎曲手臂布料跟隨——可以通過手臂動畫跟隨请添加图片描述

layer 意思

设置一块布为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.检查碰撞面数 /衣服面数 是否每帧都在变化。


2.头发拉伸——扭曲会炸——我把pin约束改为attac就行了具体原因???
3.出现类似拉伸情况-可以通过smoothiterations 去解决 如果加大smoothiteration也无法解决——**可能是碰撞的问题 加大collision pass去修复** **或者说加大子步骤去解决**

在这里插入图片描述
在这里插入图片描述
solve 结算器中的 Secondary Constraint Pass

约束组中的所有约束都将在一个单独的、交错的传递给其余约束

2个作用

有一些昂贵的约束类型不需要像其他约束那样频繁地求解,因此启用此选项并选择低求解频率可以提高性能

丝绸或棉花 可以使用 因为布料的弯曲很低所以可以启用提高性能。但是不适用于皮革等较硬的材料。

拓扑结构频繁变化的约束
通过将Constraint Group设置为@type=ptprim并将Solve Frequency增加到 1 将 Stitch 约束移动到另一个通道将保持相同的刚度,但会消除由于求解顺序的变化而导致的四面体抖动。

4.丝绸/皮革
attach point之后加distance约束是为了保持边缘不会缩太紧凑

总结

牛仔裤

在这里插入图片描述

尺寸越大——布料越稳定——不抖

三角面//四边面——四边面纵线拉扯比三角的要多、
collision group=
官方 vellum atribute 可以查属性

遗留问题

  1. velocity 没办法读取动画的v?

2.头发的约束 会产生很多的弯曲 约束不住头发?

3.头发结算会炸开?

4.约束点应该约束在哪里?

5.怎么快速迭代参数,得到布料的确定数值呢?

  • 11
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JACKLONGFX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值