These're some frequently asked questions, so it might be beneficial to collect them here.
Here're some suggestions about issues & questions:
- For an issue, it would be usually quite helpful to add the info of the OS & Unity version & Skele version that in use.
- Check if you're using the latest Skele package; check it by watching if there're "Update" button in AssetStore window;
- if an issue is hard to describe with text, then a very helpful method is to make a short full-screen video to slowly display how to reproduce it. ScreenToGif & CamStudio are both great free tools that can help make gif/avi that can be uploaded to Imgur.com or Youtube.
Compatibility: The latest Skele package is targeted for Unity5.3 and above; (There're incompatibility issues with Unity5.3.4p1 -> Unity5.3.5, so try avoiding using on these versions, and be sure to update Skele to v1.9.7p3 or above)
I get compilation errors when import the Skele package
It's a big chance that there is a name collision in the project.
You could check that by import Skele into an empty project and see if the error still persists.
Please be sure to put your classes in their own namespace, it's a bad practice to put class in global namespace.
A few 3rd-party plugins put classes in global namespace too. You could just notify its author, it's a minor modification in most cases.
(1) "Action", heard MANY cases about this one, it will collide with .Net library's Action delegate;
(2) "Options", not much, but some people had made this classes into global namespace too.
If all of these don't apply to your case, be sure to mail me and I'll fix it ASAP.
How to find out my Skele package version info
You can find out the current version info at the RELEASE file located at "Assets/Skele/ReleaseNotes_CAT.txt" in the project.
I cannot add keyframe on model / My model snaps into 'curling pose'
Unity AnimationView could directly edit on Generic/Legacy models, but doesn't support direct editing on Humanoid-rig models.
You could just fix that by duplicating the target humanoid model, and change the duplicate's rig-type to 'Generic', then you could make/edit clips on it.
Steps: (Ref the Rig-type manual)
- Click the .FBX model file in project view;
- Select the rig tab in inspector;
- Change "Animation type" from Humanoid to Generic;
You could also check on this post.
Q: But I need to use Humanoid clips with all my different models?
Of course, that's a common use case.
You could easily convert the Generic clips to Humanoid clips
Q: I also want to edit some Humanoid clips I get from other animator from web / AssetStore?
Yes, that's another common use case.
You can convert Humanoid clips (with/without FBX file) to Generic clips with our toolset.
Dont forget, you can always convert it back to Humanoid after you finished the editing.
Why is my rotation twisted when animated?
Why is my rotation twisted in exported clip?
Please check if the sample-rate of your original clip is lower than 30.
It seems that if the sample-rate of the imported clips is lower than 24, Unity will import the clips with sample-rate as 12.5; (checked on U5.3.4)
So, you should always keep your sample-rate above 30, keep it 60 if possible.
My model is not rigged/skinned yet...
Skele package works on skinned meshes, so it's required that you have your models rigged & skinned first.
If you're not familiar with the skinning skill, you could try this Adobe's free auto-rigger service, it automatically rigs your bipedal models.
It works well for most models, but you might have a few finger vertices wrongly assigned in some rare cases, but it's relatively easy to fix in Blender or other 3D-softwares.
I cannot find Skinned Mesh Renderer
In Unity5.1 or lower, double clicking on the model should bring you to the GameObject with SMR;
In Unity5.2 or higher, Unity introduces the cycle selection, which means clicking on same spot will make the selection to cycle among all the object under that spot. So you just need to keep clicking there until it turns out.
[Don't add a SMR by yourself. when Unity imports the model, it added the SMR component and fills it with needed data. If you add the SMR by yourself, the needed data will be missing and the SMR will NOT work ]
Oh, and before all of this, you should ensure that this model is skinned (in another word, it has bone data), non-skinned model will not have SMR component when imported, it will only have MeshFilter & MeshRenderer;
How to convert Generic clip to Humanoid clip? / I want to make a Huamnoid clip to use on many models.
- Export the Generic clip with DAE exporter into DAE archive;
- Change the rig type of the DAE archive to "Humanoid";
- Grab the clip from the DAE archive, apply it in your target model's animator controller;
Check the video below of how to use DAE exporter to export and convert rig type;
Be warned there's a catch:
Usually when you're done exporting there would be 1+x archives (1 for model, x for clips);
And if you need to convert them to Humanoid-rig, you just need to:
- select the archive for model;
- change its rig to "Humanoid";
- click "Update reference clips" button
Example: After exporting we got 3 archives:
- E.dae <--- right here
The "Update reference clips" button is on the "E.dae" archive
If you only change the clip archive to humanoid rig and not click the "Update reference clip", the animation clip generated could be twisted somehow.
How to modify existing Humanoid clips?
I have an animation on humanoid rig model, and I want to modify some frames, how to do it?
If you want to EDIT an Muscle clip ( Humanoid clip ) in Animation view, you need to convert it to Generic/Legacy clip first.
There're two methods:
1. if the Muscle clip has a FBX/DAE archive,
(0). Duplicate the archive (if you don't want to mess with the original one )
(1). change the import setting from Humanoid to Generic;
(2). and you get the Generic clip in the archive.
duplicate the clip from archive and edit it.
2. if the Muscle clip has NO FBX/DAE archive, (which is common if you bought it from assetstore, only one .anim file)
Use the MuscleClipConverter to convert it to Generic
Watch this video:
You can also see this video for the three examples of clips conversion:
1. Generic => Humanoid
2. Humanoid A => Humanoid B
3. Humanoid => Generic
And after you're done editing, if you want to make it a Muscle clip, use the "DAE exporter" to export it to DAE archive, then make it Humanoid in Import setting.
If you want to learn more details on Muscle-Clip (Humanoid clip), you could check this official blog and see why it's designed this way.
BLOG: Mecanim Humanoid
No keyframe is added when I manipulate the joints
1) Check if the AnimationView's record-mode is turned on;
2) Please check if you've added Animation/Animator component manually, in 99% cases, you don't need to add them by yourself.
The safe & standard method is to have only ONE Animation/Animator component per one model, and put it on the topmost GameObject.
AW(AnimationWindow) will make keyframes by tracking the changes on children transforms UNDER the gameObject with Animation/Animator component.
For example, if there're two Animators on your models, one on the Root, one on the RightShoulder, then if you make a clip for the rootObject, you will NOT be able to add keyframes for RightHand, as it will be intercepted by the Animator on RightShoulder.
The animation clip is READ-ONLY
Clips in archive file (FBX/DAE) are read-only,
you could make a modifiable clip by duplicate it from archive, [be sure to set the rig-type of model to be GENERIC, you cannot modify HUMANOID rig-type clip]
(1) expand the archive file
(2) select the clip
(3) Ctrl+D to duplicate the clip, (duplicate the containing clip, not the archive file)
(4) Put the duplicated clip into the Animator component
I cannot get the vertex-animation MorphProc to work in another scene
The vertex-animation shape-keys are saved in the scene by default. To use it in other scenes, you need export them as prefab, check how to do it in the video below:
- Export as Prefab with the "Export prefab" button, this will create a prefab, and a directory containing mesh & anim-data;
- To use the vertex-animation in other scenes, just drag in the generated prefab.
How to make RootMotion?
There're many methods for making RootMotion, you could check this post.
I want to convert a Generic clip to Humanoid clip, but what to do with the bones that cannot be mapped to humanoid skeleton?
Humanoid setup has a little gotcha here:
You need to enable those bones which cannot be mapped to humanoid skeleton in the importer's mask setting, or the muscle clip WILL NOT contain curves for these bones
Known compatibility issue
1. Unity has some issues since Unity5.3.4 p1, rotation to negative angles might get twisted to rotate via inverse direction, and some issues for keyframes created via editor-script (we've workarounds currently);
Please help to vote for this issue so Unity could fix it earlier: https://issuetracker.unity3d.com/issues/animationwindow-cannot-set-keyframes-with-negative-angle-by-editor-script
2017/02/14 update: We've made fix in Skele 1.9.7 p3 to fix the keyframe "360-deg wild spin" issues,
2016/09/20 Update: we've made some workaround in Skele 1.9.6 p3, it's okay on the versions listed below:
- Unity5.3.0 -> Unity5.3.4f1, Unity5.3.6f1 -> newer
- Unity5.4.0f3 -> newer
We recommend to use Skele on the Unity5.4.0f3 and newer, or Unity5.3.4f1 and earlier.
2. It's reported on Mac in U5.4.1/U5.4.2, that Unity might report wrong screen resolution, which would cause the GUI elements malfunction for several assets.
You could check the details explanations in this post: