From 8b384dffa0d9c63c7a657c6e567c2ddefbf046cd Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 11 Oct 2020 20:00:58 +0800 Subject: +Saionji show off scene --- .../UMotionEditor/Manual/pages/ChildOf.html | 267 +++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 Assets/ThirdParty/UMotion/UMotionEditor/Manual/pages/ChildOf.html (limited to 'Assets/ThirdParty/UMotion/UMotionEditor/Manual/pages/ChildOf.html') diff --git a/Assets/ThirdParty/UMotion/UMotionEditor/Manual/pages/ChildOf.html b/Assets/ThirdParty/UMotion/UMotionEditor/Manual/pages/ChildOf.html new file mode 100644 index 00000000..cc8a3503 --- /dev/null +++ b/Assets/ThirdParty/UMotion/UMotionEditor/Manual/pages/ChildOf.html @@ -0,0 +1,267 @@ + + + + + + UMotion Manual - Child-Of + + + + + +
+ + +
+
+

Version: 1.22p03

+
+
+
+
+ UMotion Manual +
+ +
    + +
  1. UMotion Manual
  2. + +
  3. Introduction & Tips
  4. + +
  5. Getting Started
  6. + +
  7. + +
      +
    1. + +
        +
      1. Quick Start Tutorial
      2. + +
      3. 1) Installation & First Steps
      4. + +
      5. 2) Pose Editing
      6. + +
      7. 3) Clip Editor
      8. + +
      9. 4) Curves & Rotation Modes
      10. + +
      11. 5) Config Mode
      12. + +
      13. 6) Export Animations
      14. + +
      15. 7) Root Motion
      16. + +
      17. 8) Animation Events
      18. + +
      19. 9) Pose Mirroring
      20. +
      +
    2. + +
    3. + +
        +
      1. 1) Importing Animations
      2. + +
      3. 2) Inverse Kinematics
      4. + +
      5. 3) Child-Of Constraint
      6. + +
      7. 4) Custom Properties
      8. + +
      9. 5) IK Pinning
      10. +
      +
    4. + +
    5. + +
        +
      1. 1) Our First Animation
      2. + +
      3. 2) Editing Animations
      4. + +
      5. 3) Customizing an animation for a RPG
      6. + +
      7. 4) Unity Timeline & Weighted Tangents
      8. +
      +
    6. + +
    7. + +
        +
      1. UMotion Tutorial
      2. +
      +
    8. +
    +
  8. + +
  9. How to create better animations
  10. + +
  11. + +
      +
    1. + +
        +
      1. File
      2. + +
      3. Edit
      4. + +
      5. Help
      6. +
      +
    2. + +
    3. Preferences
    4. + +
    5. Import / Export
    6. + +
    7. FK to IK Conversion
    8. + +
    9. + +
        +
      1. Project Settings
      2. + +
      3. Clip Settings
      4. +
      +
    10. + +
    11. Animated Properties List
    12. + +
    13. Root Motion
    14. + +
    15. Rotation Modes
    16. + +
    17. + +
        +
      1. Dopesheet
      2. + +
      3. Curves View
      4. +
      +
    18. + +
    19. Playback Navigation
    20. + +
    21. Layers
    22. +
    +
  12. + +
  13. + +
      +
    1. + +
        +
      1. + +
          +
        1. IK Setup Wizard
        2. + +
        3. Mirror Mapping
        4. +
        +
      2. + +
      3. Configuration
      4. + +
      5. Display
      6. +
      +
    2. + +
    3. + +
        +
      1. Tools
      2. + +
      3. Channels
      4. + +
      5. Selection
      6. + +
      7. Display
      8. + +
      9. Animation
      10. +
      +
    4. + +
    5. + +
        +
      1. Inverse Kinematics
      2. + +
      3. Child-Of
      4. + +
      5. Custom Property
      6. +
      +
    6. + +
    7. Options
    8. + +
    9. Tool Assistant
    10. +
    +
  14. + +
  15. Edit In Play Mode
  16. + +
  17. Unity Timeline Integration
  18. + +
  19. UMotion API
  20. + +
  21. Exporting Animations FAQ
  22. + +
  23. Support / FAQ
  24. + +
  25. Release Notes
  26. + +
  27. Known Issues
  28. + +
  29. Credits
  30. + +
+
+
+
+
+

Child-Of Professional

With the Child-Of Constraint it is possible to change the parent of a joint/transform during an animation. This is useful for pick-up, throwing or gun reloading animations.

Please note, that due to the fact that Unity uses a Vector3 for scaling, it is technically not possible for the Child-Of constraint to correctly distort a joint/transform when the parent is scaled and the child is rotated. That's why the decision was made that the scale is never updated when the new parent's scale is changing.

Only one Child-Of Constraint can be added per joint/transform.

Dealing With Spaces

Whenever the parent of any object (joint or transform) is changed by using the Child-Of constraint, you need to remember that this will also change the space the object's local position and rotation values. Think of the "zero" local position/rotation. As it the local position/rotation values are relative to the parent the object will be in completely different world space position depending if the parent is changed.

When changing the parent within an animation (either by keying the Parent or the IK Pinning property) also the space of the object's position/rotation will change from this frame on. Thus it is necessary to key the object's new position and rotation values at the same frame. If this would not be done, the position/rotation values of the previous parent's space would be used within the new parent's space which would produce some incorrect results.

It is also necessary to create a key for the object's position/rotation in the previous parent's space one frame before the parent is changed. Without this key, the animation curve would gently interpolate from the last position/rotation key (which is in the previous parent's space) to the position/rotation keys in the new parent's space. This would result in values that are neither in the previous nor in the new parent's space.

+

Child-Of Changing Parent - 2 position/rotation keys are necessary

+

Child-Of Changing Parent - Position curve in different spaces

As you can see in the above screenshots without the key on frame 5, the curve would gently interpolate from frame 0 to frame 6. Between frame 5 and 6 the spaces are changed within one frame.

The good news is that UMotion automatically creates these keys whenever a new parent key is created. But it is in your responsibility to keep those keys up to date. That means that whenever you move or delete the parent key you need to move or delete the position/rotation keys accordingly.

Updating Position/Rotation Keys

When you want to update the position/rotation of the object at the frame where the parent was keyed (or one frame before) it is necessary to update also the keys that are in the other space accordingly. Therefore, right click on the Parent or IK Pinned property and click on Update Position and Rotation Keys. This will automatically update the corresponding position/rotation keys in the other space. If keys have been deleted they will be recreated. This context menu item is only available at the frame where the Parent or IK Pinned property has a key or one frame before.

+

Child-Of Parent Channel - Context Menu

When creating a parent key (that changes the current parent) and there are existing position/rotation keys at frames afterwards a dialog will automatically appear asking if the existing keys should be converted to be in the new parent's space.

Setup

+

Child-Of Constraint - Setup

+ + + + + + + + +
UI ElementDescription
IK Pinning ModeThe IK Pinning Mode can be enabled on the IK handle to extend the Inverse Kinematics Constraint with pinning functionality. In this mode the Parent property of the Child-Of constraint is replaced by an IK Pinning toggle (on/off) property (see below). +

+ When an IK handle is pinned its parent is changed to be the root GameObject thus making it stay at its current position even if other bones are moved. When not being pinned the regular parent of the IK handle is used. Thus it is recommended to use the parent bone of the IK chain as IK handle parent (e.g. for the "IK_Left_Hand" the parent should be "LeftShoulder" or for the "IK_Left_Foot" the parent should be the "Hips"). +

+ The IK Setup Wizard is automatically setting up the IK pinning. +

Animated Properties

+ + + + + + + + + + + + +
PropertyDescription
ParentSelects a new parent. If none is selected, its original parent is used.
IK PinnedThis property replaces the parent property when "IK Pinning Mode" was enabled. When an IK handle is pinned, it stays in position even if the rest of the model is moved. This is achieved by making the IK handle a child of the root GameObject.
+
+

Copyright © 2017 - 2020 Soxware Interactive ALL RIGHTS RESERVED

+

Unity Forum Thread | Facebook | Twitter | Youtube

+
+
+
+ + -- cgit v1.1-26-g67d0