Search Unity

FINAL IK - Full Body IK, Aim, Look At, FABRIK, CCD IK... [1.0 RELEASED]

Discussion in 'Assets and Asset Store' started by Partel-Lang, Jan 15, 2014.

  1. vividshem

    vividshem

    Joined:
    Jun 11, 2018
    Posts:
    1
    Hi @Partel-Lang ,

    I am currently working on Leap Motion using the VRIK, in one of my scenes the player stands on a hoverboard and is flown through the scene. The problem I'm facing is the player model being left behind due to the IK performing the stepping motions. Is there anyway to disable the locomotion/walking?
     
  2. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    How can you make a local multiplayer VR game? I mean I thought a computer can handle only one VR device at a time.

    Hey,
    Don't worry about it. You can rotate the bones in the Editor, animation will overwrite those rotations when you hit play.

    Hey,
    1. FullBodyBipedIK, BipedIK, LookAtIK were designed for bipeds. They can run on quadrupeds too, but you might encounter some difficulties, depends on what you are trying to do.
    2. Final IK does not care which platform it runs on.
    3. The FullBodyBipedIK animation effects like Inertia, MotionAbsorb, HitReaction, Recoil can be used additively on top of each other. They use effector.positionOffset, on which they add their modifications to additively each frame, so you can combine those effects. Weighing in effector "Position Weight" overrides thse positionOffsets though, so if you set hand effector position weight to 1 to carry a box, that means the Inertia or HitReaction will not be affecting that hand anymore.

    PuppetMaster is independent of whatever the IK does, it'll just follow the pose physically, so it might be a good idea to use that for the hit reaction and ragdoll part. You'll just have to see if the added cost in performance is affordable in your game.

    Best,
    Pärtel
     
    VP_no1 likes this.
  3. AntLewis

    AntLewis

    Joined:
    Feb 2, 2010
    Posts:
    254
    Hey @Partel-Lang thanks so much for the fast response. One final question - when I have an object in my hand, what is the best way to twist it (for example if you hold a bottle but you then twist your wrist to read the label on the back of the bottle). It seems like I need a rotation offset, much like the position offset you describe in your tutorial videos but there's doesn't seem to be an equivalent. To give you context - once an item has been picked up, I want to rotate it around it's axis by moving mouse left/right.

    Thanks so much again
     
  4. ozturk_brk

    ozturk_brk

    Joined:
    Jun 27, 2018
    Posts:
    10
    Hi @Partel-Lang.

    First of all thanks so much for your efforts. I watched the tutorials you made about the interactions. I have a question in mind. All of the actions in tutorials are with idle animations. What about a run animation. Like dribbling in a soccer game. I am thinking I can use Final IK to reach the ball and apply a force to it while running. But the position of the leg may be a problem. The leg will be different positions while running animation. So, the distance to the ball will be various. The IK movements will not be the same for all the time. What do you think of it? Have a solution to it. Thanks.
     
  5. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    1,035
    Hi Partel,
    I would like to use final ik to do some ducking animation on top of a running animation and tried using the head effector but the hands seem to go crazy if I let the head go low, they start intersecting with the body and in some case I think it has a gimbal lock issue. Strangely it happen only on one arm, the other animate fine.
    I found a message saying the head effector is not being worked on anymore and now you should use VR IK.
    I tried VR IK(although I am not doing VR) and doesn't seem to have the issues.
    What's the drawback in using VR IK against Fullbody biped IK?
    Is it a lot more heavy on the cpu? Any missing features?
     
  6. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Hello there @Partel-Lang !
    I had a question about using FIK along with Slate - Cinematic Sequencer. I am using a script you provided on my character which you called EditorIK that allows the solvers to work in edit mode which allows me to scrub through my sequence and what not which is great, though I seem to be having an issue with it.

    I first tried to have the script disabled and then enable it when I needed the characters arms to move to a certain point but having the EditorIK Script enabled seems to always fully overwrite any animation that may be playing. I tried adjusting the order of operations of things but that doesn't seem to help any. I tried to mess with the weights as well. As soon as the EditorIK script first on it will kick my character to T-Pose if there are low / no weights, or it will go straight to locked position, of course, if it's at 1 but it just kills the animation. I tried it with both FBBIK as well as the Limb IK, they both seemed to do the same thing from what I could tell.

    Do you have any suggestions in which I could try?



    Thanks!
    -MH
     
    Last edited: Aug 15, 2018
  7. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey, you could just apply rotation offset to the hand bone in LateUpdate.
    Code (CSharp):
    1. hand.localRotation = Quaternion.Euler(handRotationOffset) * hand.localRotation;
    Hey,
    Please check out the "Soccer Kick" demo. It uses a technique I call Animation Warping to move the foot to the ball. That can also give you a bit of freedom with a running with a ball animation. You can set the weight curve of the animation warp to go up to 1 every time the foot is supposed to touch the ball in the animation and back to 0 when it doesn't. I'm not really sure how it would look though, haven't tried this myself.

    Hey,
    With VRIK you can't pull the body from the hand, the spine won't follow as the spine is supposed to be controlled by the HMD. There are no other drawbacks, it is actually twice/trice as fast as FBBIK.

    If you need to do ducking animation with FBBIK, you don't actually need to use the head effector. You can pull the head down by the shoulder and body effectors. You can try that in the "Effector Offset" demo if you play around with the shoulder/body effector offsets in there, try to move them down a bit.

    Hey,
    If you open the EditorIK script (just a few lines of code), you'll see in the Update function the line about fixTransforms. That must be the thing forcing the character to default pose so you can try disabling "Fix Transforms" in the IK component. Not sure how Slate works, but animation should be updated between fixTransforms and IK update. That fix transforms thing is just for making sure there is no IK applied additively on top of itself, should there be nothing (normally the animation) overwriting bone rotations in between.

    Best,
    Pärtel
     
  8. Filhanteraren

    Filhanteraren

    Joined:
    May 14, 2014
    Posts:
    47
    Hi, I have a small question about getting the FBBIK Grounder to work together with Aim IK and two handed weapons.
    I am using this script from this video (
    ) to get my left arm aligned to the weapon. On top of that I am using FBBIK Grounder. The problem as I see it is that grounder is applied after and thus moving the character to fit the ground but not the weapon and the Aim IK stuff. ( If the character stands on a edge the grounder moves the character down so the feet touches the ground but the weapons remains higher up and do not move with it.) Not sure if there is any easy solution to fix this.

    Edit: I am also trying to get the Recoil script to work good with the same script. So any help there would also be appreciated.

    While on the subject I also wonder if there is any best practice to use FBBIK with effector offsets together with Aim IK. Basically I want to use AimIK and at the same time use effector offset to change the position of the weapons during gameplay.
     
    Last edited: Aug 16, 2018
  9. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    Hi
    I have a problem with a simple interaction
    why happen this to the legs. (the interaction is with the left hand)

    thanks
     

    Attached Files:

  10. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    If you wish to do recoil, I suggest you start not with that tutorial, but with either the "Firt Person Shooter (Recoil)" or "Third Person Shooter (Recoil)" demos, whichever you need. Those already work with AimIK, the Grounder (just add GrounderFBBIK) and effector offsets (just add EffectorOffset).

    Hey,
    If you select the FBBIK gameobject while in Editor mode, do you see little blue arrows on the knees in the Scene view? They indicate the bending direction of the knees.
    If there are yellow/red dots instead or if the arrows are not pointing forward, rotate the knee bones so the that the limbs are bent slightly in the direction you want them to be bent by the solver, like in this tutorial.

    Best,
    Pärtel
     
  11. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    Hi
    all arrow are blue
    I recorded a video


    thanks
     
  12. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    1,035
    Thanks a lot, I'll experiment with both.

    EDIT
    I found how to fix the arm swaying with the head effector, had to use "maintain relative pos" in the hands effectors, didn't know this had effect even when their weight was zero.
    Without that even using shoulder effectors to duck the arms go everywhere.
     
    Last edited: Aug 18, 2018
  13. ebstack

    ebstack

    Joined:
    Sep 26, 2017
    Posts:
    1
    Hi. I have a couple questions.

    1) Is there a limit to the number of Vive trackers that you can use? (if so, what is the limit?)

    2)Will there ever be a an organized forum for FinalIK? You are great at answering questions but navigating this forum when looking for something can be a nightmare.

    Thanks.
     
  14. nova234

    nova234

    Joined:
    Feb 19, 2018
    Posts:
    17
    Hello Partel,

    I have two question befor we buy. Our Indi studio want to work with your VRIK but we dont know if you can lay down on the ground. We saw footage that you only can knee down and thats not what we look for, in our militär Sim. Best way, for us, is to push a button to go to the ground level with the cam and lay down with your real body. Is that possible with vrik at the moment and a solution, when its possible, would be really great?

    Next question the movment of the legs, we saw in VRIK, is not natural. I mean both foot walk parallel and not in front of each other?

    Mfg

    Nova
     
  15. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey, sorry for the delay..
    Is the picking up done with InteractionSystem? Could you please send me that character fbx and the animation that plays (looks like idle?) when you pick up that object, to support@root-motion.com, I'd like to take a closer look at that.

    Hey,
    1) With VRIK, you can add Vive trackers on the feet and body, so 3. You can also add trackers on the knees and elbows, they can be used as "Bend Goals", which means they don't move the knees/elbows there, but they can be used as hints for the arm/leg bending direction.

    2) Yes, as soon as I'm done publishing the next versions of FIK and PM, improving support channels, including forum and Q/A is next on my list.

    Hey,
    Yes, if you play a prone animation, and adjust a couple of parameters in VRIK ("Min Head Height" to 0 and "Maintain Pelvis Position" to 1 in the spine settings), you can make it work.

    About the movement of the legs, what you saw was probably the built in procedural locomotion of VRIK, that was designed for a bit of leg shuffling in a couple of square meters space, not good for room-scale or thumbstick locomotion. You can disable it though and use a standard strafing animation blend tree to make the character follow the horizontal direction towards the HMD with root motion and/or script while VRIK keeps the head and hands locked to their targets.

    Best,
    Pärtel
     
  16. mgwade528

    mgwade528

    Joined:
    Apr 24, 2017
    Posts:
    8
    Hi Partel,
    I have question for VRIK.I want to use VRIK feature to arms and head and mix animation for it.I set locomotion weight for zero and looks is fine.But i rotation "Head Target" Yaw, the feet also rotate. What should i do? I want arm and head following controller and leg following animations.Looks like upper body and lower body separation opertaion.
    Hope to get your reply.
    Thanks.
     
  17. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    Set "Max Root Angle" to 180 in the Spine settings so the root won't be turned towards camera forward.
     
  18. Alestemo_

    Alestemo_

    Joined:
    Jul 11, 2018
    Posts:
    5
    Partel-Lang, good day!

    First of all I want to say thanks for the excellent asset! Best tools i've ever had.

    Could you please help me with the addition of the 1st person view? I can't understand the code completely and that's why I can't improve movement for 1st person.

    What exactly isn't clear:
    1) How to improve that code for calculate 1st person camera?
    Code (CSharp):
    1. move = camera.rotation * new Vector3(h, 0f, v).normalized;
    **Camera (2nd cam for 1st person view) is always on the head
    2) How to improve that code:

    Code (CSharp):
    1. switch (moveMode)
    2.             {
    3.                 case MoveMode.ThirdPerson:
    4.                     if (isMoving) return movementController.state.move;
    5.                     return lookInCameraDirection ? movementController.state.lookPos - r.position : transform.forward;
    6.                 case MoveMode.Strafe:
    7.                     if (isMoving) return movementController.state.lookPos - r.position;
    8.                     return lookInCameraDirection ? movementController.state.lookPos - r.position : transform.forward;
    I hope you can help, since I already weakened from trying to do it myself!
     
  19. Alestemo_

    Alestemo_

    Joined:
    Jul 11, 2018
    Posts:
    5
    SOLVED, IF SOMEONE HELPS, I WILL GLAD:

    In the method Rotate():
    Code (CSharp):
    1.  
    2. r.MoveRotation(Quaternion.AngleAxis(angle * Time.deltaTime * turnSpeed, transform.up) * r.rotation);
    3.  
    Changed for:

    Code (CSharp):
    1.  
    2. if (moveMode == MoveMode.ThirdPerson)
    3.             {
    4.                 r.MoveRotation(Quaternion.AngleAxis(angle * Time.deltaTime * turnSpeed, transform.up) * r.rotation);
    5.             }
    6.             else if (moveMode == MoveMode.FirstPerson)
    7.             {
    8.                 r.MoveRotation(Quaternion.AngleAxis(movementController.inputHandler.MouseX * Time.deltaTime * turnSpeed, transform.up) * r.rotation);
    9.             }
    movementController.inputHandler.MouseX - float value of Mouse X Axis from Input Manager * Sensivity
     
    Partel-Lang likes this.
  20. etetboy

    etetboy

    Joined:
    Aug 30, 2014
    Posts:
    2
    Hi,

    We have a problem about VRIK to build as exe file,
    in Unity editor play mode the VRIK panda model just run good (shoulder and arm are not twisted or stretched),
    But when we build project to exe file, the panda model does not look normal,
    (shoulder and upper arm were twisted and stretched, and when my arm lift up, this situation is more obvious)
    Is there anyway to solve this problem?


    Best,

    Antoine Lee.
     
    Last edited: Aug 23, 2018
  21. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,

    Can't think of anything that would make it solve differently in the build, there are no "if UNITY_EDITOR" directives or anything like that so the math is the same.

    It might be a skinning thing instead, maybe the Quality Settings you build to have less bones in the "Blend Weights" than the default one you use in the editor?

    Best,

    Pärtel
     
  22. etetboy

    etetboy

    Joined:
    Aug 30, 2014
    Posts:
    2
    Thank you for replying!
    We solve this problem.
    Maybe is unity 2017 has some humaniod rig bug(abnormal polygon stretch),
    and we transfer the panda fbx to unity 5.6 or 2018,
    the exe file error was no longer exist

    Thank you again!
     
    Partel-Lang likes this.
  23. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    Hello
    Yesterday i sent you a mail
    I hope you received
    thanks
     
  24. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey, thanks, just answered..

    Best,
    Pärtel
     
  25. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    thank you very much :)
     
  26. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi @Partel-Lang Lang

    Could you tell me how I can do with the "LookAt IK", the change between objects that look at it smoothly at a certain speed, instead of doing it abruptly in a single frame ???

    It's that when I change the target to look at it very abruptly and as much as I've tried I can not solve it

    regards
     
  27. AntLewis

    AntLewis

    Joined:
    Feb 2, 2010
    Posts:
    254
    Hi @Partel-Lang Lang, if I'm using the interaction system (from first person perspective) and examining an object that I've picked up, the idle animation I'm playing is a little too extreme, causing the object I've collected to move more than I intend it to. What's the best way to counter this? Is there a way of reducing the 'amount' of animation that's played (i.e. by changing some weights)? Or should I just block out the animation of the limb in question using an avatar mask? Thanks again.
     
  28. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    I've recently added a feature called LookAtController. It will simplify and automate all that stuff you mentioned by a lot.

    Hey,

    You could just set ik.solver.leftHandEffector.position to some point where you need the hand to be, then set position weight for that effector to something greater than 0.

    Best,
    Pärtel
     
    ftejada likes this.
  29. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hi all!

    I've been working on a Q&A site that would make it easier for you guys to find answers about Final IK and PuppetMaster. It doesn't have many questions/answers yet, but I have started to fill it in with some FAQ stuff and hopefully you'll find it a better place than this forum to get your answers too.

    So here it is :)

    Cheers,
    Pärtel
     
    hopeful, ceebeee and AntLewis like this.
  30. Michael2790

    Michael2790

    Joined:
    Nov 27, 2017
    Posts:
    10
    Please what is the best way to get a component of the closestTriggerIndex in interactionTrigger. similarly like raycast hit where you use the hit object to get its component.
     
  31. chgeorgiadis

    chgeorgiadis

    Joined:
    Jan 30, 2018
    Posts:
    51
    "Reset hand pose". Hello! I am interacting with an object and i am picking it up, configuring fingers so as to hold it with right and realistic way. Then i drop it (as the video tutorial shows) But my fingers stays in a "grab position". How can i reset it so as to keep it "open", like when i start the scene. Thank you!
     
  32. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Code (CSharp):
    1. interactionSystem.triggersInRange[closestTriggerIndex].GetComponent...
    Hey,
    Just replied to you here.

    Best,
    Pärtel
     
  33. Michael2790

    Michael2790

    Joined:
    Nov 27, 2017
    Posts:
    10
    interactionSystem.triggersInRange[closestTriggerIndex].GetComponent<GrabbingFinaliK>();
    Hi Partel am getting an error when trying to access the closest trigger index component via player
    ArgumentOutOfRangeException: Argument is out of range.
    Parameter name: index
     
  34. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    Are you checking for
    Code (CSharp):
    1. if (closestTriggerIndex == -1)
    ?
    If there are no triggers in range, GetClosestTriggerIndex() will return -1, in which case it should not be used.
     
  35. cspid

    cspid

    Joined:
    Apr 25, 2014
    Posts:
    32
    Hey Partel, I'm wondering if you have some tips for setting up a scene with multiple FBBIK characters - I'm looking for ways do improve performance. Thanks!
     
  36. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    Where do i get the EditorIK script for Slate?
     
  37. Michael2790

    Michael2790

    Joined:
    Nov 27, 2017
    Posts:
    10
    if (closestTriggerIndex == -1) return;

    enemydropped = interactionSystem.triggersInRange[closestTriggerIndex].GetComponent<GrabbingFinaliK>();
    Hi partel i tried using this to get the component of object i interacted with but unity is given me a null refrence
     
  38. giraffe1

    giraffe1

    Joined:
    Nov 1, 2014
    Posts:
    302
    I am following the 'Hit Reaction' demo scene. It works awesome with my character. But as soon as I add the FBIKHandsOnProp.cs script the left arm twists strangely. Any idea what might be causing that?

    I made a video where I change the FBBIK weight between 1 and 0 to show the left arm.

    Any help appreciated, thanks.

     
  39. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,

    Optimizing FullBodyBipedIK:

    • You can use renderer.isVisible to weigh out the solver when the character is not visible.
    • Most of the time you don't need so many solver iterations and spine mapping iterations. Sine FinalIK 0.4, we are able to set solver iteration count to 0, in which case the full body effect will not be solved. This allows for easy optimization of IK on characters in the distance.
    • Keep the "Reach" values at 0 if you don't need them. By default they are 0.05f to improve accuracy.
    • Keep the Spine Twist Weight at 0 if you don't see the need for it.
    • Also setting the "Spine Stiffness", "Pull Body Vertical" and/or "Pull Body Horizontal" to 0 will slightly help the performance.
    • You don't need all the spine bones in the spine array. FBBIK works the fastest if there are 2 bones in the spine, the first one listed as the Root Node, and the other one the last bone in the spine (the last common ancestor of both arms). Having less bones in the Spine makes it more rigid, which in some cases might be even a better, more natural looking solution.
    Hey,
    It's here. I'll also add it to the next version of FIK.

    Hey,
    Are you sure the GrabbingFinalIK component is on the exact same gameobject as the InteractionTrigger?

    Hey,
    Ah, that is just the FBBIK failing to get a good bend direction for the elbow under this hand target rotation that is close to the singularity point. You should keep rotation weight at 0 and just rotate the hand bone instead. To do that, go to the FBIKHandsOnProp script and comment out
    Code (CSharp):
    1. otherHand.rotationWeight = 1f;
    in line 59. Also change
    Code (CSharp):
    1. otherHand.rotation = mainHand.rotation * otherHandRelativeRotation;
    to
    Code (CSharp):
    1. otherHand.bone.rotation = mainHand.rotation * otherHandRelativeRotation;
    Then set "Maintain Hand Rot" to 1 in the FBBIK left arm settings.

    Other option would be to just add a bend goal to the left arm so you could tweak the elbow angle as you please.

    Best,
    Pärtel
     
  40. Michael2790

    Michael2790

    Joined:
    Nov 27, 2017
    Posts:
    10
    Hey,
    Are you sure the GrabbingFinalIK component is on the exact same gameobject as the InteractionTrigger?
    Thanks Partel you are a genius.The GrabbingFinalIk was a parent of the interaction triggger.So I usedGetComponentInParent.It is actually working now
     
  41. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    Hello again :)

    i have a new problem
    why happen this.
     

    Attached Files:

    Last edited: Aug 31, 2018
  42. giraffe1

    giraffe1

    Joined:
    Nov 1, 2014
    Posts:
    302
    Thanks a lot. That fixed my problem. Can you help with the right arm? I didn't notice it before but the right arm has a similar problem. If I change to the right arm->chain->bend goal weight to 1. It fixes my issue but I am not sure if this is okay and what the implications might be. Note I didn't add any bend goal transform, so I am not exactly sure how it is even working.



    Thanks a lot.
     
  43. jcbhmmn

    jcbhmmn

    Joined:
    Oct 4, 2014
    Posts:
    21
    Hi Partel,

    I am trying to create a VRIK setup where I will have two avatars in the scene but one will mirror the movements of the other (just like you are looking in a mirror). I have tried duplicating my IK avatar and OVR Camera Rig and then rotating and reflecting the target tranforms, but it does not appear correct. Do you have any ideas about how to do this properly?

    Thanks!
     
  44. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey, could you explain a bit what is going on? Is the hand just unable to reach the target 100%?

    Hey,
    If you do not add any bend goal transform, it will bend the arm towards whatever the default direction is. So if you turn your character around, it might be bent all wrong. You could use the same solution for the right arm as I gave you with the left arm. This would be the last part of that HandsOnProp function:
    Code (CSharp):
    1.  // Main hand rotation
    2.             Quaternion rotationOffset = Quaternion.FromToRotation(toOtherHand, toOtherHandWithOffset);
    3.             mainHand.bone.rotation = rotationOffset * mainHand.bone.rotation;
    4.          
    5.             // Other hand position
    6.             otherHand.position = mainHand.position + mainHand.bone.rotation * otherHandRelativeDirection;
    7.             otherHand.positionWeight = 1f;
    8.  
    9.             // Other hand rotation
    10.             otherHand.bone.rotation = mainHand.bone.rotation * otherHandRelativeRotation;
    11.            
    12.             ik.solver.leftArmMapping.maintainRotationWeight = 1f;
    13.             ik.solver.rightArmMapping.maintainRotationWeight = 1f;
    Hey,
    Make a script that gets all child transforms of both avatars
    Code (CSharp):
    1. GetComponentsInChildren<Transform>();
    and just matches their localPositions/Rotations (except for the first, which is the avatar root transform). Then you can just remove the IK from the other.

    Best,
    Pärtel
     
    jcbhmmn and giraffe1 like this.
  45. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    116
    Bit of a late one as I've been busy with other parts of the project in the meantime. I've tried Twist Relaxer but it doesn't seem to help - the main issue is that the forearm is going in the wrong direction for the twist. When I rotate my left hand anti-clockwise the elbow pings outwards when you'd expect it to come inwards.

    I'm also having wrist pinching issues. Not having much luck with twist relaxer there either. As far as I know the wrist/palm/thumb axis is setup correctly too.

    And just to top off things, I'm also having problems with the arm flattening to almost 2D when I move the arm into various positions. Is this a model issue or something FinalIK is doing? Just to clarify I used automatic reference detection and the automatic guess of the wrist axis.
     
  46. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    I have a question. I'm using final IK with slate to control the hand positions. Is there anything in Final IK that I can use to control the fingers position. I want to properly grip an item when using slate.
     
  47. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    The TwistRelaxer does not do anything for the forearm direction, it just rotates the forearm around it's main axis.
    That arm flattening to 2D sounds very strange, can't think of how VRIK could do anything like that. If you could send me your model fx, I'd be happy to check it out though.

    Hey,
    There is a component called FingerRig, please check out the "Finger Rig" demo.

    Best,
    Pärtel
     
  48. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    I don't think EditorIK script is working on the latest version of Unity with the latest version of slate.
     
  49. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,554
    Hey,
    Did you mean it's not working at all or is it just not working with Slate? Or what exactly is not working?

    Best,
    Pärtel
     
  50. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    It's not working with slate in the latest version of unity with latest version of slate. I dont see the IK work except in editor mode.