Endorphin:Руководство 12 - Использование динамической передачи движения
| Руководство 12 - Использование динамической передачи движения
| |
|---|---|
| |
ориг.название: Tutorial 12. Using dynamic motion transfer вики-редакция: Garin ссылка на сайт: NaturalMotion обсудить на форуме: Обсудить на форуме версия оригинала: 1.0 версия вики: 1.0 |
| Этот материал нуждается в переводе или допереводе.. Вы можете помочь перевести его. Не забывайте предварительно добавлять строку {{Edit|--~~~~}} в материалы над которыми работаете, чтобы не создавать конфликта правок. Пожалуйста, снимите шаблон этого сообщения, когда материал будет вычитан. |
Endorphin:Руководство 12 - Использование динамической передачи движения
|
Предисловие
In this tutorial, you will learn more about using motion transfer to map animation data from your original reference character onto a reshaped simulation character.
The most common use of motion transfer is during data import and export. The Import Options and Export Options dialogs allow you to specify a reference character for use as an intermediary when you are importing or exporting animated data.
You can also use motion transfer within a simulation itself, in the form of Motion Transfer events. These allow you to drive the motion of a simulation character using a combination of animation data and endorphin events such as behaviours and active poses.
This tutorial covers the motion transfer events, and introduces you to the concept of rig nodes. Rig nodes allow you to specify the degree to which motion is transferred for each mass object.
Step 1: Adding a character pair to a scene
In this step, we will create a new scene, and add a simulation-reference character pair to the scene.
To add a simulation-reference character pair to a scene:
- Launch endorphin and delete the default character.
- Select Character > Add Character… or click the Add Character button in the Main Toolbar to display the Add Character dialog.
- Click the Browse… button and select the folder Resources\Tutorials\Tutorial 12 - Using Motion Transfer. Click OK. This updates the working folder for characters.
- The character list will be updated to reflect the characters found in the working folder. Select the AudioMotion1 character from the list. Turn on the Include Reference Character setting and click OK. Two characters will be added to the scene—the AudioMotion1 simulation character, and the AudioMotion1 reference character. The simulation character is the same shape and size as the reference character.
- New characters are added at the origin of the scene, which means the AudioMotion1 simulation and reference characters are now superimposed. Select the AudioMotion1_ref reference character and move it 2 metres along the X axis. Select the AudioMotion1 simulation character and move it 2 metres along the X axis in the other direction.
Step 2: Importing animation onto the reference character
In this step, we will import animation data directly onto the reference character in a scene. You do not need to turn on the Transfer From Reference Character setting. This is because we are importing animation data directly onto its corresponding reference character. You only need to use Auto Motion Transfer when you are importing animation data onto simulation characters.
To import animation data onto the reference character:
- Select the AudioMotion1_ref reference character.
- Select File > Import…, or click the Import button on the Main Toolbar. The keyboard shortcut is I. Select the file
Resources\Tutorials\Tutorial 12 - Using Motion Transfer\AM_walk.fbx.
- Select the Hips node from the node hierarchy.
- Turn on the Include Parent Transforms setting.
- Click OK. The animation data is imported as a new animation event on the AudioMotion1_ref character timeline.
Step 3: Transferring motion to the simulation character
In this step, we will add a Motion Transfer event to the simulation character timeline. This will allow us to transfer the motion imported in Step 2 onto the simulation character.
To transfer motion to the simulation character:
- Right-click on the AudioMotion1 character timeline in the Timeline Editor, and select Create Motion Transfer Event.
- Adjust the Start Frame so that is starts one frame after the animation event. When an animation event is applied to a character, the first frame it affects is the next frame along. For example, if an animation event is applied at frame 200, you will first notice its effect at frame 201. If you would like a motion transfer event to be applied to the results ofan animation event, it needs to start at least one frame after the animation event begins.
- Adjust the End Frame to match the end frame of the animation event.
- Select the new motion transfer event.
- In the Property Editor, locate the [Select] command hotlink adjacent to the Source Character property. Click this hotlink to enter selection mode, and select the Audiomotion1_ref reference character in the viewport, Node View or Timeline Editor. Right-click in the viewport to leave this selection mode. The AudioMotion1_ref reference character has now been identified as the motion transfer source.
- Simulate the scene. The AudioMotion1_ref reference character is driven entirely by the animation data contained in its animation event. The AudioMotion1 simulation character is dynamically driven by the reference character via the motion transfer event. Keep in mind that the AudioMotion1 simulation character is simulated during the motion transfer process. This means you can modify the motion of the simulation character with other endorphin functionality such as behaviours and active poses.
Step 4: Controlling motion transfer with active poses
In this step, we will use active poses to help control the transferred motion on the target character.
Motion transfer involves driving some of the mass objects in a target character using the motion of corresponding mass objects in a source character. The mass objects that are not directly driven are able to move freely, subject to conditions such as joint limit constraints. Occasionally this can lead to mass objects wobbling in an undesirable manner. Adding a soft active pose is a useful technique to help smooth out unwanted artifacts of the motion transfer process.
To control motion transfer with an active pose:
- Zoom into the feet of the reference character.
- If you examine the feet of the reference character, you will notice that it has two-bone feet. The toes of the reference character pass through the ground plane during the walk cycle. You can use camera tracking to follow the motion of the reference character feet.
- Zoom into the feet of the simulation character.
- If you examine the feet of the simulation character, you will notice that it has three-bone feet. The extra bones are designed to improve foot-roll motion. The toes of the simulation character do not pass through the ground plane during the walk cycle. This clean-up happens automatically, due to the interaction of the collision objects in the feet of the simulation character.
- However, this additional joint has a corresponding mass object which has no corresponding rig node connection. As a result, this joint rotates freely during the walk cycle. We are going to add an active pose to the simulation character to prevent this unwanted toe rotation.
- Right-click on the AudioMotion1 simulation character timeline in the Timeline Editor, and select Create Active Pose Event. Ensure that the active pose has its Start Frame set to Frame 0, and that its duration matches the duration of the motion transfer event.
- The active pose adds some additional joint stiffness to all the joints in the simulation character. This joint stiffness does not affect joints driven by the motion transfer event. However, it will prevent free rotation on joints that are not driven by motion transfer.
- Simulate the scene again. You should find that the foot now behaves correctly, with no foot-ground slip, foot-ground penetration or toe wobble.
Step 5: Working with motion transfer rig groups
In this step we will create new motion transfer rig groups.
Introducing rig groups and rig nodes
Rig groups are composed of rig nodes. Each rig node has corresponding positional and angular strengths that specify the degree to which the rig node can transfer motion from a source mass object to a target mass object.
Until now, we have been using the Standard Motion Transfer rig group. You will use this rig group for transferring all the motion from a source character to a target character. It can be useful to create additional custom rig groups when you want to only partially transfer motion. For example, you might want to use motion transfer to drive a character’s torso and legs, and use a behaviour to drive the character’s arms and head.
To create a new rig group:
- Display the Motion Transfer Editor by selecting View > Motion Transfer Editor. The keyboard shortcut is M. The Motion Transfer Editor is automatically displayed when you enter Character Edit Mode.
- Select the AudioMotion1 simulation character. The Motion Transfer Editor displays the settings for this character.
- Browse to the Strengths tab. This page displays a list of available rig groups. You should find that the only rig group is the Standard Motion Transfer rig group.
- Click the Add… button to create a new rig group. Name the new rig group Right Arm Free and click OK.
- Select the RightUpperArm and RightHand rig nodes. You can hold down the Ctrl key to select multiple rig nodes.
- Change the rig node mode of the selected rig nodes to NoHold. This frees the right arm so that it will not be driven by motion transfer.
To use the new rig group with motion transfer:
- Select the motion transfer event on the AudioMotion1 simulation character timeline.
- Use the Property Editor to change the Rig Group property of the motion transfer event to Right Arm Free. When the scene is simulated, the motion transfer will now use the new rig group that you have created, and the right arm of the simulation character will not be driven by the walk cycle.
- Simulate the scene. You will notice that the mass objects making up the right arm of the simulation character are no longer displayed in red. Only mass objects that are driven by rig nodes are displayed in red during a motion transfer event.
- Also, notice that the right arm of the simulation character attempts to reach out to its side. This motion is due to the presence of the weak active pose that was added in Step 4. That active pose was a T-pose, in which the right arm was placed out to the side of the character. However, we can change the pose used by this active pose event.
- Select the active pose event in the AudioMotion1 simulation character timeline.
- Right-click on the active pose event and select Load Pose…. Browse to select the Holding Shield.nma pose file. In this pose, the character has its right arm across its chest, as though it were carrying a shield-like item.
- Deselect the active pose event.
- Simulate the scene again. The character will now lift its arm towards its chest and hold it there during the walk cycle. Meanwhile, the legs, torso and left arm of the simulation character continue to be driven by the motion transfer event.
- Experiment with this scene. For example, try changing the strength of the active pose event. This will change the degree to which the active pose affects the motion of the right arm.
- Also, try adding a mass object to the scene and attaching it to the right hand of the simulation character with a JoinBodies constraint. This mass object represents the mass of the shield carried by the simulation character. Note how the position of the arm is affected by the mass of this mass object.
Conclusion
You have used motion transfer events to transfer motion from an animation event onto a simulation character. You have also created additional motion transfer rig groups to modify the way motion is transferred. Finally, you have mixed motion transfer events with active pose events to control the motion of joints that are not driven by the motion transfer.
If you have any problems with this tutorial, open the corresponding scene Resources\Tutorials\Tutorial 12 – Using Motion Transfer\Tutorial 12 – Using Motion Transfer - Complete.ens . This scene is an example of how your scene should look if you have successfully followed all the steps in this tutorial.







