Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bone Controller [RELEASED]

Discussion in 'Assets and Asset Store' started by Tryz, Feb 16, 2015.

  1. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Thanks for that. I'll get the documents updated. I'm a much better programmer than documenter... haha
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    OK, sorry, I have another question. Why is my character's ponytail getting all crimped? Before I add the Bone Chain Drag Motor, it looks fine:



    But as soon as I add that motor, and add the first bone in the ponytail to the bone list (which adds the rest of the bones too), and either run or click "Run in Editor," it looks like this:



    The mesh has been mangled. And here's the really weird thing: this happens even though the Bone Controller script is disabled. Really, I'm not kidding. Yet if I remove the component completely, it doesn't happen. Put it back, disabled, and the hair is crimped.

    If I run and the Bone Controller is not disabled, then it's even worse: the hair is not only crimped, but sort of freaking out, alternating very rapidly (every frame?) between two different versions of the crimp. I could try to post a video or animated GIF if you need it.

    By playing with the "Rotation Lerp" values on the four bones, I can make the pulsations slower, or even (at a value of 0) eliminate them, but the hair is still crimped (though the degree of crimp seems to vary depending on the angle of the chain or something).

    It's almost like the bones are twisting instead of just swinging... but that's certainly not what I would expect, nor do I see that in the dino's tail... any idea what's going on?
     
  3. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    As a follow-up, I also tried it with Unity-Chan... here she is, with a Bone Chain Drag Motor hooked up to her left ponytail, but nothing on the right...



    This one is at least not rapidly freaking out; it's stable, and looks fine over most of its length, but still crimped badly near the top. How do we avoid this?
     
  4. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    I've seen this happen before when the model's bones are bound in an unexpected way. Basically, when processing the bones they look like they were created upside down. So, we need to unwind them.

    The reason for the freaking out with the drag motor is the twisted bones are fighting gravity. Unwinding them fixes all of this.

    I talk about it in the documentation (page 55 and 56), but I figured a video might be better. So, here I show you how to untwist Chan's hair.

     
    hopeful likes this.
  5. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    That's awesome; you explained it very clearly, and for Unity-chan it certainly fixes the problem.

    For my original model, though, it doesn't seem to. I did find that three of the four ponytail bones (all but the first) had their "up" axes pointing forward (toward the nose) instead of away from the body. So I flipped them (had to invert both Y and Z in this case to keep the bone pointing down toward the next bone). But when I run it, I get the same freaking out twist behavior — and now by selecting a bone and paying attention to it in the scene view, I can see that the lower bones are rapidly alternating between green-forward and green-back orientations.

    Note that I did find a solution: by putting joints on all the hair bones that disallow twisting, I get a great-looking ponytail that behaves as I would expect. But without such joints, I get this ugly behavior where it seems the solver just can't make up its mind which way it wants to point these bones.
     
    Last edited: Feb 21, 2016
    Tryz likes this.
  6. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Glad the video helped.

    One of the reasons I keep the BC in beta is that models are created in so many ways and I'm always waiting for that one that shows me something I didn't expect. :)

    Glad the joints helped. I've used them for similar situations as well.
     
  7. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Just to follow up on that last issue: Tim has updated the code so that it works for all cases (even ones where flipping the bones didn't help), and you don't even need to flip the bones anymore. Awesome stuff (and I expect we'll see it in a future update).
     
    Tryz and hopeful like this.
  8. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Hi Tryz

    I need your help please.

    I have a "walk" animation (mecanim humanoid) that its chained.
    My humanoid try to walk away but it is captive to the chains and the chain turns stretched/uptight while the human tries to escape.
    Please refer to the video and images to get the hole picture.






    Seconds 34 to 40

    It's possible to achive what I need with your asset?
    If no, could your please give me some advice?

    Thanks for your help.
     
  9. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    looks sweeet, Good job Sir.
     
    Tryz likes this.
  10. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Thanks. :)

    Unfortunately, it won't do what you're looking for out-of-the-box.

    It's certainly possible to do, but you'd have to create custom motors to do what you're looking for. I don't think it would be hard... they just need to be created. There are two things going on in your movie:

    1. A set of links that can be pulled at the ends until the chain reaches a max distance. Links would also be impacted by gravity.

    2. A restriction that prevents a third object from moving due to the max distance of the chain.


    #1 seems like it would be pretty easy. My "Chain Drag Motor" is pretty close to that.

    #2 is tougher since the third object is actually controlled by it's own bone set. So, having the arm limited by the an external chain would mean you've got multiple entities (the body animation and the chain) trying to control the limb. This one seem much tougher to do. Possible, but tricky.
     
  11. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Thanks!
     
  12. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Hi, I can't select bones in Unity 5.3.4 the hand tool does not do it anymore

    and how do I get the shoulder to move forward with the spine when reaching for something further away?
    Thanks
     
  13. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Just to test, I created a new Unity 5.3.4f1 project and imported the latest BC from the Asset Store. I opened the JointLimits scene and was able to select bones no problem. I then create a new scene, setup a character with the BC, and select bones as well. Just remember to activate the pan-tool (hand at the top left) first.

    If you're using the Limb Reach motor, I don't include the shoulder because that motor is used for 2-bone systems like the upper-arm + lower-arm or thigh-bone + calf-bone. You can actually use the motor with arms or legs.

    That said, you certainly could modify the motor or create a new motor and rotate the shoulder as well. The way I would probably do it is have the shoulder rotate 20% towards the target and then let the 2-bone system do the rest.

    Hopefully the Builder's guide will help you.
    http://www.ootii.com/Unity/BoneController/BCBuildersGuide.pdf
     
  14. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Thanks for your reply. The problem is with puppet master. Installing puppet master breaks bone controller.
    Can you please take a look at why?

    EDIT Scratch that, now for some reason it is working again. Funny old game this dev stuff.
     
    Tryz likes this.
  15. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Haha... yeah, just imported it and all was good. Glad you found it. :)
     
  16. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Recently I had a couple of questions about setting up the Look At motor and the Foot motor. So, I created some videos to help.



     
    hopeful likes this.
  17. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    Has anybody tried using Bone Controller with UMA 2 generated characters?
     
  18. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hey @TeagansDad ,

    It's doable, but tricky. The reason is that the bone motors need to know about the bones/transforms they are controlling.

    Since UMA doesn't create the character until run-time, you can't set the bone motors up until then. You can certainly do that through code, but you'd have to add the bones and setting yourself. Everything I do in the editor is doable at run-time through code.

    For example, you'd do something like this:

    Code (CSharp):
    1. // Initialize the Bone Controller
    2. GameObject lBob = GameObject.Find("Bob");
    3. Animator lAnimator = lBob.GetComponent<Animator>();
    4. BoneController lBC = lBob.GetComponent<BoneController>();
    5. lBC.RootTransform = lAnimator.GetBoneTransform(HumanBodyBones.Hips);
    6.  
    7. // Setup a motor
    8. LookAtMotor lMotor = new LookAtMotor();
    9. lMotor.Skeleton = lBC;
    10. lMotor.AddBone(lAnimator.GetBoneTransform(HumanBodyBones.Head);
    11. lMotor.AddBone(lAnimator.GetBoneTransform(HumanBodyBones.Neck);
    12. lMotor.TargetPosition = new Vector3(10, 10, 10);
    13.  
    14. // Add the motor
    15. lBC.Motors.Add(lMotor);
    I think it's pretty straight forward, but I've been coding for 20 years. :)
     
    Last edited: Jun 13, 2016
    TeagansDad and hopeful like this.
  19. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    Thanks, @Tryz. I knew that if it was doable, it would need to be by adding and configuring the motors by code once the UMA character was instantiated. I'm sure that Mount Points needs to be set up the same way. The best approach is probably to keep the body height and proportions within a narrow range for any player-created characters, as I think it would be more trouble than it's worth to figure out how

    I've been coding for about 20 years as well, so I'm quite comfortable doing this. The primary area where I run into trouble is when 3D math gets involved. ;) Linear algebra never did click with me (nor did calculus, for that matter).

    I could tell that you have many years of coding experience by how your code is structured (I think I have all of your products other than BC at this point). I've seen a lot of Unity assets with some very clever code but terrible structure and organization, and as a software engineer I really appreciate a well thought-out design.
     
    Tryz likes this.
  20. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    All good stuff. :D

    I've learned that people of all different skill levels use the assets. So, I try not to take anything for granted.

    I'm actually uploading a new version now. It should be live in a couple of hours. This will allow people to access the AddBone() function and provides a performance boost for rendering the skeleton.

    If you do decide to purchase the BC, I'm always here to help. :)
     
    TeagansDad likes this.
  21. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    (The BC update is live.)

    @TeagansDad - There's an update to UMA that's coming soon. Have you looked into it (on Github)? I'm not quite sure what's in it, but it's a substantial update, and there may be some new stuff that helps integrate plugins like Bone Controller and Actor Controller.
     
    Tryz and TeagansDad like this.
  22. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    @Tryz - thanks for the great support, as always!

    @hopeful - I haven't checked it out yet. I joined the UMA slack discussion group but I haven't participated yet. I'm not quite at the point in development where I'm really digging into UMA yet. I did spend a fair bit of time learning how to use it a few months back (and using DK UMA as well). But it could definitely use some ways to be able to set up components at design time in the editor and apply those settings once the avatar has been created.
     
    Tryz likes this.
  23. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Sooooo very agreed. :)
     
    Tryz likes this.
  24. MadDevil

    MadDevil

    Joined:
    Nov 4, 2014
    Posts:
    4
    Hey, the demo provided with the plugin uses keyboard controls.

    can i port it to mobile platform ??

    if YES, can you please let me know which all scripts that I have to modify so that it works for mobile controls
     
  25. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Mobile is fine. I've tested with my Galaxy S4.

    The BC itself doesn't use input. Most of the motors (look at, foot IK, pose, reach, etc) don't actually use input as you set position or transform targets in script or in the editor.

    The demo scenes I built do use mouse input, but I'm just using Unity's standard GUI. If you do have to modify anything, it would be Unity's GUI in the scene files themselves.
     
  26. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    A few rigging / animation noob questions:

    1) Does this work out of the box with the Mixamo mo-cap data?
    2) Can you rig up 4 legged things, or strange robots?
    3) Is this tool useful for rigging strange plants to animate them?
    4) continuing from #3, how do we implement wind to react with this? Wind on a character, or something else?

    Thanks!
     
  27. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hey @Flurgle

    1. Yes. It will add/override any animation. I use Mixamo, MAP, and others.

    2. Yes, but...

    The foot motor I include is built for a 2-bone leg (think human's thigh and shin). With that, you can put one per leg. For humans, that means 2 motors (one left and one right). However, you could put 3, 4, 8, etc. As many 2-bone legs as you want.

    However, a dog is typically a 3-bone leg. I don't have a motor specific to that... even if your dog only has one leg. :) So, the 2-bone motor might work depending on how your model is created. Or, you'd have to create the 3-bone motor.

    It's been on my list for a long time... I just never got to it.

    3. Yes, but not the way you probably mean. This tool wouldn't "rig" a skinned mesh. It will take the bones that exist and allow you to move and rotate them in real time. What you could do is take a plant that has been rigged and then use a custom motor to rotate the bones over time... in this sense, you can "animate" objects. However, it's not like Maya or Blender where you create a true animation.

    4. If I were to implement wind on a plant, I'd have a pre-rigged plant that had a skinned mesh (so it looked like a moving plant). I'd then create a bone motor that would randomly rotate the bones along the plant's stems and branches based on a wind direction and force I set.

    This would be a custom motor that I don't think would be too hard for a junior programmer. But it would definitely be a custom motor and require programming... But, the Bone Controller was built to have lots of custom motors. :)

    I hope all that makes sense.
     
    Flurgle likes this.
  28. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    Thanks!
     
  29. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    842
    Has anyone used this with Final IK? or do they find not needing it with this asset alone?? What interest me the most is the Impact motor.. I wish we could see that in action better though.. Maybe have a weapon hit a enemy.. or the other way around... Unless that is what i'm seeing in Hallow's Deep..? Again if I'm mistaken let me know.. about any of this...
     
  30. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    In the demo you can play with it by changing the position and power of the ray that impacts.

    What you see in Hallow's Deep videos is actually an animation and not the BC. The Impact motor will spread the impact around to the bones dynamically, but won't effect every bone like a full animation.
     
  31. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    Hello, your product is very interesting, and I am primarily a 2D dev. But I had a couple of possibly annoying questions on its maximum preformance limitations that a dev may encounter even after any optimizations have been done on their part.

    1. Whats the average amount of characters you could have using this bonecontroller with motors in one scene before you get less than your target FPS that you've noticed?

    2. If I had meshes which could sometimes lose parts because of in-game events, can I disable parts of the bones using scripts, can I append individual bones automatically to lists which I can then manipulate to my liking? Do bones get stored as variable Objects?

    3. Does making tiny 3D models and adding bones decrease or increase preformance? Whats the optimal amount of bones a character should have before using this for say, an RTS games characters.

    4. If I am understanding this correct, this is a real time skinning solution for mesh control, or does it always require a animation before it can be used. Is it actually a physics binder, which binds itself to static animations and appends simulated physics after each frame of animation?


    anyway, I am only interested in this because I thought it might be cool to use in certain types of video games. I'm guessing its not a full physics/ragdoll solution, but a reactive kinematic solution?
     
  32. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hi @frekiidoochmanz ,

    1. As you know, performance is a tough question to answer. It's effected by the power of your machine, how big the scene is, and other assets that are running. That said, I've had over 100 characters active and using the Look At Motor without seeing a drop in performance (ie more than 10%).

    Again, this could differ by computer and scene. But, you can disable motors if you aren't using them. If no motors are active, no processing power is used.

    2. If you lose or add bones, you can do it through scripts. Basically you'd use the GetMotor() function and then tweak that motor's bone list as needed. Motors will keep track of the bones that are setup at edit time. However, the bones are really kept in the BC and the motors reference them. Since "bones" are really just transforms, I'm referencing transforms.

    3. Bones are only processed by motors that are active. So, let's say you have a character with 1,000 bones, but no motors are active or no bone rotation changes occurred... there would be almost no processing done.

    I'm using Morph3D characters and they have a fair amount of bones. I've also used Mixamo characters and custom creatures (like the dinosaur). In looking at my characters, they have 60 to 80 bones each. The most I've run is about 100 characters with 70-ish bones each.

    4. I wouldn't say "real time skinning". I won't create a skinned mesh and can't modify the skinned mesh weights. However, if you have a skinned mesh (ie a goblin), I can take his bones and modify them in real time. If you have pre-built animations, I can blend with them or I can move the bones without any animations. That part doesn't matter.

    Each motor is responsible for a specific task. I have a "reach" motor that can make his hand or foot reach out to a target and the joints will bend realistically, I have a "look at" motor that will twist the head, neck, and chest to look at things dynamically, etc. You can also create custom motors to create real-time animations.

    One motor I like is the "chain drag" motor. I use this for pony tails and tails. It uses gravity and can have momentum. This is great for having tails that drag behind or think of Lara Croft's pony tail moving dynamically as she jumps.


    I don't have any rag-doll motors, but people have asked about it. Just not enough hours in the day. :)

    Whew... I hope that answers it all.
     
  33. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    Wait, BC, it has a list to append motors to bones in the list? So every bone automatically gets a motor disabled?

    And, I guess its my job to write how each bone in the BC list is kept track of?

    so for example: "BC.Bone[65].disabledMotor on event" I guess I could make interfaces to handle real time events for enabling motors when they're required, so all bone data is stored in an array on the individual gameobject to be manipulated in code?
     
  34. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    No... ack... that would be horrible. :eek:

    Check out the first 2 minutes of this video:


    In the beginning you set the root or hips of the character. Then, I find all the bones and process them. Now I know about your skeleton.

    Then, you can add something like the foot-to-ground motor. With that motor, press a button and I'll auto-select the bones from the skeleton that I processed earlier. Now that motor works.

    If you don't need the foot-to-ground motor to work... let's say you're flying... you can just disable the motor.

    You don't need to do anything with the bones themselves unless you want to create a new motor or you've got a funky character and we need to tweak the skeleton setup.

    I should add that when possible I find bones for the motors automatically (this works great for humanoids). However, if you've got something like a spider or monster... that's when you'd set which bones are going to be effected by the selected motor. You may have 4 foot-to-ground motors active and you'd say which bones each motor is controlling. I hope that makes sense.
     
    Last edited: Jun 19, 2016
    frekiidoochmanz and TeagansDad like this.
  35. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    I'm gonna get this since the only way I can undersrtand is by using it. I am not much of a 3D dev, do you have any recommendations on what 3D rendering software I should use to make models and what export options I need to use to make sure my bones are usable inside of unity with your BC?
     
    Tryz likes this.
  36. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    I'm not an artist, but I do use Maya sometimes. You can actually use any modeling and animation package. I've tried it with all sorts of different characters and models that I've bought off the Asset Store.

    When an FBX is imported into Unity, all the bones are converted into a hierarchy of transforms. It's those transforms that I process and call "bones". In the case of a skinned mesh, the mesh is tied to the bones and flexes as I (or an animation) moves the bones.

    All that is pretty standard across all packages. So, you really can create a model and skinned mesh in any tool. As long as Unity can load it, the BC can use it.
     
  37. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    Oh ok, thanks alot.
     
  38. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    @Tryz, you have a very different definition of "vacation" than I do. ;)

    Picked this up this morning and looking forward to trying it out.
     
    Tryz likes this.
  39. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    @TeagansDad haha... awesome.

    Yeah, we don't get to choose when things go on sale. So, this one was a bit of a surprise... the day we start vacation. hahaha. But, I'm here to help.
     
  40. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    That's extremely lame! wow. Please enjoy your vacation :)
     
  41. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    hahaha... I have no complaints. These sale are a big deal and really help put food on the table. :D
     
  42. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    Ya ok, wasn't sure we use animations as well, for that but was wondering if there was something better. Thanks, I posted with the wrong account the first time!

    Good luck with the tool! Looks great but not something that we would need right now/!!! But best of luck!!
     
  43. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    I'm a 3D modeler for over a decade. I used to use Maya great for animation... and we do own it.. But moved to Modo, Modo is cheaper, but also amazing...Modo has an indie version on Steam which is $300 , when its on sale much less. Full version is about $1800, when on sale $ 1100, if you buy the indie, then upgrade that price gets you a discount if you pay the full so its much less..Or Modo Indie is a Sub base for $ 12 a month.. You can sculpt , model, it has animations tools, its amazing . .Modo in my opinion has a better tools for 3d, modeling, Retyop, UV ... Maya we only use for animation , skinning ... But Modo is getting better with that.. I dislike that Auto Desk does not allow you to buy the software anymore, so we will no longer support them.... Adobe same way.. We use CS6 , and Substance for texturing.


    But Modo all around, I would suggest to an y dev, indie, personal or AAA... Check out the new version of Modo 10.0 -10.1 Its amazing! We can cut our time in modeling, by half when using Modo, Vs, Maya, and Max...


    PS:
    Before Modo, we used Max and Maya for many years... tried Blender but hated the UI with a passion... We still use Zbrush though for High poly models. But start it in Modo. Check out Mesh fushion for Modo, you can make some nice models in a short time..and fix mistakes in minutes vs any other program which would take hours /weeks to fix... This is why we moved, they keep getting better an better, you won't be disappointed! I know I sound like a sales man, but that is how much we love it..
     
    Last edited: Jun 20, 2016
    Tryz likes this.
  44. moddyb

    moddyb

    Joined:
    May 16, 2013
    Posts:
    3
    I am currently working on a system that takes joint rotations as input and needs a humanoid making the pose defined by those angles. However I do not have any position data. So when the model is crouching, the feet go up instead of the hips going down. Would using the Bone Controller help me fix this? Thanks..
     
  45. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hi Moddyb.

    I think I understand. Since the feet go up during a crouch, it's almost like he's floating. If the hips aren't moving and the feet go up, it would leave that gap between the feet and the ground.

    The BC wouldn't really help with positioning the character as a whole. The BC was really built to manage rotational values of the bones. In this way, FK and IK drive where the bones ends up. The hips tend to be a "root" and I wouldn't move the root.

    I suppose a custom bone motor could do that, but it certainly isn't something that would come out-of-the-box.
     
  46. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    I set up a Foot to Ground motor on a character and it looks great when walking down stairs, but if he stops while walking down the stairs, the bone motor will often spin him around completely so he's facing the top of the stairs. Even when it doesn't, it will often rotate him by about 45 degrees or simply make him jitter. What parameters should I modify to try and fix this? :)

    The character is using a slightly modified version of the MAP_WalkRunPivot motion with the MAP animations.

    EDIT: I get the same behaviour using the Full Body Grounder component in Final IK, although that one turns him 180 degrees more consistently.
     
  47. moddyb

    moddyb

    Joined:
    May 16, 2013
    Posts:
    3
    Thanks for the prompt response Tim. I'll keep looking
     
  48. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Something else must be gong on. The bone motor can't rotate the full character. It only knows about the leg and foot bones and doesn't do anything with the root or hips at all.

    The fact that it's happening with Final IK too (I'm assuming without the BC active) makes me think that it's really something with the modified motion.

    Unless I'm misunderstanding, it has to be the MAP_WalkRunPivot as the BC never sets the character's rotation. What happens if you don't use that motion or disable the MC and simply use an old-style animation?
     
  49. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    @Tryz -- thanks! It's always helpful to know what cannot be the problem when troubleshooting. ;)

    The culprit was the Slide motion being enabled (although I'm not using a ramp collider on my stairs). When I disable it, the problem goes away completely. It actually does happen without BC or Final IK performing any grounding, but it seems to happen more consistently when either of those are active.

    I was hoping that the Foot to Ground might help with another problem I'm having... when running down the stairs, every couple of cycles the character stops running and falls to the next step, then starts running again (doesn't happen when walking). I guess that's something I have to fix within the motion.
     
    Tryz likes this.
  50. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    That sounds like something with the motion. If the next step is too far down, it seems like the character thinks they are falling. I think the fall motion has a distance setting that you could increase. I'll have to check once I get the chance.