GameVsJam/3d Prototyp/Assets/UMotionEditor/Manual/FKtoIKConversion.html

243 lines
12 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="shortcut icon" type="image/png" href="styles/UMotionFavicon.png" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>UMotion Manual - FK to IK Conversion</title>
<link rel="stylesheet" type="text/css" href="styles/theme_styles.css" media="screen">
<link rel="stylesheet" type="text/css" href="styles/treeview_styles.css" media="screen">
<link rel="stylesheet" type="text/css" href="styles/element_styles.css" media="screen">
</head>
<body>
<div class="header">
<div class="headerLogo">
<img src="styles/UMotionLogoHeader.png"></img>
</div>
<div class="headerBlueRight">
<a href="https://www.soxware.com" class="headerLink">soxware.com</a>
</div>
</div>
<div class="versionHeader">
<p class="versionText">Version: <b>1.29p03</b> </p>
</div>
<div class="leftContent">
<div class="leftContentInner">
<div class="leftContentHeadline">
UMotion Manual
</div>
<!-- Tree View -->
<ol class="tree">
<li class="file"><a href="UMotionManual.html">UMotion Manual</a></li>
<li class="file"><a href="Introduction.html">Introduction & Tips</a></li>
<li class="file"><a href="GettingStarted.html">Getting Started</a></li>
<li>
<label for="VideoTutorials"><a href="VideoTutorials.html" class="treeFolderLink">Video Tutorials</a></label> <input type="checkbox" id="VideoTutorials" />
<ol>
<li>
<label for="GeneralTutorials"><a href="GeneralTutorials.html" class="treeFolderLink">General</a></label> <input type="checkbox" id="GeneralTutorials" />
<ol>
<li class="file"><a href="QuickStart.html">Quick Start Tutorial</a></li>
<li class="file"><a href="Lesson1.html">1) Installation & First Steps</a></li>
<li class="file"><a href="Lesson2.html">2) Pose Editing</a></li>
<li class="file"><a href="Lesson3.html">3) Clip Editor</a></li>
<li class="file"><a href="Lesson4.html">4) Curves & Rotation Modes</a></li>
<li class="file"><a href="Lesson5.html">5) Config Mode</a></li>
<li class="file"><a href="Lesson6.html">6) Export Animations</a></li>
<li class="file"><a href="Lesson7.html">7) Root Motion</a></li>
<li class="file"><a href="Lesson8.html">8) Animation Events</a></li>
<li class="file"><a href="Lesson9.html">9) Pose Mirroring</a></li>
</ol>
</li>
<li>
<label for="ProfessionalExclusive"><a href="ProfessionalExclusive.html" class="treeFolderLink">UMotion Pro</a></label> <input type="checkbox" id="ProfessionalExclusive" />
<ol>
<li class="file"><a href="ProLesson1.html">1) Importing Animations</a></li>
<li class="file"><a href="ProLesson2.html">2) Inverse Kinematics</a></li>
<li class="file"><a href="ProLesson3.html">3) Child-Of Constraint</a></li>
<li class="file"><a href="ProLesson4.html">4) Custom Properties</a></li>
<li class="file"><a href="ProLesson5.html">5) IK Pinning</a></li>
</ol>
</li>
<li>
<label for="InPractice"><a href="InPractice.html" class="treeFolderLink">In Practice</a></label> <input type="checkbox" id="InPractice" />
<ol>
<li class="file"><a href="InPractice1.html">1) Our First Animation</a></li>
<li class="file"><a href="InPractice2.html">2) Editing Animations</a></li>
<li class="file"><a href="InPractice3.html">3) Customizing an animation for a RPG</a></li>
<li class="file"><a href="InPractice4.html">4) Unity Timeline & Weighted Tangents</a></li>
</ol>
</li>
<li>
<label for="Jayanam"><a href="Jayanam.html" class="treeFolderLink">Jayanam</a></label> <input type="checkbox" id="Jayanam" />
<ol>
<li class="file"><a href="Jayanam1.html">UMotion Tutorial</a></li>
</ol>
</li>
</ol>
</li>
<li class="file"><a href="HowToCreateBetterAnimations.html">How to create better animations</a></li>
<li>
<label for="ClipEditor"><a href="ClipEditor.html" class="treeFolderLink">Clip Editor</a></label> <input type="checkbox" checked id="ClipEditor" />
<ol>
<li>
<label for="MenuBar"><a href="MenuBar.html" class="treeFolderLink">Menu Bar</a></label> <input type="checkbox" id="MenuBar" />
<ol>
<li class="file"><a href="MenuBarFile.html">File</a></li>
<li class="file"><a href="MenuBarEdit.html">Edit</a></li>
<li class="file"><a href="MenuBarHelp.html">Help</a></li>
</ol>
</li>
<li class="file"><a href="Preferences.html">Preferences</a></li>
<li class="file"><a href="ImportExport.html">Import / Export</a></li>
<li class="file"><a href="FKtoIKConversion.html"><b><u>FK to IK Conversion</u></b></a></li>
<li>
<label for="MainNavigation"><a href="MainNavigation.html" class="treeFolderLink">Main Navigation</a></label> <input type="checkbox" id="MainNavigation" />
<ol>
<li class="file"><a href="ProjectSettings.html">Project Settings</a></li>
<li class="file"><a href="ClipSettings.html">Clip Settings</a></li>
</ol>
</li>
<li class="file"><a href="AnimatedPropertiesList.html">Animated Properties List</a></li>
<li class="file"><a href="RootMotion.html">Root Motion</a></li>
<li class="file"><a href="RotationModes.html">Rotation Modes</a></li>
<li>
<label for="DopesheetCurves"><a href="DopesheetCurves.html" class="treeFolderLink">Dopesheet / Curves View</a></label> <input type="checkbox" id="DopesheetCurves" />
<ol>
<li class="file"><a href="Dopesheet.html">Dopesheet</a></li>
<li class="file"><a href="Curves.html">Curves View</a></li>
</ol>
</li>
<li class="file"><a href="Playback.html">Playback Navigation</a></li>
<li class="file"><a href="Layers.html">Layers</a></li>
</ol>
</li>
<li>
<label for="PoseEditor"><a href="PoseEditor.html" class="treeFolderLink">Pose Editor</a></label> <input type="checkbox" id="PoseEditor" />
<ol>
<li>
<label for="ConfigMode"><a href="ConfigMode.html" class="treeFolderLink">Config Mode</a></label> <input type="checkbox" id="ConfigMode" />
<ol>
<li>
<label for="RigHierarchy"><a href="RigHierarchy.html" class="treeFolderLink">Rig Hierarchy</a></label> <input type="checkbox" id="RigHierarchy" />
<ol>
<li class="file"><a href="IKSetupWizard.html">IK Setup Wizard</a></li>
<li class="file"><a href="MirrorMapping.html">Mirror Mapping</a></li>
</ol>
</li>
<li class="file"><a href="Configuration.html">Configuration</a></li>
<li class="file"><a href="ConfigDisplay.html">Display</a></li>
</ol>
</li>
<li>
<label for="PoseMode"><a href="PoseMode.html" class="treeFolderLink">Pose Mode</a></label> <input type="checkbox" id="PoseMode" />
<ol>
<li class="file"><a href="Tools.html">Tools</a></li>
<li class="file"><a href="Channels.html">Channels</a></li>
<li class="file"><a href="Selection.html">Selection</a></li>
<li class="file"><a href="PoseDisplay.html">Display</a></li>
<li class="file"><a href="Animation.html">Animation</a></li>
</ol>
</li>
<li>
<label for="Constraints"><a href="Constraints.html" class="treeFolderLink">Constraint System</a></label> <input type="checkbox" id="Constraints" />
<ol>
<li class="file"><a href="InverseKinematics.html">Inverse Kinematics</a></li>
<li class="file"><a href="ChildOf.html">Child-Of</a></li>
<li class="file"><a href="CustomProperty.html">Custom Property</a></li>
</ol>
</li>
<li class="file"><a href="Options.html">Options</a></li>
<li class="file"><a href="ToolAssistant.html">Tool Assistant</a></li>
</ol>
</li>
<li class="file"><a href="EditInPlayMode.html">Edit In Play Mode</a></li>
<li class="file"><a href="UnityTimelineIntegration.html">Unity Timeline Integration</a></li>
<li class="file"><a href="UMotionAPI.html">UMotion API</a></li>
<li class="file"><a href="ExportingAnimationsFAQ.html">Exporting Animations FAQ</a></li>
<li class="file"><a href="Support.html">Support / FAQ</a></li>
<li class="file"><a href="ReleaseNotes.html">Release Notes</a></li>
<li class="file"><a href="KnownIssues.html">Known Issues</a></li>
<li class="file"><a href="Credits.html">Credits</a></li>
</ol>
</div>
</div>
<div class="mainContent">
<div class="mainContentInner">
<h1 class="headline1" id="">FK to IK Conversion <span class="professionalTag">Professional</span></h1><p class="textBlock">This dialog allows to automatically create Inverse Kinematics keys that result in a similar animation as the respective Forward Kinematics keys. This is very useful for converting existing animations to IK. Animations that use IK instead of FK are usually easier to modify.</p><p class="textBlock">Please note that the FK to IK conversion can also be performed directly when importing animations (see <a href="ImportExport.html#Import" class="link">Import</a>).</p><p class="textBlock">The conversion works across every type of 3D model no matter if it's a human like character, a robot, a spider,... Before the conversion can take place, Inverse Kinematics needs to be setup</p><img src="images/FkToIkConversion.png" class="image"></img>
<p class="imageText">FK to IK Conversion Dialog</p><p class="textBlock">The dialog lists every IK handle that is setup in the animated GameObjects rig (see <a href="IKSetupWizard.html" class="link">IK Setup Wizard</a>). Select the IK handles that should be converted. The converter will automatically create keys for the IK handle to imitate the animation defined by the FK keys. Please note that the converted IK animation can slightly differ from the original FK animation.</p><p class="textBlock">Attention: If the current animation already has keys for the IK handles that should be converted, those keys will be automatically removed.</p><p class="textBlock"><b>Delete FK Keys:</b> When this option is enabled, the FK keys that have been converted to IK will be deleted. IK handles that use "FK Pose" as reference need their FK keys to function properly thus those FK keys will not be deleted.</p><h2 class="headline2" id="">Improving Conversion Accuracy</h2><p class="textBlock">When using IK it is usually not possible to rotate single bones in the chain around their own axis (= twist/roll rotations). Meaning that it is possible to the whole IK chain around the pole axis (using either the pole rotation property or the pole handle) but it is not possible to rotate only a certain bone around its own axis. Thus, if the animation that is converted to IK contains such rotations for bones that are within the IK chain, this rotation usually won't make it into the resulting IK animation. This can lead to visible differences. There are 2 ways to compensate that:</p><ul class="listMain">
<li class="listItem"><span class="listText">Setting the <b>Reference</b> of the IK constraint to <b>FK Pose</b>. That way, the "twist" rotations are taken over from the FK pose. The downside of this method is, that in order for this to work the FK keys can't be removed from the clip after conversion as they are still needed. Furthermore the tight coupling of the FK pose with the IK pose makes it harder to edit the animation.</span></li>
<li class="listItem"><span class="listText">By default the <b>Target Rotation</b> of the IK constraint is set to <b>FK Rig</b>. Let's assume we have an arm controlled via IK and the hand is the IK target. Using this rotation mode will use the local rotation the hand has in the FK rig and copy it to the IK rig. Thus if the forearm has a slightly different rotation (because of the missing twist rotation) this will result in a different global rotation of the hand.
</br>
For poses where it is necessary that the global target rotation stays exactly the same as in the original FK pose (e.g. when a hand is holding a gun) it is recommended to set the the <b>Target Rotation</b> of the IK constraint to <b>IK Handle</b>. This will ensure that the global rotation of the IK target (e.g. the hand) will be exactly the same as it was in the FK animation even though the rest of the IK chain has slightly different rotations.</span></li>
</ul><p class="textBlock">More information: <a href="InverseKinematics.html#Setup" class="link">IK Constraint - Setup</a></p>
<div class="mainContentFooter">
<p class="textBlock" style="float:left">Copyright © 2017 - 2021 Soxware Interactive ALL RIGHTS RESERVED</p>
<p class="textBlock" align="right"><a href="https://forum.unity.com/threads/new-umotion-animation-editor-released.490618/" class="link">Unity Forum Thread</a> | <a href="https://www.facebook.com/Soxware/" class="link">Facebook</a> | <a href="https://twitter.com/SoxwareInteract" class="link">Twitter</a> | <a href="https://www.youtube.com/channel/UCCuE6nI5gHvUQjx0lo6Twtg" class="link">Youtube</a></p>
</div>
</div>
</div>
</body>
</html>