Skip to content

Commit 416b3d4

Browse files
committed
Added docs for Animator extensions and new features
1 parent 5471dba commit 416b3d4

File tree

1 file changed

+54
-1
lines changed

1 file changed

+54
-1
lines changed

README.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Grab the export package and import it into your Unity project
1010

1111
### AnimatorPlayback Objects
1212

13-
How to use an AnimatorPlayback to play animations with variables.
13+
How to use the `AnimatorPlayback` object to play animations with variables.
1414

1515
![Preview of Playback Helper](/playback-helper-example.png)
1616

@@ -52,6 +52,20 @@ public class AnimatorPlaybackExample : MonoBehaviour {
5252
Note that the AnimatorPlayback objects are fully unit and runtime tested
5353
due to their level of complexity.
5454

55+
### Features
56+
57+
* AnimatorPlayback objects to easily detect animation completion conditions
58+
* Pre-built library on AnimatorBehavior(s) for complex animation playback
59+
* Animator extensions that add missing functionality to Unity's Animator component
60+
* Unit tested
61+
62+
#### Requesting Features
63+
64+
Please file a GitHub [issue ticket](https://github.com/ashblue/unity-animator-helpers/issues) if you'd like to
65+
request a feature.
66+
67+
You can view the current [roadmap here](https://github.com/ashblue/unity-animator-helpers/projects/1).
68+
5569
## Animator Behaviors
5670

5771
There are several animator helper scripts to assist you with Animator Behavior(s).
@@ -72,3 +86,42 @@ Here is a brief list of helpers. New ones will be added as the repo is updated o
7286
* SetVarRandomInt
7387
* RandomSpeed
7488
* RandomStartTime
89+
90+
See documentation on methods (in code) for complete details.
91+
92+
## Animator Extensions
93+
94+
Unity Animator Helpers extends the pre-existing functionality of Unity3D's built in `Animator` component with static
95+
extensions. This doesn't hurt or break any existing functionality. For example you could do the following to check if
96+
you have a particular bool parameter.
97+
98+
```c#
99+
public class AnimatorExtensionExample : MonoBehaviour {
100+
private Animator anim;
101+
102+
public string hasAnimatorBool = "myBool";
103+
104+
private void Start () {
105+
anim = GetComponent<Animator>();
106+
107+
Debug.LogFormat("Animator has bool {0}: {1}", hasAnimatorBool, anim.HasBool(hasAnimatorBool));
108+
}
109+
}
110+
```
111+
112+
### Available Animator extensions
113+
114+
* HasParameter(name)
115+
* HasBool(name)
116+
* HasFloat(name)
117+
* HasInt(name)
118+
* HasTrigger(name)
119+
120+
See documentation on methods (in code) for complete details.
121+
122+
### Extension Caching
123+
Animator extensions perform some caching to make lookups instant. This only happens on the first extension
124+
call per unique `AnimatorController`. While this generally shouldn't cause performance problems and is almost instant.
125+
You may need to call `AnimatorHelperRuntime.Instance.Cache(Animator)` on `Start` or `Awake` if your `Animator(s)`
126+
have over 300 parameters. Please note that your `AnimatorController` object (what you pass into the Animator via
127+
inspector) must be uniquely named in order for the caching to work correctly.

0 commit comments

Comments
 (0)