Meet Acorn πΏ! They're a humanoid character doll rig, that aims to aid fast game design prototyping, and better communication between game designers and animators in Unity π π
-
Import Acorn (Instructions below).
-
Drag and drop the prefab
/acorn/acorn.prefab
into your project's scene Hierarchy. -
Duplicate either
default [FK] -CopyStartPose-
ordefault [IK] -CopyStartPose-
animation clip under/acorn/animation tools/FK-IK default poses/
and rename it to whatever animation state name you will be prototyping (ie: idle, walk, jump). -
Assign the animation clip to any
Animation Controller
of your preference, or drag and drop the clip into theacorn
prefab on the hierarchy, if you don't have one yet, and this will create anAnimation Controller
with your just duplicated animation clip attached. -
Select the
acorn
prefab under your Hierarchy, and you should be able to see the duplicated animation clip assigned to the prefab and ready to be posed under theAnimation
window. (You can find this window underWindow>Animation>Animation
) -
On the
Animation
tab, set your desired FPS under theSamples
property (ie: 24, 30, 60), enableKeyframe recording mode
to automatically keyframe any edit you do on your pose, choose your desired frame to pose on and... -
β¨Start posing and have fun β¨!
Using Unity Package Manager (Help) (Recommended):
-
Make sure you have Git installed on your computer.
-
Add Dependencies using Unity's Package Manager with the following git URLs:
https://github.com/madsbangh/EasyButtons.git#upm
https://github.com/sprylyltd/GLTFUtility.git
-
Add Acorn on Package Manager with the following git URL:
https://github.com/diegodelarocha/Acorn.git#release/upm
- From Acorn's Package Manager, Import into Project the necesesary assets:
acorn + tools
= Includes Acorn's prefab, and animation tools.examples
= Includes example assets to give you an idea of what's possible.
-
Make sure you have Git installed on your computer.
-
Dependencies are included on Acorn's Clone or Zip, but If you want to use Acorn in an existing project, add Dependencies on your Project using Unity's Package Manager with the following git URLs:
https://github.com/madsbangh/EasyButtons.git#upm
https://github.com/sprylyltd/GLTFUtility.git
-
Clone or Download Zip:
- Clone Acorn:
git clone git@github.com:diegodelarocha/Acorn.git
- Download Acorn-master.zip
- Clone Acorn:
- Download Acorn-embeded_dependencies.zip
This approach only works on it's own Project, and is not recommended if you want to be able to pull updates constantly, but it's helpful, for folks, that don't have access to Git, or just want to try/play with Acorn π.
To make sure Acorn works, use a Unity Version 2019.3.2f1
or higher, since this is the version it was created and tested on. It might work on older versions as long as you can install the dependencies, but it's untested.
/acorn/setup assets
- Includes raw assets used to build the /acorn/acorn.prefab
, messing with any of these assets, might break your rig, so touch at your own risk β οΈπ€
Included you can find a Scene with some examples that showcases the rig's functionality under /acorn/examples/acorn sample.unity
.
Click on the acorn
prefab on the Hierarchy, and under the Animation
tab, you can preview the different animation clips.
Acorn has both FK and IK functionality on limbs and head, and you can switch between these modes on all or a specific part of their body as you please.
To access the FK-IK Switch menu, select acorn
's prefab on the Hierarchy, and you will find the component on the Inspector window.
This component has button switches, to switch all limbs and head at once, or separately, as well as a handy Visibility On/Off switch for all the character's handles.
To use the switch on animation clips, on the Animator
window, scrub to the frame you'd like to use the switch on, then press the switch button you want to use on the Inspector
, and press the Add keyframe
button on the Animator
to set a manual keyframe on Acorn. This will lock down the switch change on the selected frame.
Make sure to set the keyframes manually, since Keyframe recording mode
is not supported with these buttons
Acorn's IK switch features IK position and rotation matching to the fk transforms on the switch for your convenience π€.
To preview animation without controller handles, simply enter Play
mode π€, or use the Visibility OFF
and Visibility ON
buttons on Edit
mode.
If for some reason you need to preview the handles again while on Play
mode, the component script on Acorn's prefab, has a property at the bottom called Handles Visibility
, toggle that on
and off
to your convenience.
To access the Mirror Pose button, select acorn's prefab on the Hierarchy, and you will find the component on the Inspector window.
This component lets you flip a pose to the opposite side, helpful on things like walk/run cycles πΆββ.
Included under /acorn/animation tools/animatable material colours/
you can find some coloured materials. While posing and the property Keyframe recording mode
is enabled, you can drag and drop a specific colour to any body part of the rig, and it will get saved on the animation clip as a reference keyframe, this should be useful to have visual representations on when a designer wants to communicate an event should happen at a specific frame and area of the body. (ie: At frame 5, hand goes red because particles of magic should come out of their hands at that moment).
Example of an idle animation clip, to show how using Acorn, would work on a real world application to make an animation state.
Included under /acorn/animation tools/interaction objects/
you can find different coloured object primitives, that can be used as placeholder objects to help communicate things like particles, items, or any other object that would interact with Acorn over time, just drag and drop them as children of Acorn's prefab on the Hierarchy so that you can add their transforms as properties on the same animation clip that you're using for the rest of Acorn, once you add them just keyframe away.
Under the idle
animation clip example, you can see this in use to accentuate and make clear on what frame we might want to see particles, or a trigger a sound when Acorn snaps their fingers π€.
You can find an Avatar
and an Avatar Mask
under /acorn/animation tools/avatars
, in case you want to combine and mask areas of two or more animation clips with the Animator
layers.
On the following example, as avatar mask greeting
animation clip is playing, avatar mask hip hand
layer is toggled on and off to be able to add some right hand and hip sass to Acorn's pose. This layer is using an Avatar Mask
to only let this layer use the right arm's and hip's transformation data, making it very handy to layer in extra needed movement to have an option of placing Acorn's right hand on their hips if we choose to ππ§ .
- EasyButtons - Easy buttons for the Unity default inspector by Mads Bang Hoffensetz - LICENSE
- FastIK - Simple IK solver for Unity by ditzel - LICENSE
- GLTFUtility - Wonderful modified GLTFUtility importer for Unity by Bryant Drew Jones - LICENSE
- Newtonsoft's JSON library's Unity Package - by James Newton-King - LICENSE
- Diego De la Rocha - Character Doll creation, Workflow, Animation examples, and SetUp
-
Bryant Drew Jones - GLTFUtility, and Game Design feedback
-
Daffodil - Programming help
-
Em Halberstadt - Trailer Sound design π
-
Jonathan Levstein - Programming help
-
Malcolm MacDonald - MirrorPose functionality, Tool Inspiration, Programming help & Game Design feedback
Also, check out Malcolm's Unity's Asset Store tool - PoseableDoll, which inspired a lot of what Acorn wanted to be, to become alive πππβ¨
-
Yael Sagi - Programming help
This project is licensed under the MIT License - see the LICENSE.md file for details
This project contains a third party notice which contains a list of the licenses of third party software used to build Acorn - see the Third Party Notices.md file for details
In the hopes of a world with more positivity and care.
Acorn is a piece of software that would love to stay family friendly and violence free, hence, Acorn and their Author would really appreciate if you refrained from using Acorn to create any project or content that encourages, glorifies, incites, or calls for violence or phsycological and/or physical harm against an individual or a group of real or fictional characters; likewise, would appreciate that you do not use this piece of software to create any projects or content that glorifies or encourages the abuse of animals.
Understandably, there are sometimes reasons to create violent content (e.g., educational, newsworthy, artistic, satire, documentary, etc.) so if youβre going to use it on something violent in nature that is similar to the previous examples on this paragraph, please ensure you provide context to the user so the reason for using it is clear and is done in the most sensible way possible to all users, to protect their physical and mental health as much as possible π.
In general, content where guns, murder, fighting, sexual violence, extreme violence, exploding characters, gore, warfare, and any other disturbing, and/or abusive content is involved, should be a no no please π.
Mild violent content such as (e.g., stepping over someone's garden by mistake, or making too much noise without the intent being to just be mean, or mild violence with sensible human character mistakes, like a character in a stressful situation where this might cause the character to overreact and become a bit rowdy.) should be okay.
I just plea that if you choose to include violence in your content or project, please think twice, if it's necessary/and or important for your project to exist. I trust and hope that you will use these guidelines at the best of your judgement to promote positivity over hate.β¨