Vellum —— Constraint 约束参数

目录

Mass、Thickness

Stretch

Bend

Pin

Drag

约束特性


  • 解算器对DOP外节点的约束属性,只会读取起始帧的值;
  • 设置约束时,注意组名冲突引起的约束失效;

hard pin、weld

  • 几何体点属性,解算器直接更新点位置;
  • 通过设置点属性(mass/stopped,weld),创建或移除;
  • weld(视为一个点不碰撞)可设置断开,rewire vertices节点;

soft pin、stitch

  • 约束面,解算约束来更新点位置;
  • 通过创建或移除约束(pin、glue、stitch),手动创建或移除;
  • 可断开和塑形;

Mass、Thickness

Mass 重量

  • 质量越大重力越大,拉伸的越长;模型精度或布线越多,拉伸越长;
  • calculate uniform/calculate varying总重量都不会变,模型精度或布线也不影响总重量;calculate uniform对精度或布线不均的会产生问题;
  • 较低的layer(关联解算器的Layer Shock),在碰撞时会重很多倍;碰撞有穿插到碰撞体时,可调节解算器的Post Collision Passes,也可调节点属性layer;

thickness 厚度(pscale)

  • calculate uniform可保持均匀统一的厚度;当edge length scale为1时刚好为边长;
  • 厚度太小可能会造成穿插,可调节解算器的Post Collision Passes;
  • 厚度太大时解算第一帧会自动调整厚度,因为自碰撞参数等,而且在解算的过程中pscale还会自动调整;

Geometry/Trianglation 约束三角化

  • Alternating会产生光滑的变形;
  • Regular会产生锯齿装边缘(因为只有一个方向的结构);
  • None可能由于缺乏三角结构,可能不能保持原始形状;


Stretch

  • 保持点间的初始距离;

Stiffness

  • 越高的stiffness,就需要越多的迭代来收敛,如constraint iterations或substeps(子步会更好);
  • 模型分辨率越高(如点数越多),越容易拉伸,保持相同的曲率就需要更高的刚度或迭代;

Damping Ratio

  • 刚性常常会产生不可接收的抖动或震动,阻尼通过释放能量来降低抖动或震动;
  • 过大的阻尼可能会导致约束无法满足,值应小于1;

Rest Length Scale

  • 点间的原始距离,此参数可增加或减小距离;
  • 如设置为0,将尝试把点折叠在一起;

Compression Stiffness

  • 距离小于初始距离(即被压缩)时,其刚性(恢复初始距离的强度);
  • 如不勾选此选项,将使用Stiffness参数;
  • 此刚性越小,褶皱就会越多;

stiffness Dropoff

  • 偏离起始距离的距离,超过此偏离,如Decreasing则会从完全刚性降低为0,如Increasing则从0增加到完全刚性;
  • Decreasing对于创建glue约束非常有用,当拉伸时降低约束;可配合Break Threshold使用;

Anisotropy(Warp/weft)

  • 根据方向调整刚性,可允许布料的一个轴比另一个轴拉伸些;
  • 本质上是在不同方向上调整stiffness属性;

Plasticity

  • 既可以是绝对距离,也可是比率,在阈值Threshold内会恢复原状,超过阈值则会变为新配置(new rest length);


Bend

  • 保持每对三角形间的初始角度;

Stiffness

  • 越高的stiffness,就需要越多的迭代来收敛,如constraint iterations或substeps(子步会更好);
  • 模型分辨率越高(如点数越多),越容易弯曲,保持相同的曲率就需要更高的刚度或迭代;

Damping Ratio

  • 刚性常常会产生不可接收的抖动或震动,阻尼通过释放能量来降低抖动或震动;
  • 过大的阻尼可能会导致约束无法满足,值应小于1;

Rest Angle Scale

  • 三角面间的原始弯曲角度,此参数可增加或减小夹角;
  • 如设置为0,则夹角为0会展平;

stiffness Dropoff

  • 偏离起始弯曲的度数,超过此偏离,如Decreasing则会从完全刚性降低为0,如Increasing则从0增加到完全刚性;
  • 对于布料,可添加少量的Increasing,以添加额外的褶皱,可不改变整体的弯曲和外观;
  • 对于弹性的glue约束,添加Decreasing非常有用,可在断开前减弱约束而不会回弹;

Max Branch Angle

  • hair、string约束独有的参数;大于此角度的分支,没有弯曲约束;
  • 对于单个prim的hair约束,此参数不起作用,且与多prim不同;
  • 对于单个prim的string约束,此参数起作用,且与多prim相同;

注:substeps=1,constraint iterations=500

Plasticity

  • 绝对角度的测量(由于起始角度可能为0,比率ratio不适用),在阈值Threshold内会恢复原状,超过阈值则会变为新配置(new rest angle);


Pin

Pin Type

  • Permanent,将设置mass为0,硬约束,以后无法在释放此约束;
  • Stopped,创建stopped属性并设置对应值为1,硬约束,以后设置0可释放;
  • Soft,长度为0的距离约束 pin(distance);

Match Animation

  • 创建pintoanimation(位置)、gluetoanimation(位置和方向)属性并设置对应值为1;


Drag

  • 此Drag值是解算器内Drag(如wind drag)的倍增值,对挥舞的旗子非常重要;
  • 应用于popsolver内,影响最终速度;

Normal Drag

  • 创建dragnormal属性,并设置其值,应用于表面法线方向或垂直于曲线方向;

Tangent Drag

  • 创建dragtangent属性,并设置其值,应用于表面切线方向或曲线相切方向;


约束特性

        可自动计算mass和thickness,对于有重叠大小的,解释器也会自动重置大小以避免重叠;如约束刚性不像期望的那样硬,可能是约束迭代不够;

        Normalize Stress 默认是开启的,当子步(或模型精度)变化时,可使被计算的值可预测,即不会使计算的值完全不同或变化太大,如断开的阈值;

        Tangent Stiffness 仅适用于Attach to Geometry,应用于目标表面的切线方向,如对赋予到腰部的短裤或裤带有用;会额外创建attachnormal约束,效果比降低Rest Length Scale要好;target_path属性的值仍是attach geometry;

        Stitch约束,是vellum几何体间的距离约束(distance),可连接上最近面上的位置(H18之前是只能点到点的),目标primitive可以是polyline、triangle、quad;会创建新的约束类型stitch(点到点)、ptprim(点到面,UV位置存储在restvector);

        Sliding滑动,stitch和attach约束均可滑动;不是一个新的约束类型,仅是该约束的一个特征;另外还可以沿primitive内部滑动,在解算器内还可调整滑动的方式;如在attach约束中,开启tangent stiffness其可能会对抗滑动(使用滑动变慢);

        As Rigid As Possible(ARAP) 新约束类型,忽略了triangle/tetrahedron上的旋转并最大限度的减少拉伸和斜切;在试图恢复triangle/tetrahedron原始形状时,会产生类似弹性的行为;此约束是针对整个triangle/tet形状的,不是像以前一样仅仅沿边的弹性;cloth约束内的stretch类型也可设置为triangle stretch,此时则不可调节anisotropy;

注,Tetrahedral stretch通常使用较少迭代即可;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值