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

541 lines
28 KiB
HTML

<!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 - UMotion API</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" 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">FK to IK Conversion</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"><b><u>UMotion API</u></b></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="">UMotion API</h1><p class="textBlock">The UMotion API is a simple and easy-to-use API that provides a basic interface for custom scripts to interact with UMotion.</p><p class="textBlock">In order to implement custom constraints or 3rd party IK solutions, please take a look at the <a href="Options.html#ExtendingUMotion" class="link">UMotion Callback System</a> instead.</p><h2 class="headline2" id="">Preparation</h2><p class="textBlock">To access the UMotion API in one of your scripts, make sure that the script is placed inside an "Editor" folder. Add the following using statement to get access to the UMotion namespace: <b>using UMotionEditor.API;</b>
</br></br>
There are two classes within this namespace:</p><ul class="listMain">
<li class="listItem"><span class="listText">ClipEditor</span></li>
<li class="listItem"><span class="listText">PoseEditor</span></li>
</ul><h2 class="headline2" id="">ClipEditor Overview</h2><h3 class="headline3" id="">Properties</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>static bool IsWindowOpened</b>
</br>True when the Clip Editor window is opened and initialized. It might be necessary to focus either the Clip Editor or the Pose Editor window in order to initialize UMotion.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool IsProjectLoaded</b>
</br>True when the Clip Editor window has a UMotion project loaded.
</span></li>
</ul><h3 class="headline3" id="">Methods</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>static void AddMenuItem(<a href="#MenuCategory" class="link">ClipEditor.MenuCategory</a> category, string name, GenericMenu.MenuFunction clickedAction)</b>
</br>Adds a new menu item to the clip editor's "File", "Edit" or "Help" menu. When the menu item is clicked, the clickedAction method is called.
</br>
</br><b>Example usage (place this script in a folder named "Editor"):</b>
<pre><code>using UnityEngine;
using UnityEditor;
using UMotionEditor.API;
[InitializeOnLoad]
public class UMotionExtensions
{
static UMotionExtensions()
{
ClipEditor.AddMenuItem(<a href="#MenuCategory" class="link">ClipEditor.MenuCategory.File</a>, "My Menu Item", MyMenuItemPressed);
}
private static void MyMenuItemPressed()
{
Debug.Log("My menu item was pressed!");
}
}</code></pre>
</span></li>
<li class="listItem"><span class="listText">
<b>static void OpenWindow()</b>
</br>Opens the UMotion Clip Editor window. If the window is already opened but hidden by another window, it is brought to the front. It takes at least one frame (or more) until the window is initialized.
</span></li>
<li class="listItem"><span class="listText">
<b>static void LoadProject(string path)</b>
</br>Loads a UMotion project. The Clip Editor needs to be open in order for this method to succeed. This method can also be used to switch from one loaded project to another. The path must be relative to the Unity project directory (e.g. "Assets/umotion_project.asset").
</span></li>
<li class="listItem"><span class="listText">
<b>static void CloseProject()</b>
</br>Closes a loaded UMotion project.
</span></li>
<li class="listItem"><span class="listText">
<b>static string GetLoadedProjectPath()</b>
</br>Get the path to the currently loaded UMotion project. The path is relative to the Unity project directory. Returns null if no project is currently loaded.
</span></li>
<li class="listItem"><span class="listText">
<b>static string[] GetAllClipNames()</b>
</br>Returns the names of all animation clips in the currently loaded UMotion project. A UMotion project must be loaded.
</span></li>
<li class="listItem"><span class="listText">
<b>static string GetSelectedClipName()</b>
</br>Returns the name of the currently selected animation clip in the Clip Editor.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SelectClip(string name)</b>
</br>Selects (opens) the clip in the clip editor. The clip must already exist in the current UMotion project.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetClipName(string oldName, string newName)</b>
</br>Changes the name of an animation clip. When called right before "ExportCurrentClip()" this method can be used to change the name of the exported animation clip. This is useful when exporting the same animation clip several times (with different animation layers enabled).
</span></li>
<li class="listItem"><span class="listText">
<b>static void DeleteClip(string name)</b>
</br>Deletes the clip with the given name from the UMotion project.
</span></li>
<li class="listItem"><span class="listText">
<b>static void ExportCurrentClip()</b>
</br>Exports the clip currently opened in the Clip Editor. This method blocks until the export is finished.
</span></li>
<li class="listItem"><span class="listText">
<b>static void ExportAllClips()</b>
</br>Exports all clips of the current loaded UMotion project. This method blocks until the export is finished.
</span></li>
<li class="listItem"><span class="listText">
<b>static string[] GetClipLayerNames()</b>
</br>Returns an array that holds the names of all animation layers of the currently opened animation clip. The base layer is not included.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetClipLayerName(string oldName, string newName)</b>
</br>Changes the name of an animaton layer of the currently opened animation clip.
</span></li>
<li class="listItem"><span class="listText">
<b>static void GetClipLayerBlendProperties(string layerName, out bool mute, out float blendWeight)</b>
</br>Gets the blend properties (mute and blend weight 0-1) of the layer with the given name.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetClipLayerBlendProperties(string layerName, bool mute, float blendWeight)</b>
</br>Sets the blend properties (mute and blend weight 0-1) of the layer with the given layer name. This method is useful for exporting an animation clip several times with different layers muted/unmuted.
</span></li>
<li class="listItem"><span class="listText">
<b>static int GetFrameCursorPosition()</b>
</br>Returns the current position of the frame cursor (in frames).
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetFrameCursorPosition(int frame, string undoName)</b>
</br>Sets the current frame cursor position. There are situations in which setting the frame cursor is not possible (e.g. when in config mode), in that case this method does nothing. If undoName is null, the performed action is not added to the undo stack.
</span></li>
<li class="listItem"><span class="listText">
<b>static float GetPlaybackFramePosition()</b>
</br>Returns the current frame position during playback or -1.0 if playback is not active.
</span></li>
<li class="listItem"><span class="listText">
<b>static float GetLastKeyFrame()</b>
</br>Returns the last frame number of the current clip where at least one key is present.
</span></li>
<li class="listItem"><span class="listText">
<b>static float ImportClips(IEnumerable&ltAnimationClip&gt animationClips, <a href="#ImportClipSettings" class="link">ClipEditor.ImportClipSettings</a> importClipSettings)</b>
</br>Starts the UMotion clip importer. Imports the passed animation clips with the passed settings. In order to import clips from FBX files, use the Unity AssetDatabase API to get the required references to the FBX file's animation clips.
</span></li>
</ul><h3 class="headline3" id="MenuCategory">enum ClipEditor.MenuCategory</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>File</b>
</br>File menu of the clip editor.
</span></li>
<li class="listItem"><span class="listText">
<b>Edit</b>
</br>Edit menu of the clip editor.
</span></li>
<li class="listItem"><span class="listText">
<b>Help</b>
</br>Help menu of the clip editor.
</span></li>
</ul><h3 class="headline3" id="ImportClipSettings">struct ClipEditor.ImportClipSettings</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>bool ConvertToProgressive</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool DisableAnimCompression</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool DisableAnimCompression</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool FkToIkConversion</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool FkToIkDeleteFkKeys</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool HumanoidHandIKEnable</b>
</span></li>
<li class="listItem"><span class="listText">
<b>bool HumanoidLosslessKeyframeReduction</b>
</span></li>
<li class="listItem"><span class="listText">
<b>static ClipEditor.ImportClipSettings Default</b>
</br>Default settings
</span></li>
</ul><p class="textBlock">Please check out the <a href="ImportExport.html#Importing" class="link">clip import dialog</a> documentation for a detailed description of each of these settings.</p><h2 class="headline2" id="">PoseEditor Overview</h2><h3 class="headline3" id="">Properties</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>static bool IsWindowOpened</b>
</br>True when the Pose Editor window is opened and initialized. It might be necessary to focus either the Pose Editor or the Clip Editor window in order to initialize UMotion.
</span></li>
<li class="listItem"><span class="listText">
<b>static GameObject AnimatedPreviewGameObject</b>
</br>When a GameObject is assigned to the UMotion pose editor, it is duplicated and the original GameObject gets hidden. All modifications done to the pose are only applied to the duplicated GameObject. As soon as "Clear" is pressed in the pose editor, the duplicated GameObject gets destroyed and the original GameObject gets visible again. This ensures that changes done to the pose are only kept within the UMotion editing session and do not influence the "real" GameObject in the scene.
</br>This proprety returns the duplicated GameObject or null if there is currently no GameObject assigned to the pose editor.
</span></li>
<li class="listItem"><span class="listText">
<b>static <a href="#PivotMode" class="link">PoseEditor.PivotMode</a> Pivot</b>
</br>Gets or sets the current pivot mode of the pose editor (local/global).
</span></li>
</ul><h3 class="headline3" id="">Methods</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>static void AddButton(<a href="#FoldoutCategory" class="link">PoseEditor.FoldoutCategory</a> category, string name, string tooltip, System.Action buttonPressedAction)</b>
</br>Adds a button with the given name to a foldout in the pose editor. Them method supplied for "buttonPressedAction" is called as soon as the button is pressed. The tooltip string is shown when the user hovers the mouse over the button. Use it to provide helpful information.
</br>
</br><b>Example usage (place this script in a folder named "Editor"):</b>
<pre><code>using UnityEngine;
using UnityEditor;
using UMotionEditor.API;
[InitializeOnLoad]
public class UMotionExtensions
{
static UMotionExtensions()
{
PoseEditor.AddButton(PoseEditor.FoldoutCategory.Tools, "My Button", "This is shown as tooltip.", MyButtonPressed);
}
private static void MyButtonPressed()
{
Debug.Log("Button was pressed!");
}
}</code></pre>
</span></li>
<li class="listItem"><span class="listText">
<b>static void OpenWindow()</b>
</br>Opens the UMotion Pose Editor window. If the window is already opened but hidden by another window, it is brought to the front. It takes at least one frame (or more) until the window is initialized.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetAnimatedGameObject(GameObject gameObject)</b>
</br>Applies a GameObject (from the current Unity scene) to the Pose Editor. A UMotion project already needs to be loaded.
</span></li>
<li class="listItem"><span class="listText">
<b>static void ClearAnimatedGameObject(<a href="#ClearMode" class="link">PoseEditor.ClearMode</a> clearMode = PoseEditor.ClearMode.RevertChanges)</b>
</br>Removes a GameObject from the Pose Editor. By default, the GameObject is reverted to the pose that it had before it has been assigned to UMotion.
</span></li>
<li class="listItem"><span class="listText">
<b>static void GetAllTransforms(List&ltTransform&gt transformsList)</b>
</br>Fills the list with all bones/transforms of the current animated GameObject.
</span></li>
<li class="listItem"><span class="listText">
<b>static void GetSelectedTransforms(List&ltTransform&gt transformsList)</b>
</br>Clears the provided list and then adds every transfrom currently selected in UMotion.
</span></li>
<li class="listItem"><span class="listText">
<b>static int GetTransformChildCount(Transform transform)</b>
</br>Returns the number of child bones/transforms of the given transform. This includes custom transforms that only exist within UMotion's pose editing time.
</span></li>
<li class="listItem"><span class="listText">
<b>static Transform GetTransformChildAt(Transform transform, int index)</b>
</br>Returns the child bone/transform with the given index.
</span></li>
<li class="listItem"><span class="listText">
<b>static void SetTransformIsSelected(Transform transform, bool selected)</b>
</br>Selects or deselects the transform based on the "selected" value.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool GetTransformIsSelected(Transform transform)</b>
</br>Returns true if the passed transform is currently selected.
</span></li>
<li class="listItem"><span class="listText">
<b>static void GetMirrorTable(List&ltTransform&gt leftHandSideList, List&ltTransform&gt rightHandSideList)</b>
</br>Returns the <a href="MirrorMapping.html" class="link">mirror table</a>.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetFkLocalPosition(Transform transform, Vector3 localPosition, string undoMessage, bool createKey)</b>
</br>Updates the local postion of the passed transform. The transform must be a child of the currently animated GameObject. This method returns false if the local position of the transform is not "write-able" (e.g. because it's visibility is set to "locked" in config mode). If undoName is null, the performed action is not added to the undo stack. If createKey is set to true, a key frame is created at the current frame cursor position. The key frame creation action is always added to the undo stack.
</br>This method throws an exception if called from within a UMotion callback because adjusting the current FK pose while updating the current pose would result in an endless loop.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetFkWorldPosition(Transform transform, Vector3 worldPosition, string undoMessage, bool createKey)</b>
</br>Same as TrySetFkLocalPosition() but sets the world space position.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetFkLocalRotation(Transform transform, Quaternion localRotation, string undoMessage, bool createKey)</b>
</br>Same as TrySetFkLocalPosition() but sets the local rotation.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetFkWorldRotation(Transform transform, Quaternion worldRotation, string undoMessage, bool createKey)</b>
</br>Same as TrySetFkLocalPosition() but sets the world space rotation.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetFkLocalScale(Transform transform, Vector3 localScale, string undoMessage, bool createKey)</b>
</br>Same as TrySetFkLocalPosition() but sets the local scale.
</span></li>
<li class="listItem"><span class="listText">
<b>static void GetCustomPropertyConstraintNames(Transform transform, List&ltstring&gt constraintNamesList)</b>
</br>Returns a list of all <a href="CustomProperty.html" class="link">custom property constraints</a> of the passed bone/transform.
</span></li>
<li class="listItem"><span class="listText">
<b>static bool TrySetCustomPropertyConstraintValue(Transform transform, int customPropertyConstraintIndex, float value, string undoMessage, bool createKey)</b>
</br>Updates the current value of the custom property constraint at the passed index. The index is the same as the index the constraint has in the list returned by "GetCustomPropertyConstraintNames()". Other than that the method acts the same as TrySetFkLocalPosition().
</span></li>
<li class="listItem"><span class="listText">
<b>static void CopyToOtherSide(Transform transform, bool position, bool rotation)</b>
</br>Copies the current position and/or rotation of the passed bone/transform to it's sibling on the other side.
</span></li>
</ul><h3 class="headline3" id="FoldoutCategory">enum PoseEditor.FoldoutCategory</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>Tools</b>
</br>Tools foldout of the pose editor.
</span></li>
<li class="listItem"><span class="listText">
<b>Animation</b>
</br>Animation foldout of the pose editor.
</span></li>
<li class="listItem"><span class="listText">
<b>Selection</b>
</br>Selection foldout of the pose editor.
</span></li>
<li class="listItem"><span class="listText">
<b>Display</b>
</br>Display foldout of the pose editor.
</span></li>
</ul><h3 class="headline3" id="ClearMode">enum PoseEditor.ClearMode</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>RevertChanges</b>
</br>Restores the original pose of the GameObject before it was assigned to the UMotion Pose Editor.
</span></li>
<li class="listItem"><span class="listText">
<b>KeepChanges</b>
</br>Keeps the current pose of the GameObject.
</span></li>
</ul><h3 class="headline3" id="PoseMode">enum PoseEditor.PoseMode</h3><ul class="listMain">
<li class="listItem"><span class="listText">
<b>Local</b>
</br>Local space pivot mode.
</span></li>
<li class="listItem"><span class="listText">
<b>Global</b>
</br>World space pivot mode.
</span></li>
</ul>
<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>