Muscles|Tissue —— Workflow

目录

Muscles pass

Tissue pass

Skin pass

Simulation transfer


Muscles pass

        Muscles & Tissue的第一阶段内,为模拟创建muscle pass,会创建solid肌肉几何体(用动画骨骼移动和弯曲),然后驱动下游组织的大部分变形(point deforms);

Muscles|Tissue —— Workflow_第1张图片

导入static muscle surfaces,animated bone surfaces、static t-pose bone surfaces

  • muscle surface应是无洞或桥不交叉的多边形几何体(真实世界比例);

命名muscles

  • 在四面体化前,每个muscle都需有muscle_id属性;

移除任何不需要的几何体组(可选)

  • 如使用组去选择muscle surface,不再需要这些组应移除;

为bone surface设置t-pose

  • Set T-pose SOP(即Rest Position SOP)创建tpose点属性;

外部三角化muscle(可选)

  • skin surface在四面体化前需三角化,传统上在Muscle Solidify SOP节点使用Remesh Surface参数设置;
  • 为更加控制,可在外部使用Remesh SOP节点;

三角化然后四面体化muscle surfaces

  • 使用Muscle Solidify SOP节点;
  • 实体muscle没有一个外部的多边形surface,会在解算器中实时创建(仅在被滑动约束要求下);
  • 注,此节点后不要在插入节点来改变点位置;

Groom muscle fiber diection

  • 当肌肉弯曲flex时,会在该矢量方向收缩;fiber vector会定义肌肉局部轴的方向;
  • 方向会存储在materialW属性上,然后被Muscle Flex SOP节点使用;

设置muscle物理特性

  • 使用Muscle Properties SOP节点;
  • 确定肌肉的物体特性如对外形变化的抗力,肌肉的僵硬或松弛,收缩或膨胀等;
    • shape stiffness,保持原始形状的刚性;
    • damping ratio,肌肉外形变化的多快;
    • Mass Density,确定四面体数量是否影响其在模拟中的整体质量或外观;
    • fiber stength,决定肌肉受挤压的强度;
    • fiber damping,控制肌肉收缩的速度;
    • fiber scale range,定义肌肉张力的最小/最大阈值;
    • fiber volume scale,控制当完全收缩时应用到四面体的volume scale力;
    • tendon stiffness,确定应用到shape stiffness的缩放因子;
    • tendon mask radius,定义tendon区域;
    • thickness threshold,定义tendon stiffness阈值,高于阈值视为belly,低于阈值视为tendon;

Preroll the bone surfaces

  • 使用Muscle Preroll SOP节点,从tpose到起始状态的变换存储于detail的preroll_属性;

设置muscle约束特性

  • 使用Muscle Constraint Properties Vellum SOP节点;
  • 为肌肉创建和配置约束,将肌肉附着于骨骼或相互彼此等;

镜像muscles(可选)

  • 使用Muscle Mirror SOP节点;

绘制tissue property masks(可选)

  • 使用Muscle Paint SOP节点;

创建muscle tension lines

  • 使用Muscle Tension Lines SOP节点;
  • 肌肉激活的触发,肌肉张力的增加和减少,muscletension属性驱动肌肉的弯曲;
  • 属性autoflex_id,restlength,length,

获取preroll bone surfaces

动画muscle tension

  • 使用Muscle Flex节点;

模拟解算muscles

  • 使用Muscle Vellum Solver SOP节点;

缓存muscle解算结果

收集肌肉和骨骼

Tissue pass

        Muscles & Tissue的第二阶段内,为模拟创建tissue pass,会围绕肌肉创建填充四面体,填充core layer与tissue layer之间的间隙;tissue pass显示肌肉定义和较粗糙皮肤褶皱,下游skin pass则显示精细皮肤褶皱并为外表添加额外细节;

tissue pass包括两层,每层都是两个独立的几何体组成,每层也都有独立的物理特性和约束:

  • core layer,core solid(内部四面体),core surface(外部三角化表面);
  • tissue layer,tissue solid(内部四面体),tissue surface(外部三角化表面);

Muscles|Tissue —— Workflow_第2张图片

导入skin surface

  • 导入原始高精度皮肤表面几何体;

从muscle pass获取模拟muscle和动画bone surface

从muscle solid和bone surface提取t-pose

合并模拟muscle和动画bone surface

外部三角化tissue surface(可选)

  • 四面体化前需三角化tissue surface,传统上是在Tissue Solidify SOP上使用remesh surface参数设置;为更加控制,可在外部使用Remesh SOP节点;
  • 使用Attribute Paint SOP、Attribute Remap SOP控制size;
  • 最后删除这些不必要的属性;

三角化tissue surface并四面体化

  • 使用Tissue Solidify SOP节点;

缓存tissue几何体(可选)

绘制tissue  property mask(可选)

设置tissue properties

  • 使用Tissue Properties SOP节点;

使tissue的区域rigid(可选)

  • 使用Group Create SOP节点;
  • 在Tissue Solver Vellum节点Advanced/Rigid Group使用;

Preroll tissue

  • 使用Muscle Preroll SOP节点;

从muscle pass获取模拟muscle和动画bone surface

合并所有muscle和bone几何体

模拟解算tissue

  • 使用Tissue Solver Vellum SOP节点;

清理解算的tissue

  • 使用Blast SOP、Clean SOP移除solid和不需要的属性;
  • 保留tpos属性;

缓存解算的tissue

Skin pass

        一旦完成tissue的模拟,即可创建skin pass,可创建额外tissue layer(为最外表添加额外细节);

skin pass由两独立几何体组成:

  • skin surface,外部三角化表面;
  • skin solid,内部四面体;

Muscles|Tissue —— Workflow_第3张图片

导入skin surface几何体

外部三角化skin surface(可选)

三角化skin surface并四面体化

  • 创建Skin Solidify SOP节点;

使shin的区域rigid(可选)

绘制skin  property mask(可选)

设置skin properties

  • 使用Skin Properties SOP节点;

获取tissue解算缓存

Preroll skin

  • 使用Muscle Preroll SOP节点;

模拟解算skin

  • 使用Skin Solver Vellum SOP节点;

清理解算的skin

  • 使用Blast SOP、Clean SOP移除solid和不需要的属性;
  • 保留tpos属性;

缓存解算的skin

Simulation transfer

        一旦完成角色Muscles & Tissue的模拟,即可从tissue或skin传递所有点变形到高精度mesh;

Muscles|Tissue —— Workflow_第4张图片

你可能感兴趣的:(Houdini,#,Muscles,Tissue,Houdini)