目录
Muscle fiber scale force & muscle tension
使用Muscles&Tissue系统时,角色会进行三个独立的模拟层(muscle pass、tissue pass、skin pass),最终获得可渲染的变形surface;在每个模拟层的最后,均可在并入后续层前cache缓存;最后将最终的模拟变形传递到可渲染的高精度模型;
每一个层pass操作如下:
- 对传入实体柔体(四面体构成)进行操作,并解释其上的属性(以配置物体特性和vellum约束);
- 使用上一层的输出作为当前层的输入,以便让静态几何体animate到约束或碰撞;如第一个模拟层(muscle pass),约束几何体由动画骨骼(可来源于KineFX或Alembic缓存)提供;所有Muscles&Tissue都相当于静态T-pose创建的;
Simulation geometry
Muscle Pass
- Muscle Solidify SOP节点,要求不相交多边形;
- Muscle Solver Vellum SOP节点,要求实体肌肉配置了物体属性和约束属性,及动画骨骼几何体;
Tissue Pass
- Tissue Solidify SOP节点,要求skin,muscle解释缓存,动画骨骼,core、core falloff polylines(可选);
- Tissue Solver Vellum SOP节点,要求实体组织配置了物体属性和约束属性,及表示肌肉和骨骼动画的动画surface;
Skin Pass
- Skin Solidify SOP节点,要求skin surface;
- Skin Solver Vellum SOP节点,要求实体skin配置了物体属性和约束属性,及表示tissue动画的动画surface;
Pass Layers
尽管每个模拟pass,都是对实体柔体操作,但多边形surface(fused)也会发挥作用,如多边形surface可作为滑动约束的目标;这就是为什么每个layer均包括四面体和封闭的多边形surface;
Muscle Pass
肌肉是通过输入四面体多边形生成的,每个piece创建一个不同的肌肉,每个piece会创建muscle_id属性;如重叠的肌肉surface共享muscle_id,则会作为总体四面体化,不同则单独四面体化;当仅被要求vellum滑动约束时,surface会在Muscle Solver Vellum SOP内创建;
Tissue Pass
使用分层方法生成组织,组织可能是系统中最复杂的对象,被分为两层;最里面的一层称为core,围绕core的称为tissue;被创建的多边形surface包裹core四面体和tissue四面体;因此包括四个不同的几何体:tissue surface、tissue solid、core surface、core solid;
core起到将tissue附着到muscle上的中介作用,牢固地附着在肌肉和骨骼上,并作为tissue附着目标; 意味着tissue是通过core将tissue附着在肌肉和骨骼上的;core还可对缩放力起作用(通过对tissue几何体施加向内的拉力),从而通过应用负压力强制将其推向肌肉和骨骼;
Skin Pass
skin是tissue后的可选pass,由两种结构构建(类似提示啥):内部四面体(skin solid可传递物理特性如形态刚度和体积保持)和外部三角形表面(skin surface可提供抗拉伸以产生褶皱);skin被约束到具有各种滑动量的tissue surface;
Attachments
了解每个模拟pass与其关联的附着约束之间的关系,是调节模拟结果的关键;由于多个附着约束同时存在和前后影响相同的几何体,熟悉约束每个类型非常重要;
Muscle constraints
由Muscle Properties SOP和Muscle Constraint Properties Vellum SOP配置,Muscle Vellum Solver SOP应用这些属性值;在所有情况下,firm附着意味着高刚度,抵抗试图将其从rest位置拉开的力;其他附着均受到stiffness、damping ratio影响,以影响响应和弹性行为;
- muscle被附着在骨骼上(Muscle Ends区域);
- muscle被弹性滑动地附着在骨骼上(Muscle to Bone);
- muscle被弹性地附着在其他muscle上(Muscle to Muscle);
- muscle被牢固不滑动地附着在其他muscle上(Muscle Glue);
Tissue constraints
由Tissue Properties SOP配置,Tissue Vellum Solver SOP使用这些属性来创建必要约束;在所有情况下,firm附着意味着高刚度,抵抗试图将其从rest位置拉开的力;其他附着均受到stiffness、damping ratio影响,以影响响应和弹性行为;
- 所有core点被附着在肌肉和骨骼上;
- tissue solid被附着在core surface;
- tissue surface可被滑动地附着在肌肉和骨骼上;
- 距离限制附着限制tissue surface滑动过远;
Skin Constraints
由Skin Properties SOP配置,Skin Vellum Solver SOP使用这些属性来创建必要约束;
- 所有skin solid点被附着和滑动在tissue surface;
- skin surface点单独滑动附着在tissue surface;
- 距离限制附着限制skin surface滑动过远;
Force
Muscle fiber scale force & muscle tension
肌肉对沿着局部轴的刚性力做出反应,产生类似肌肉收缩的效果(fiber scaling);默认肌肉被赋予高体积保持刚性,当沿局部轴应用fiber scaling,则垂直于该轴会出现凸起;
muscletension,应用fiber scaling力(Muscle Flex SOP);
fiberstiffness,提供fiber scaling力及强度(Muscle Properties SOP/Strength);
materialW,控制局部轴的方向,可使用Fiber Groom SOP交互式的操作;
fibervolumescale,保持体积(Muscle Properties SOP/Fiber Volume Scale);
Volume scale or shrinkage
Tissue Properties SOP和Skin Properties SOP有控制可收缩的参数;在rest位置(tpos属性),tissue、core、skin记录了rest体积和rest形状(每个prim),在模拟时可相当于初始状态修改;可缩放值,来调整rest配置并创建收缩效果(使tissue和skin紧贴内部肌肉和骨骼);
通过平衡core、tissue solid、tissue surface、skin solid、skin surface的rest缩放,可实现不同组织外观,如收缩tissue四面体,扩展surface三角形,会导致tissue的表面额外的弯曲;
Sliding
如对其attachment应用滑动约束,可实现可信的模拟;滑动约束可使surface、muscle保持附着在内部几何体且可相对于初始状态滑动;
使用Slide Rate/Slide Distance参数来控制tissue surface、skin surface滑动;