The Bone Controller is an extensible IK/FK tool for controlling the bones of your characters.
It not only gives you access to the bones within a skinned mesh, but allows you to create ‘pseudo’ bones from static meshes. With these bones, you can procedurally animate your characters, create motors that move your characters limbs, and react to the environment.
Similar to the Motion Controller, the Bone Controller comes with several motors you can enable as needed. Use the existing motors or create your own custom motors.
Features:
Extracts bone information from any skinned mesh
Create bones from static meshes (no vertex weighting)
Apply joint constraints to the bones
Apply bone colliders for collision detection
Pre-built motors for use with your characters
Ability to create custom motors to drive bone rotations
Physics based bone chain dragging (pony tails, tails, ropes, etc)
Should be out next week. I’m just finishing up documentation and testing.
Yep!
I’m going to release as ‘beta’ first (at a reduced price). I’m thinking $50, but don’t hold hold me to it.
Final IK is great, but I felt like there needed to be something that was more extensible and built as plug-n-play for characters. So the motors you enable are all built to make PCs and NPCs more reactionary and believable. With the Bone Controller, you can also attach new bones and even create bones from other static meshes. This is great for pony tails, tails, turrets, animating objects in the scene, etc.
The Bone Controller provides a framework for creating other motors and standardizing bones across all models. What I mean by that last part is that some artists create bones along the ‘up’ vector, some the ‘forward’ vector, etc. The Bone Controller wraps all of that to make working with IK/FK easier and consistent.
The Bone Controller isn’t a character controller. It provides access to bones and motors for manipulating those bones. How you move or orient the character is the job of the character controller.
My guess is a lot don’t do it (including the Motion Controller) because Unity’s character controller doesn’t rotate like that.
Now, if you do have a character controller and scene where the character goes upside down, send it my way. The Bone Controller should work because it doesn’t care about character’s orientation (I need to add this to my testing! )
Great point though…
If anyone has a character model they want to see if the Bone Controller can work with, send the character my way and I’ll use it as a test.
He shows how to write a character controller that points the character at the gravity attractor (center of a planet) while the character walks around the surface.
Ootii - Great, more Ootii assets I NEED to buy. Does it work on Unity free version (edit - I missed that you already answered that above)? It might be a while because I already have Final IK and it supports quadrupeds, but you guys have a great way of packaging your assets to make it easy for beginners like me to use your stuff.
Your demo is pretty great, but on the limb reach if you toggle the motor off and then back on the human’s arms go into a T-pose instead of following the effector (but the leg goes back to following).
Tryz - Final IK has a “grounder” that works with bipeds and quadrupeds (all 4 legs for animals). It really is a fantastic asset that I’m in a little over my head with but will figure it out. Here’s the grounder demo vid in action -
I don’t even know if I “need” this asset, but you guys do some great work and really want this to play with your other assets. I really need to quit visiting this forum. Now I’m back up to 3 must have assets on my list. I guess I picked the right time to learn Unity just as there is an explosion of so much high quality stuff on the asset store.
A) Not on the list for the initial release, but I’ve been thinking about it. All the parts are there.
B) Isn’t really part of the Bone Controller. It goes along with ZJP’s question. I’ll test to make sure the Bone Controller can handle it (it should), but that’s really a character controller functionality.
MIK3K,
That video is awesome. To be honest, I wasn’t sure if they were doing anything more with Final IK since the last update was Sept. But that quadruped video…nice.
I really take the comments to heart. I’ve been coding a long time and it’s nice to hear that people really like my tools.
I have finally gotten my Ooti Adventure Rig camera to work with some local help. Ooti’s support was awesome but I had project issues. I am eyeing the motion pack and now this. If you can make this work with quadrupeds, I would buy it immediately. We are having serious issues with our animals sliding everywhere. I could buy Final IK but it looks complicated and I know Ooti will document and provide support.
Today the Bone Controller supports foot placement for “2 bone” legs. It doesn’t matter how many of these legs exist…2, 4, 8, etc. So, the little robot spider is a quadruped that is supported today.
When we say quadruped, I think what people are meaning is the “3 bone” leg. In the case of the dinosaur, he’s a biped that I don’t support foot placement right now.
So, my plan will be to support “3 bone” legs right after launch. If you want to put 4 of those on a creature (like a dog), that will be perfectly fine.
Let me know if that makes sense. Also, if anyone has a dog, cat, or other “3 bone” quadruped I can test with, please send it my way.
To your last comment about documentation and support…yes…without hesitation. I really care about providing quality assets and making the experience good. I’m a one-man-show, so I’m not perfect…but I’ll work to make things right. The fact you said what you said really makes me proud. Thank you.
Great, Ooti! Yes, I meant a 4 legged creature with three bones, at least I THINK they have three bones in the legs. I will have to check. At the very least they have two bone legs and you are saying this works with that already?
My animals are all from the asset store so not sure I can share or I would. We are still in prototype mode but the sliding animals is really bugging me and while our followers seem to be okay with it, I am not.
Since I have no one here at the moment to answer my questions (at home I mean), do you think IK on the animals will help with the sliding? They tend to run and then slide rather than stop and even while standing still in an idle animation they slide slightly, especially on a slope. I am quite a newbie to IK unfortunately.
Ooti, none of us are perfect. All we can is try and you certainly do.
I’ll grab some animals from the store (like I did the Allosaurus from Tibor) and see what I find.
Unfortunately, IK won’t typically help with sliding. The character controller typically handles position, rotation, animations, and more global aspects of the character. IK is more about finesse and realism. It takes a bone and gets it to just the right spot when the animation itself couldn’t.
In your case, it sounds like the character controller is sliding based on the ground incline. Typically there is a setting that says “don’t slide if the incline is less than 10-degrees” or something.
I don’t think you are, but if you are using the Motion Controller email me at tim@ootii.com and we’ll get it worked out.
My character has extra bones for the knees and elbows… can I put procedural rotation constraints so that with the IK it will rotate the knee and elbow bone 50% between the upper and lower leg?
I also have twisty bones for the upper and lower arms and upper and lower legs, can I have rotation constraints as well with those that only apply to one axis?
For the first question, I don’t fully understand. But, I’ll try to answer…
With each bone (regardless if it’s humanoid or not), you can set joint limits/constraints. After the motors run and blend with the current animations, the limits ensure the bone rotations don’t go outside of a specific swing or twist. One bone’s limits don’t know about another one.
In my “Look At” motor, I do create a bone chain: spine → chest → neck → head. Along this chain, the spine only rotates 15% to the goal, the chest 30% to the goal, the neck 60% to the goal, the head 100% to the goal. I’m simplifying, but I think it shows you that a custom motor could do what you want.
For the second question, yes. (that one was much easier)
Let me know if you think I misunderstood the first one.
No I think your look at is close to what I want to do.
A more detailed description…
Say my elbow bone is placed behind the elbow joint right where the elbow bone would be, and for the knee forward of the joint where the kneecap would be.
When the arm bends the elbow bone is attached to the upper arm bone but inherits 50% of the lower arms rotation. It’s the same for the knee bone, it’s attached to the upper leg but it inherits 50% of the lower leg rotation.
I do this to preserve volume in my knees and elbows.