Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

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. wirelessdreamer

    wirelessdreamer

    Joined:
    Apr 13, 2016
    Posts:
    65
    @Partel-Lang I've been working on getting a morph3d character rigged up with final ik. I'm having trouble with the leg bending when crouched

    with no bend goal set:
    upload_2018-10-10_16-25-13.png

    With bend goals I can get them bending in the correct directions, but it messes up the mid sections
    upload_2018-10-10_16-22-57.png

    The avatar definition in unity looks fine
    upload_2018-10-10_16-27-15.png
     
  2. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    480
    Hi @Partel-Lang I hope that solution in your next update ... For when can it be approximately? Is that the Game in which it is implemented, we send it to "Qua" shortly and I would like to leave it solved before ...

    a greeting
     
  3. mrstruijk

    mrstruijk

    Joined:
    Jan 24, 2018
    Posts:
    4
    Hi Pärtel!
    I'm using VRIK with Vive trackers and ManusVR gloves, and I'm trying to figure out how to make sure bodyparts do not overlap other bodyparts. When for instance the player is putting their hand on their knee, or scratching their torso, the hand and fingers shouldn't be inside the mesh of the knee or torso. This is only partly fixed by manually moving the targets / bend goals parented to the trackers.

    I'd like to do this using colliders, but I'm not quite sure where to start. I was thinking about switching the target of the limb to the touched point ont he collider with OnCollisionEnter, but this may be wrong. I then also don't know how to reliably switch back to the tracker-target once the hand is no longer touching the knee for instance.

    Is there an easier way using FinalIK? Should I be using it combined with PuppetMaster instead?

    Thanks for your product and the good support here!
     
  4. PicturesInDark

    PicturesInDark

    Joined:
    Jun 13, 2013
    Posts:
    71
  5. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    418
    Hello,

    Im using VR-IK with VRTK, does anybody know how to use a full body avatar with VRTK?

    Thanks
     
  6. RuslanM

    RuslanM

    Joined:
    Dec 2, 2016
    Posts:
    3
    HI Partel, I'm using VRIK and vive trackers: 1 tracker - body, 2 - legs, 1 - gun. For now avatar's body turns with the turn of the head(helmet), in other words body follows the head. Is it possible so the avatar's body turns not behind the helmet, but behind the tracker attached to the player's body? Thanks in advance.
     
  7. marcin-majkowski

    marcin-majkowski

    Joined:
    Nov 22, 2014
    Posts:
    4
    Hi! i just bought Final IK and it is JUST AWESOME!! Do You have any build in functions to change avatar model at runtime??
     
  8. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    1,714
    Hey,
    Actually, if you are using no animation, you could just disable the VRIK component and call:
    Code (CSharp):
    1. ik.solver.FixTransforms();
    2. ik.solver.Update();
    from Update. Then your particles will be fine as they'll be updated after that.

    Hey,
    That solution was in the link. Anyway, about the next version, planning to publish later this month, but if you are in a hurry, please PM with your invoice number and I'll give you a direct download link.

    Hey,
    PuppetMaster could help with that perhaps, please see this video. But it's all very experimental stuff I should add.
    The video was made with this demo scene.

    Hey, congrats on finishing the game! Great work, I mean 90% of devs never reach that goal.
    And thanks for sharing!
    (your website seems to be down though)

    Hey,
    I have actually just started with a VRIK Interaction System that can be plugged in to VRTK, but it's too early in development to put it out there. You can try this demo though (requires FIK, VRTK and Oculus assets in the project), just to get an idea of how things can be set up.

    Hey,
    Funny you should ask, another user just had the same issue and shared his fix. I'll PM you...

    Hey, thanks for the purchase!

    Which IK component were you talking about? CCDIK, FABRIK, AimIK, LimbIK have a ik.solver.SetChain() function that you can use, others are more complex.
    An easier solution could be adding the IK to all models via scripts. Won't be a performance issue as the currently deactivated models will not run the IK.

    Cheers,
    Pärtel
     
  9. marcin-majkowski

    marcin-majkowski

    Joined:
    Nov 22, 2014
    Posts:
    4
    Hi! i'm using VRIK. Also what about teleportation?? Do You have anything ready for that or i need to script something?
    And one another q: how to make knees of the humanoid to be more closer to each other?? if i'm sitting with vive, legs of my avatar are very far away so legs are much parted... how to make the knees to not be that much spread from each other?? sorry about my poor english:)
    chears! :)
     
    Last edited: Oct 13, 2018 at 1:00 PM
  10. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    480
    Hi @Partel-Lang !!! I've tried it But it does not solve the problem when it has the Grounder FFBIK. Apart in the turns when you're stuck to a wall, strange positions in arms for example ...

    Maybe I did not configure it well, but I copied the same datas from the example scene that you included.



    regards
     
  11. webgrapx

    webgrapx

    Joined:
    Jul 21, 2015
    Posts:
    19
    Greetings, I am presenting the problem when using its complement movement, animset pro, since the palayer is placed well above the ground and I can not solve this. Could you help me?

    Thank you,

    Jorge Zamora
    webgrapx@gmail.com Rot Motion 1.gif
     

    Attached Files:

  12. mrstruijk

    mrstruijk

    Joined:
    Jan 24, 2018
    Posts:
    4
    Hi! Thanks for the reply about the PuppetMaster, will try that today.
    I have another problem at the moment, where VRIK prevents the rotation of the wrists when turned on.

    I'd like to have the wrists rotate when I rotate the Manus gloves, and I'm pretty sure this worked previously, but somehow not anymore. Can you help out?
    ezgif.com-video-to-gif.gif
    You can see the hands do not rotate when I rotate the gloves when VRIK is turned on, but they rotate when VRIK is off.
     
  13. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    1,714
    Hey,
    To teleport, move the character root to the new position, also the IK targets. Then call ik.solver.Reset();
    Alternately you can use AddPlatformMotion, see the "VRIK (Moving Platforms)" demo about that.

    If the feet are too far parted, you can reduce "Foot Distance" in VRIK locomotion settings. If it's the knees, you can adjust "Swivel Offset" in the leg settings.

    Hey,
    In that case, extending the ground colliders past the walls a bit is the best solution I can think of.

    Hey,
    Not sure why the player is too high, it could be the capsule collider of the character controller being out of center. Reduce the height value of the capsule or increase it's center.y.

    Hey,
    If it worked before, maybe you set arm rotation weight to 1 by accident? Does it work with 0?

    Cheers,
    Pärtel
     
  14. VicFriend

    VicFriend

    Joined:
    Wednesday
    Posts:
    1
    Hey! thanks for making such a great plugin

    I have a pretty simple use case but I haven't managed to figure out a solution:

    I have an "InteractionTrigger" that triggers a character grabbing a door handle, which works great. but we want the character to have free movement, and so if he turns away or exits the interaction trigger, we want the IK event to be stopped and interrupted.

    what happens now is that he reaches for the door handle, and as I exit the trigger, he will complete the whole event. making it look pretty weird

    is there a way to force an interrupt, or to get a callback from exiting the InteractionTrigger?

    thanks!
     
  15. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    480
    Hi @Partel-Lang , Well that is not possible at this time of development as it would require a large amount of time to adjust all the game scenarios, which is finished ...

    regards
     
  16. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    418
    Hello,

    I tried your VR-IK demo with VRTK thanks.

    https://www.dropbox.com/s/q06kx2nxfp96sue/VRIKInteractionSystem.unitypackage?dl=0

    Seems to work ok, except when i replaced the floor with an uneven terrain. What if the avatar walks off a cliff, it doesnt fall, it stays hanging on to the controllers position.

    How do i get it fall off a terrain and then land on the ground like normal, then resume the IK stuff? Can you show how to do that?

    Also what if i put the avatar inside a car (parent it to the car seat) with the car moving for example.

    How can i drive the car with the IK in place, and still use the IK for tracking the hands for driving or operating the car instruments for example while its moving?

    Thanks!
     
    Last edited: Oct 18, 2018 at 12:43 AM
  17. Volkerku

    Volkerku

    Joined:
    Nov 23, 2016
    Posts:
    29
    VRIK Steam VR example scene
    When I run the example, with Steam VR in my project, the hands if the pilot character are tracked with the controllers, however, the head is not following the VR headset transform.
    By default, I'm standing outside the pilot skin. Ca anyone pls tell me how to enable the head (and attached pilot body) to be controlled by the VR headset.
     
  18. mrstruijk

    mrstruijk

    Joined:
    Jan 24, 2018
    Posts:
    4
    Hi Pärtel,

    Very good point, would've been likely, but no! It does not matter at all. Changing rotation weight, position weight, nor any of the other settings under the arm section of VRIK have any influence on the rotation of the wrist. I need to turn off VRIK to have that happen again.

    When I have PM on the model as well I need to set the Master Mapping Weight to 0 and turn VRIK off entirely to allow the rotation again.

    Do you have any other ideas how I can fix this?
     
  19. naelstrof

    naelstrof

    Joined:
    Sep 12, 2017
    Posts:
    1
    The VRIK component causes legs to spin when fully extended when bend targets are supplied. Without bend targets the legs simply bend the wrong way. Is there a way to solve either problem?

    Here's a video demonstrating the legs spinning with bend targets: https://my.mixtape.moe/bthbaa.mp4
    Here's a video demonstrating the legs bending the wrong way (without bend targets): https://my.mixtape.moe/bisjim.mp4

    Finally here's a screenshot showing that the biped IK correctly determines bend directions: upload_2018-10-18_11-1-34.png
    What can I do to keep my legs from breaking with the VRIK component?