Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

iStep - Premium Foot Placement Solution

Discussion in 'Assets and Asset Store' started by Kreshi, Apr 13, 2022.

  1. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    iStep 1.3.3
    has been released which comes with new improvements:
    • added "Ik Upwards Pull Back Down Extrapolation" parameter with which you can improve the behaviour of walking up on slopes. With this you can pull the feet back down to the ground in case they were floating when walking up on slopes.
    • Handled the case when broken colliders like BoxColliders with Size near ~0 in any axis are used for the ground in your Scene and logging an error message pointing out the issue with the broken collider.
    • Improved Documentation
    • Minor general improvements and fixes
     
    shyamarama likes this.
  2. elpatrongames69

    elpatrongames69

    Joined:
    Mar 2, 2023
    Posts:
    99
    Its not working good on polygon maps because of negative collider i think. How can i make it work in negative colliders?
     
  3. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    With negative colliders, do you mean colliders like BoxColliders with size 0 in any of their axes? Because there are some synty polygon asset packs that have this configured wrong. In case your BoxColliders have any of their size values set to 0, just increase it to something like 0.01 and you will be fine :).

    Using colliders with size (or scale) of 0 in any axis will cause multiple problems for the Unity physics engine ;).
     
    elpatrongames69 likes this.
  4. Raikage46

    Raikage46

    Joined:
    Feb 17, 2019
    Posts:
    10
    Bought this a few days ago and I think it's awesome! Though I got one issue. I can't seem to get the foot prints/sfx to work... I created Game Objects that have the Effects Player and set everything up like in the demo. Only sometimes when running down a slope I see the smoke effect (but no sound or footprint). It's like they are just not properly being triggered. Any idea what could be the reason?
     
    Kreshi likes this.
  5. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Thank you for the positive feedback :).
    You can optimize the events by manipulating these 2 values:

    upload_2023-3-10_22-8-27.png

    They don't have to be perfect, they are used as an indication by iStep :).
    If you can't get the events to work properly by configuring these values, it may be some general configuration issue that I would need to check in detail. If that's the case, feel free to e-mail me :).

    For the sake of completeness, here the default configuration for how the sounds are linked in the footstep-events to be played in the demo scene ;):

    upload_2023-3-10_22-22-39.png
     
    Raikage46 likes this.
  6. Raikage46

    Raikage46

    Joined:
    Feb 17, 2019
    Posts:
    10
    After double and triple checking it seemed I set it up correctly... but it still didn't work. So I decided to delete it and try from scratch. And then it worked...
    So now all is all right. Thanks for the help!
     
    Kreshi likes this.
  7. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    I'm glad it worked out for you :).
     
  8. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    iStep 1.3.4 has been released.

    Changelog:
    • Added a parameter to configure maximum ankle rotation adaption
    • Added a parameter to configure ik raycast margin
    • Edge-case algorithmic improvements
    • Added more getters and setters
    • Minor general improvements and fixes
     
  9. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    I am sharing some iStep settings for the Invector users out there to get started faster :)

    invectorsettings1.png
    invectorsettings2.png
     
    SammmZ and hopeful like this.
  10. RUNTIME_FEE

    RUNTIME_FEE

    Joined:
    Jan 19, 2015
    Posts:
    39
    Hi, any chance to setup with the tesellated terrain? My character foots are stays under the tesellated terrain parts.
     
  11. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    if the details are added on the GPU while Unitys physics engine uses the default terrain mesh as collider (CPU), then it won't be possible unfortunately. Technically you could use a custom mesh as collider instead of the default terrain collider - however the generation of such a high detail terrain could be a pain in the a** from a workflow-perspective. Also: you would need to tile the new collider into multiple chunks because the physics engine can only handle a limited amount of vertices per mesh collider internally. Another solution would be to render the world space positions or depths from the perspective of each foot respectively and analyze those to calculate correct hit-points, however this could be a big performance hit in most scenarios therefore it is not very applicable.
     
    RUNTIME_FEE likes this.
  12. RUNTIME_FEE

    RUNTIME_FEE

    Joined:
    Jan 19, 2015
    Posts:
    39
    Yes, you right. Lowering the tesselation displacement is the great idea in this scenario. Thanks.
     
    hopeful and Kreshi like this.
  13. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    That's a very good solution as well :D.
     
    RUNTIME_FEE likes this.
  14. Luceid

    Luceid

    Joined:
    Jun 3, 2023
    Posts:
    10
    Hello,

    I'm a bit new to Unity and making my own game solo, and I wanted to prevent my feet from slipping during animations. I purchased iStep hoping it could solve my issue, but I haven't quite figured it out yet. My character is a vroid model, with my own custom player controller made in Playmaker. My character's collider floats above the ground (I use a damped spring force equation to enforce this), but the model dips below the collider to give the appearance of being on the ground.

    I added the foot IK script to the child object which has my model and animator, made sure to enable ik on the base layer so to the best of my knowledge I have the base setup correct. I am using a basic blend tree from walk to run, but as you can see, with the control stick just barely held down for a slight walk, my character's feet still slide and won't plant on the ground as expected. Can you help me figure this out?

    Edit: The script is working in general, as I tested it on slanted plane and the feet snapped up and down correctly. It's just the slippery feet I'm having trouble with.
    2nd edit: I have minimized the sliding by making the blend tree use different walk and run animations at various animation speeds. That said, I'd still love a more precise solution that plants the feet properly!

    Thank you,
    -Luka

     
    Last edited: Jul 20, 2023
  15. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Hi Luka!
    It's difficult for me to tell much from the video since you are running on a flat surface. iStep aligns the feet to the ground and adapts body position accordingly - for example on stairs or ramps. There are also options to configure y-offsets of the character, foot height/width/length and many many many more configurable parameters to optimize your settings for all your needs :). iStep however does not glue the feet to the ground. Glueing feets to the ground makes little sense since your animations would run out-of-sync depending on player movement speed and animation movement speed. if you want to reduce feet slipping for your character / character controller you can either:

    a) match player movement speed to animation movement speed
    b) use root motion for movement
    ((c) use animation clip events and a custom script to clamp feet positions on the XZ-axis - which however will also produce bad looking results if animation movement speed and player movement speed don't match at all))

    Regarding the above options, I went with option a) in my current game. Option b) is a valid option too and frequently used (especially in AAA) which gives visually the best results but with a drawback in reaction time and precission in regard to movement input.

    Generally speaking: think of iStep as a solution that you put on top at your character to make the character align to the world surrounding him :).
     
  16. Luceid

    Luceid

    Joined:
    Jun 3, 2023
    Posts:
    10
    Thank you for the detailed and swift reply!
    As I played around more with the animations, I began to realize that what I was asking for was probably not possible, as it would require the ik to take control of the animation itself to work.

    I will play around with the animations and try to get them to line up as smoothly as possible using blend trees, but I'll probably have to accept that there will be slight amounts of sliding.

    I did try out root motion for a bit, but quickly decided against it, as I don't have the skill to design custom animations to match my gameplay. I'm using mixamo and some paid animation bundles, and root motion seems to introduce numerous headaches if handled poorly. My character controller is physics based as well so that doesn't work with root motion.

    That said, your script works flawlessly for the problems it aims to solve, I love it! My character always looked so clunky going up and down ramps and stairs, and now she looks perfect!

    Thank you,
    -Luka
     
    Kreshi likes this.
  17. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Thanks for the super nice words! :D
    I think a slight amount of sliding is absolutely tolerable :).
    Most of the time I try to follow the 80/20 rule. 20% effort for 80% result ;).
     
  18. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    hi i get this error and sometimes the leg of the character turns upside down

    upload_2023-8-7_18-36-55.png upload_2023-8-7_18-37-21.png
     
  19. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Hi @EraySelim26
    I have a few questions which should help in debugging the issue:

    1) Did you try the included demo content (for example in a new Unity project for testing purpose)?
    2) Did you attach the FootIK component to the same GameObject that your Animator component is attached to?
    3) Is your character imported as type humanoid in the models import settings?
    4) Are you adding FootIK dynamically at runtime in your script called "ScriptsDeneme.cs"? (if this is the case you have to call footIK.reinitialize(); after adding the component)
     
  20. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7


    1-no i didn't try but it works for some characters

    2-yes animator and footIK are in the same object

    3-yes it is humanoid

    4- I also tried it normally, I also tried a different script like this

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class ScriptsDeneme : HoaxGames.FootIK
    {
    protected override void Awake()
    {
    // do nothing
    }

    protected override void Start()
    {
    StartCoroutine(CustomTimingInitialization());
    }

    IEnumerator CustomTimingInitialization()
    {
    // wait for how long you have to wait until your procedural character initialization has been finished
    yield return new WaitForEndOfFrame(); // wait for end of the frame
    yield return new WaitForEndOfFrame(); // wait for end of the next frame

    // initialize
    base.Awake();
    base.Start();
    }

    protected override void OnAnimatorIK(int layerIdx)
    {
    if (this.m_animator == null) return; // make sure nothing happens when initialization isn't finished

    base.OnAnimatorIK(layerIdx);
    }
     
  21. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Can you share the character that makes the problems with me so that I can have a direct look at it? You can write/contact me at k.hoaxgames@gmail.com :). Alternatively you can contact me directly via Discord as well: kreshi_hoaxgames (I do have a Discord server too, but it will go live with the announcement of my current game project - which will take until the end of the year I assume :D).
     
  22. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    I sent you a mail :)
     
  23. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Yes :).
    I send you a short video getting your character working ;):):D.
     
  24. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    iStep 1.3.5 has been released.

    Changelog:
    • Updated published version to Unity 2022 LTS
    • Added footstep event delay option to the FootIK script to simplify and improve event triggering optimizations
     
  25. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    Is there a video on setting up footstep and launch smoke? footstep prefabs are not instantiating properly (they're not rotating properly and they start right under the character)
     
  26. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Hello Eray,

    I guess you are trying to instantiate the effects on a custom character using the included EffectsPlayer and are having some trouble right?
    There was no video tutorial regarding the case until now. I just created one :D.



    However it is very long and difficult to understand and to follow.
    I explained the most difficult case which is setting-up a footstep decal projector which involves... quaternions/rotations and those are always super difficult to grasp.

    I hope the tutorial helps you out but even though it is so long it certainly doesn't explain all possibilities, settings and options..
     
  27. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    211
    Hi! Small question regarding the Force Invalid on Animator States section:
    I have no idea how to actually make use of it. What is considered an animation state name? Is it the clip name? Parameter name? Animator name? Layer name? It just isn't clear to me.


    I have a "Mount" parameter that I use when a mount gets summoned. I'd like to disable it then. The state machine is called Mounting, the animation itself is called Mount_Idle_0, the layer is 5th in the tree (so I assume a value of 4 or 5 is used here if counting from 0) but nothing I plug into the footIK script works. Could you perhaps explain how I can make FootIK stop pulling my player's feet toward the ground during specific animations/states?

    I'd logically assume it's about the name of the state machine in the animator but as you can see it is not working. Tried almost all I could think of at this point.

     
  28. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    A Animator State has to be either a Animator-State holding an animation clip or holding a blendtree.
    So if you select it in the Animator, it should look like this in the inspector:

    upload_2023-9-4_1-13-53.png

    upload_2023-9-4_1-14-15.png

    The animation / blend tree has to be played back - if that's the case then it will smoothy disable the foot ik behaviour. The layer has to be the animation layer index. 0 is the base layer and so on.

    Are you configuring the values at runtime after entering playmode or before entering playmode? Make sure you configure them before pressing play in the editor, otherwise your changes won't be registered. The reason for that is because the entries are being cached and the names are being transformed into int-hashes for performance reasons :). I guess you configured your settings during play-mode and that's why your changes weren't registered I assume ;). Make sure you set them up before entering play-mode pls :).

    For making changes at runtime the footIK script offers 2 functions that can be used to update the values:

    - footIK.reinitialize()
    - footIK.tryAddToForceInvalidOnAnimatorState(...)

    There is also the function:

    - setIsValidAndShouldCheckForGrounded(...)

    which can be used to dynamically toggle between CHECK_IS_GROUNDED and FORCE_INVALID to smoothly activate/deactivate the footIK from code instead of using the provided code-less animation-interface.

    Disabling/Enabling the component without using the provided interfaces is not recommended because it has no smooth transition for disabling the behaviour ;). (that's the only reason though)
     
    Bwacky likes this.
  29. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    211
    Adding footIK at runtime which is probably why I couldn't get it to work, thank you! Going to take another stab at it now.
     
    Kreshi likes this.
  30. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    For anyone who wants to use iStep with procedurally created characters but is having trouble with initialization order due to dynamic avatar and bone generation, I recommend deriving from FootIK like this:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class MyCustomFootIKExample : HoaxGames.FootIK
    6. {
    7.     protected override void Awake()
    8.     {
    9.         // do nothing (this overrides the Awake of FootIK - stopping it from executing any code on Awake --> we do that later, see below)
    10.     }
    11.  
    12.     protected override void Start()
    13.     {
    14.         // this overrides the Start of FootIK - stopping it from executing any code until we tell it to
    15.         StartCoroutine(customTimingInitialization());
    16.     }
    17.  
    18.     IEnumerator customTimingInitialization()
    19.     {
    20.         // wait for how long you have to wait until your procedural character initialization has been finished
    21.         yield return new WaitForEndOfFrame(); // wait for end of the frame
    22.         yield return new WaitForEndOfFrame(); // wait for end of the next frame
    23.  
    24.         Debug.Log("INIT FOOTIK");
    25.  
    26.         // initialize
    27.         base.Awake();
    28.         base.Start();
    29.     }
    30.  
    31.     protected override void OnAnimatorIK(int layerIdx)
    32.     {
    33.         // return while initialization has not been completed yet
    34.         // this.m_animator and all other settings will be initialized by calling base.Awake() and base.Start() above.
    35.         if (this.m_animator == null) return;
    36.  
    37.         base.OnAnimatorIK(layerIdx);
    38.     }
    39. }
    40.  
    another example:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class MyCustomFootIKExample2 : HoaxGames.FootIK
    6. {
    7.     protected override void Awake()
    8.     {
    9.         // do nothing (this overrides the Awake of FootIK - stopping it from executing any code on Awake --> we do that later, see below)
    10.     }
    11.  
    12.     protected override void Start()
    13.     {
    14.         // this overrides the Start of FootIK - stopping it from executing any code until we tell it to
    15.         StartCoroutine(customTimingInitialization());
    16.     }
    17.  
    18.     IEnumerator customTimingInitialization()
    19.     {
    20.         // wait until bones are initialized
    21.         Animator animator = this.GetComponent<Animator>();
    22.  
    23.         while (animator == null || animator.avatar == null || animator.GetBoneTransform(HumanBodyBones.Hips) == null || animator.GetBoneTransform(HumanBodyBones.LeftFoot) == null)
    24.         {
    25.             if(animator == null) animator = this.GetComponent<Animator>();
    26.             yield return null; // wait here
    27.         }
    28.  
    29.         yield return new WaitForEndOfFrame();
    30.         yield return new WaitForEndOfFrame();
    31.  
    32.         Debug.Log("INIT FOOTIK");
    33.  
    34.         // initialize
    35.         base.Awake();
    36.         base.Start();
    37.     }
    38.  
    39.     protected override void OnAnimatorIK(int layerIdx)
    40.     {
    41.         // return while initialization has not been completed yet
    42.         // this.m_animator and all other settings will be initialized by calling base.Awake() and base.Start() above.
    43.         if (this.m_animator == null) return;
    44.  
    45.         base.OnAnimatorIK(layerIdx);
    46.     }
    47. }
    48.  
     
    Bwacky likes this.
  31. Rewaken

    Rewaken

    Joined:
    Mar 24, 2015
    Posts:
    128
    Hello, is it possible to bend the spline in a leaning fashion when the player is walking? Right now I can see leaning applied to the whole body, but is it possible to apply it only to the spline of the game object?
     
  32. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    at the moment there is:
    - Slope Bending Upwards Strength
    - Slope Bending Downwards Strength
    which bends the spine when walking/running upwards/downwards.

    For runnung on a flat ground (or any ground - it is based on velocity) the corresponding leaning param "Move Leaning Strength" affect the whole body. However there is "Move Leaning Kneel Factor" which should be used together with "Move Leaning Strength" to improve the overall leaning visuals.

    Saying that, I can add a spine leaning param for running based on velocity like "Move Leaning" as well however I don't think that's going to look better than move leaning + kneel.

    So if move leaning + kneel doesnt do the trick and you would like to have the additional option for spine leaning manipulation let me know and I will add it ;).
     
  33. Rewaken

    Rewaken

    Joined:
    Mar 24, 2015
    Posts:
    128
    Please add it. I tried with Move leaning and kneeling, but it looks weird.
     
  34. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    If you write me an e-mail at k.hoaxgames@gmail.com I can send you the update directly (you won't have to wait for the official Unity Asset Store update this way).
     
  35. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    iStep 1.3.6 has been released.

    Release Notes:
    • Added new leaning options
    • FootIK produces zero garbage now

    The new leaning options contain some simple start-stop procedural functionality as well as the above discussed spine leaning option. If you want to test the start-stop behaviour i recommend to start with these settings and move on from there :):

    iStepLeaningSettings.png

    The main purpose of the asset is still correct foot placement though so look at these small features as a bonus :D;).
     
    Bwacky likes this.
  36. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    Does this work for VR to position feet?
     
  37. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    in general it should work with VR the same way as it would without VR.
    The only requirements for iStep are that your character is of type "Humanoid" and that you have IK enabled in the AnimatorController :)
     
  38. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    How can we sync this footIK to other players using photon pun
     
  39. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    you don't have to sync it at all. I would just add the component to all the player-characters client-side :). if your character transform and animations are synced then iStep should be able to do its magic on top automatically. just don't forget that IK-pass has to be enabled within the animator controller ;).
     
    EraySelim26 likes this.
  40. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    iStep detected a collider (most likely a BoxCollider) with size in an axis near to ~0 which breaks Unity Physics (BoxCast). Please correct the broken collider [GameObject: Plane]. What does the error mean?
     
  41. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    It means that you are using colliders with scale/size of 0 in at least one axis in your scene (the respective gameobject is named "Plane" and has probably such a collider attached - most likely a boxcollider). Colliders with size 0 cause unity physicsengine bugs. Just increase the size of your collider to 0.01 in the respective axis and you will be fine (in 99% of cases you have a box collider with size 3, 0, 3. Make it 3, 0.01, 3). iStep catches this error and prints it for identifying broken colliders :)
     
    Last edited: Jan 3, 2024
    EraySelim26 likes this.
  42. EraySelim26

    EraySelim26

    Joined:
    Jul 7, 2021
    Posts:
    7
    Will you make a video to make different sounds depending on where your foot steps, because I couldn't find how to do it, Thank you.
     
  43. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Yes I can :).


    Hope this helps you out ;).
     
    EraySelim26 likes this.
  44. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    211
    Hi!
    Any advice on the legs of my character getting somehow bent or "dragging behind" while running?
    It feels very random but sometimes while running or sliding down slopes the legs bend too far versus when I run with the IK component off. It's very minor, but you can tell after running around for a bit with and without the component enabled. Tried recording it but might be difficult to spot. When the character is flat on the plane IK is enabled, a bit above the plane it's disabled.
    I swap IK on/off a few times during the running around. It's always the leg going off a bit to the side or lagging behind, so to speak. Maybe you've seen this before and could offer some advice. I tried playing around with most settings on the IK component (I got all set to default and they work great for my use usually) but none prevent this bending from happening :)

    https://www.dropbox.com/scl/fi/6shg...55E.webm?rlkey=4lso46jeutiig31j37pf289ot&dl=0
     
  45. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    I think I know what causes the issue thanks to your description :).
    The problem is that your character is floating by default therefore the "zero" position is not really zero.
    Use "Global Character Y Offset" to fix the characters "zero" position.
    If you do that then iStep will first fix the wrong floating offset and adapt body and feet positions afterwards. This should fix your minor animation differences :).

    I have a tutorial how to configure these things correctly, here with a timestamp (find the best values in playmode first then copy them and set them in editmode afterwards):
     
    Bwacky likes this.
  46. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    211
    Thank you kindly! Followed the video, adjusted body placement weight offset afterward and now it's perfect <3
     
    Kreshi likes this.
  47. Aur0k

    Aur0k

    Joined:
    Oct 20, 2017
    Posts:
    6
    Greetings sir!
    I just bought your solution for a openworld draft/prototype project and it seems to not work on moving floor?
    I have a moving vehicle and the character is supposed to walk inside that vehicle. As far as i understand, the FootIK Script only considers changing heights but not moving floors. Do i misunderstand something or is it actually possibe? If not, are you planning to add such feature?
     
  48. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Actually it does support moving floors. it is even part of the included demo :). Are you sure you configured your floors layer in the FootIK script so that it can react to it?
     
  49. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    211
    Hi again @Kreshi ! Any plans for generic support or something like 4-legged animals down the line or a separate asset? I've been looking into getting my monsters planted on the terrain but nothing on the store works well enough. Had the same issue with humanoid feet IK (till iStep came around) :D
     
  50. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    448
    Hi and thanks for the question!

    Currently I am working very hard on a game project which consumes most of my time and energy :D.
    I had started spending some time writing algorithms to generalize foot placement to work with generic characters (multiple legs, multiple leg joints, custom constraints and the likes..) last year, but you know, after going full-time on game dev I had to pivot my focus towards my game project at this point.

    I want to finish this game project as soon as possible so it has prio #1 to me at the moment. After that I will re-evaluate everything and see what I will be working on next :).
     
    Bwacky likes this.