2026-05-07
Mozi A.

Rig2 Remake 系统流程图

Rig2 Remake 系统的分层结构、属性总线、驱动求值等详细流程图。

1. 总体分层图

flowchart TD
    A["User Controls / Anim Inputs"] --> B["Property Layer: prop.misc, prop.limbs, prop.head, prop.prop, stature.prop, Face_BlendShapes"]
    B --> C["Compute Layer: logic (125 custom props)"]
    C --> D["Driver Targets"]

    D --> D1["Pose Constraints (852)"]
    D --> D2["Modifier Channels (76 driven channels)"]
    D --> D3["ShapeKeyData on Lattice (56 drivers)"]
    D --> D4["Bone Collection Visibility (32)"]
    D --> D5["Geometry Nodes Inputs (AIO Limbs)"]
    D --> D6["B-Bone Easing / Bone Params"]

    D1 --> E["Final Pose"]
    D2 --> E2["Mesh/Lattice Visibility + Deform Stack"]
    D3 --> E3["Lattice Deformation"]
    D5 --> E4["Geo Attribute Processing"]

    E --> F["Viewport / Render Output"]
    E2 --> F
    E3 --> F
    E4 --> F

2. 属性总线与驱动求值

flowchart LR
    A["prop.* bones"] --> B["logic: scripted + average drivers"]
    A2["Face_BlendShapes"] --> B
    A3["stature.prop"] --> B

    B --> C1["Constraint Influence"]
    B --> C2["Constraint Limits / Transform Ranges"]
    B --> C3["Modifier Threshold / Strength / Show"]
    B --> C4["ShapeKey Value / Mute"]
    B --> C5["Collection is_visible"]
    B --> C6["Geo Nodes math input"]

    C1 --> D["Rig behavior switching"]
    C2 --> D
    C3 --> D
    C4 --> D
    C5 --> D
    C6 --> D

3. 四肢模式切换(IK / FK / Fancy / MI)

flowchart TD
    A["prop.limbs: arm-L-fk-ik, leg-L-fk-ik, ik-stretch.*, arm-world-ik..."] --> B["logic derived states"]

    B --> B1["is_arm_ik / is_arm_fk"]
    B --> B2["is_leg_ik / is_leg_fk"]
    B --> B3["feet_style -> ankle-ik / fancy_feet / disable_fancy"]
    B --> B4["ik-stretch.arm.* / leg_stretch.* / fancy_leg_stretch.*"]
    B --> B5["show_mi / mi_mapping_mode"]

    B1 --> C1["arm.upper/lower constraints blend"]
    B2 --> C2["leg.upper/lower constraints blend"]
    B3 --> C3["ankle / fancy feet constraints"]
    B4 --> C4["Stretch To / Copy Transforms channels"]
    B5 --> C5["MI mapping constraints + collection visibility"]

    C1 --> D["Final limb pose"]
    C2 --> D
    C3 --> D
    C4 --> D
    C5 --> D

4. Lattice + ShapeKey 修正链

flowchart LR
    A["Bone Rotations (TRANSFORMS vars)"] --> B["ShapeKeyData on Lattice key_blocks"]
    A2["logic bend/fancy props"] --> B
    A3["stature.prop"] --> B

    B --> C["Lattice Objects (91 total, 27 with shape keys)"]
    C --> D["Mesh Lattice Modifiers (126)"]
    D --> E["Corrective Deformation Output"]

5. Curve + Hook + Spline IK 柔性链

flowchart TD
    A["Tweak Bones (arm.tweak.*, leg.tweak.*)"] --> B["Hook Modifiers on Curves (28)"]
    B --> C["Arm/Leg Curves (8)"]
    C --> D["Spline IK Constraints (12)"]
    D --> E["Spline Bone Chains"]
    E --> F["Secondary smooth motion / bend continuity"]

6. 面部系统(Face_BlendShapes -> 约束网络)

flowchart TD
    A["Face_BlendShapes (52 props)"] --> B["Drivers to facial constraint influences"]

    B --> C1["Mouth BS bones"]
    B --> C2["Eye BS bones"]
    B --> C3["Eyebrow BS bones"]
    B --> C4["Teeth / Tongue channels"]
    B --> C5["Pupil panel / eye look channels"]

    C1 --> D["Facial pose output"]
    C2 --> D
    C3 --> D
    C4 --> D
    C5 --> D

    E["logic: face_cap, mouth_shape, jaw, lash_style..."] --> B

7. Geometry Nodes 链路(AIO Limbs)

flowchart LR
    A["Mesh Geometry"] --> B["GN Group: AIO Limbs"]
    C["logic.bend_crease_edge"] --> B1["Math input driver"]
    D["logic.hands"] --> B2["Math input driver"]

    B1 --> B
    B2 --> B

    B --> E["Named Attribute: crease_edge (read/write)"]
    E --> F["Set Shade Smooth / Join Geometry"]
    F --> G["Geo Output to Modifier Stack"]

8. 可见性与控制器 UI 自动切换

flowchart TD
    A["logic mode flags"] --> B["ArmatureData drivers on collections_all[*].is_visible"]

    B --> C1["IK/FK controller sets"]
    B --> C2["Left/Right hand variants (Alex/Steve)"]
    B --> C3["Footroll / Fancy / Ankle sets"]
    B --> C4["Face / Eye / Mouth / Tracker sets"]
    B --> C5["MI_Mapping set"]

    C1 --> D["Contextual animator UI"]
    C2 --> D
    C3 --> D
    C4 --> D
    C5 --> D

9. 驱动类型图(实现策略)

flowchart LR
    A["All Drivers (604)"] --> B1["AVERAGE (517)"]
    A --> B2["SCRIPTED (87)"]

    B1 --> C1["Single source mapping"]
    B1 --> C2["Cleaner maintenance for simple channels"]

    B2 --> D1["logic derived formulas"]
    B2 --> D2["bbone_easein/easeout shaping"]

    C1 --> E["Stable runtime behavior"]
    C2 --> E
    D1 --> E
    D2 --> E

10. AIO 材质节点图谱(rig2_material)

flowchart LR
    A["Image: rig2.png (Skin/Alpha)"] --> G["Group: rig2_material"]
    B["Image: eye.png (Eye/Alpha)"] --> G
    C["Image: rig2-sss.png (SSS Color/Alpha)"] --> G

    D["Group: Eye UV (UVMap=LR)"] --> B
    E["Group: Eye LR (Gradient Fac)"] --> F1["Color Ramp x6"]
    F1 --> G

    H["UVMap (UVMap)"] --> I1["Pupil.inside #1"]
    H --> I2["Pupil.inside #2"]
    H --> I3["Pupil.inside #3"]
    I1 --> J["Math ADD"]
    I2 --> J
    J --> K["Math ADD"]
    I3 --> K
    K --> G

    G --> O["Material Output: Surface"]
flowchart TD
    A["Group: rig2_material 输入"] --> B1["Skin Group BSDF"]
    A --> B2["Eye Group BSDF"]
    A --> B3["Brow Diffuse BSDF"]
    A --> B4["EyeWhite Diffuse BSDF"]
    A --> B5["Oral Principled BSDF"]
    A --> B6["Tongue Principled BSDF"]
    A --> B7["Teeth Group BSDF"]
    A --> B8["Gay Ball BSDF"]

    M1["Attribute: rig2_is_body"] --> X1["Mix Shader Chain"]
    M2["Attribute: rig2_is_eye"] --> X1
    M3["Attribute: rig2_is_eyewhite"] --> X1
    M4["Attribute: rig2_is_brow"] --> X1
    M5["Attribute: rig2_is_oral"] --> X1
    M6["Attribute: rig2_is_tongue"] --> X1
    M7["Attribute: rig2_is_teeth"] --> X1

    B8 --> X1
    B1 --> X1
    B2 --> X1
    B4 --> X1
    B3 --> X1
    B5 --> X1
    B6 --> X1
    B7 --> X1

    X1 --> Y["Group Output: Shader"]
flowchart LR
    A["Eye Group"] --> B["Eye Procedural textures"]
    A2["Use Texture"] --> C["Mix(procedural, eye.png)"]
    B --> C
    D["Mask"] --> C2["Mix(final_color, custom Color)"]
    C --> C2
    C2 --> E["Principled BSDF (Eye Base+Emission)"]

    F["Pupil Factory (5 layers)"] --> G["Pupil Mixer (Color1..6 + Fac1..5)"]
    G --> B
    H["Pupil UV"] --> F
    I["Pupil.inside x5"] --> F

Rig2 Remake 系统流程图

本文链接: https://mozi1924.com/mozi-rig/system-flowcharts/

本文作者 Mozi A.
发布时间 2026-05-07
版权声明

本文采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

Discussion

Add a comment...

No comments yet.

Be the first to share your thoughts!