Final IK

This topic contains 4 replies, has 2 voices, and was last updated by  Gavalakis 1 day, 8 hours ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #2249

    casanuda
    Participant

    Hi,

    Running 2020.2 and the latest Final IK…it is not acting correctly. Using look at and limb full body.

    The solver will start, but then it looks like it keeps repeating giving un-desired results.

    Looking at the final IK component whilst scrubbing, shows that the weight is being blended in and out, but it does not affect the model.

    I noticed that the component gets disabled as well, not sure if that is intentional.

    Any chance you could have a look at it?

    Thanks

    Cas

    #2250

    casanuda
    Participant

    Wasn’t sure if I should make another post, but it is also IK related:

    Your custom look at on the character script does not reset after scrubbing past the clip end either.

    It also does not seem to be happy being on the root of the prefab with the animator, and has to be attached to the skinned mesh otherwise:

    NullReferenceException: Object reference not set to an instance of an object

    Slate.CharacterInspector+<>c.<OnInspectorGUI>b__10_0 (UnityEngine.SkinnedMeshRenderer s) (at Assets/ParadoxNotion/SLATE Cinematic Sequencer/Characters/Editor/CharacterInspector.cs:74)

    System.Linq.Enumerable+WhereArrayIterator1[TSource].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)

    System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)

    Slate.CharacterInspector.OnInspectorGUI () (at Assets/ParadoxNotion/SLATE Cinematic Sequencer/Characters/Editor/CharacterInspector.cs:74)

    UnityEditor.UIElements.InspectorElement+<>c__DisplayClass58_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <1b64b06f536e44ebb2ace8cd6da8538a>:0)

    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

     

    Thanks

    Cas

    #2252

    Gavalakis
    Keymaster

    Hello Cas,

    Regarding FinalIK, disabling the finalIK component is intentional because the component is manually updated from slate. Disabling the component avoids it being updated twice (one from slate and another from finalIK “Update” method). With that said however, I am not exactly sure of the problem you mention. Do you have the FinalIK Slate Clip in an Action Track that is above any other animation related tracks like for example above Animator Track?

    Also regarding custom “Character Look At” clip, can you please post a screenshot of your cutscene?
    There shouldn’t be a problem with the Character component being attached on the root (as a matter of fact that is how it was designed to work since it searches for Skinned Mesh Renderer within all the children of the gameobject attached.

    Please let me know.
    Thank you!

    Join us on Discord: https://discord.gg/97q2Rjh

    #2254

    casanuda
    Participant

    Hi,

    Final IK test 1:
    There is only one track – an action track with Final IK look at.
    If I scrub forward through, it will blend the look at in, but it will not blend out at the end of the clip.
    If I scrub backwards through the clip it continues adding to the look at.
    And finally if I keep scrubbing backwards and forwards,it just seems to keep constantly adding to the look at.

    Final IK test 2:
    Action track and an animation track with clip.
    This does not even trigger the look at, the animation goes a bit crazy with the ik trying to work but being over-ridden by the animation.
    This is the same whether I have action over animation or other way around.

    Character script 1:
    I get a similar problem as Final IK, the look at triggers, but does not blend out. Also just an action track.

    Character script 2:
    If I add it to the root, I get this error – it needs to be on the skinned mesh with the blends to work. I am unsure if this is by design.

    NullReferenceException: Object reference not set to an instance of an object

    Slate.CharacterInspector+<>c.<OnInspectorGUI>b__10_0 (UnityEngine.SkinnedMeshRenderer s) (at Assets/ParadoxNotion/SLATE Cinematic Sequencer/Characters/Editor/CharacterInspector.cs:74)

    System.Linq.Enumerable+WhereArrayIterator1[TSource].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)

    System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)

    Slate.CharacterInspector.OnInspectorGUI () (at Assets/ParadoxNotion/SLATE Cinematic Sequencer/Characters/Editor/CharacterInspector.cs:74)

    UnityEditor.UIElements.InspectorElement+<>c__DisplayClass58_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <1b64b06f536e44ebb2ace8cd6da8538a>:0)

    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

    Thanks
    Cas

    #2256

    Gavalakis
    Keymaster

    Hello again,

    In regards to both tests #2, please note that both required an Animator Track to sit bellow the Action Track that contains the Look At clip. This is required because Look At is an additive process added on top of existing animation. Without existing animation, there is no pose for the character to return to (blend out to).

    In regards to both tests #1, I honestly can not replicate this behaviour if there is an Animator Track bellow the Look At clip (animation needs to exist bellow the look at clip and playing).

    Just to clarify are you referring to Animator Track or the Legacy Animation Track? (both should work by the way, but just in case).

    In regards to the error, is by any chance the gameobject that has the SkinnedMeshRenderer disabled?
    Can you please try opening up CharacterInspector.cs and replace line #74 (the error line) with the following line of code and let me know:

    Please let me know.
    Thank you!

    Join us on Discord: https://discord.gg/97q2Rjh

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.