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

    PatrickKa

    Joined:
    Apr 30, 2014
    Posts:
    245
    Thank you very much for finally implementing VR! Works very well and I'm loving it. Great job!

    I still got a question: What is the recommended way to have the player walking/running? Should I blend an animation for it or what would work best? Because if I just move it around without it looks like the player is dragged away. :)
     
    Last edited: Oct 15, 2016
    Malvinhk likes this.
  2. bradsears

    bradsears

    Joined:
    Jun 30, 2015
    Posts:
    12
    I'm afraid I need some very basic help. I'm trying to get VRIK set up in a SteamVR project while also being a novice Unity dev.

    I'm having trouble getting the standing dummy in the demo scene responding correctly to my Vive.
    • I have started a new project and imported SteamVR and Final IK.
    • I am editing the VRIK scene and I removed your existing camera.
    • I added the SteamVR camera prefab.
    Now on to following the instructions:

    To get started with your own character, follow these steps:

    1. Add VRIK to your character.

    I think this has already been done in the demo scene to all 3 characters.

    2. Duplicate the head and hand bones of your character, assign them as Targets in VRIK.
    I think this has already been done in the demo scene to all 3 characters.

    3. Place your HMD anchor to the eyes of the character.
    4. Place your hand device anchors to the hands of the character.

    This part I think I am getting wrong. Am I supposed to move the physical location of the SteamVR CameraRig head / right / left controller game objects to the head and hand locations of the model?

    5. Parent the head target to the HMD anchor, hand targets to the hand device anchors.
    This is the magic part and is working but I get distorted results I think because of the above. I see my controller models a long way away from my hand position and all motions produce a reduced motion in the dummy. Sometimes my camera position is very high.

    Thanks
    Brad
     
  3. Drumsmasher17

    Drumsmasher17

    Joined:
    Jun 3, 2015
    Posts:
    7
    @bradsears
    I'm very new to animation and I've never used IK before yesterday, but with some tweaks I managed to get the dummy prefab to link up nicely with the SteamVR Camera Rig, as by standard, VRIK doesn't quite work "out the box" with SteamVR's camera rig, and just following the exact positions and rotations of the vive controllers and the head has issues like backwards hands and right angle head etc).

    Hopefully this imgur post of mine will help newcomers like me when setting up the SteamVR camera rig to the VRIK solver!

    Here's a video of what it looks like if I only translate/rotate the hands+head together - Pretty convincing and awesome!

    @Partel-Lang Will there be a VRIK specific youtube tutorial video sometime in the future?

    Also, does anyone know any good resources (for me, a noob) on how I can incorporate walk cycles to just the lower part of a rig, thanks! (lower, meaning hips and down)
    ---------------------------------------------------------------------------------------------------

    EDIT: Also, upon reading @bradsears post again, I get the feeling I may have set it up incorrectly - I couldn't make sense of the instruction provided in the demo scene (hence why a youtube tutorial of the basic setup would be awesome!) and instead (if the "parent the steam controllers to the actual bones" method is actually correct) what difference is there to that and making the solvers targets based on the positions of the controller's transforms?

    ---------------------------
    EDIT2: After going back into the VRIK (Beta) scene, and trying my best to follow the instructions, I still get this issue where the dummy seems a bit short of the controller held at arms length
    As seen here: http://imgur.com/a/g2zil I've checked and the dummy is the same height as me IRL, about 1.8 units

    ---------------------------
    EDIT3:
    Thanks to @jimthegrim 's video, I can now make sense of the instructions and can rest assured that my original method is in essence the same as the intended use, just without any parenting and my own fiddling around with offsets rather than just grabbing the info from the hand bones themselves (that makes sense now! cheers)
     
    Last edited: Oct 16, 2016
    bradsears likes this.
  4. ProtoPottyGames

    ProtoPottyGames

    Joined:
    Dec 18, 2015
    Posts:
    77
    Janked together a quick vid this morning on setting up VRIK with a SteamVR camerarig. Maybe it will be helpful to somebody. :)

     
    Partel-Lang, bradsears and Fairennuff like this.
  5. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Hi Partel,

    I am using your final Ik for my bike game for some time, I like it very much so far, a question I have is, sometimes my rider is looks like he is "nervous", with wobbly legs or limbs, like a twitching, if you look at this video (maybe 30-60seconds, or 1:26 into video) it might help me to explain this more:

    Any advise on howto make my IK rig more stable, les twichtyness would be most appreciated, eg which sliders could I try?
     
    Last edited: Oct 16, 2016
  6. bradsears

    bradsears

    Joined:
    Jun 30, 2015
    Posts:
    12
    Thanks very much for the VRIK answers guys. I was able to get it set up with the help of both of you.
     
  7. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    Hi,

    I'm having some issues once again, this just started recently. I'm using Opsive's third person controller.

    When I pick up an item, the character starts moving back like something is pulling him back.
     
  8. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hi,
    There is a tool included in the package that can probably help with this, its called TwistRelaxer.
    Please download this package, it contains a demo scene with TwistRelaxers applied on the forearm bones of the character.

    Hi!
    Please import this patch, it will add a "AimIK Solved Last" toggle to Recoil.cs, which you should enable.

    Cheers,
    Pärtel
     
  9. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hi,
    Area you using the Interaction System or something else? Check in the editor and let me know what the root of the character is doing, if it is moving or not.
     
  10. bulisor

    bulisor

    Joined:
    Feb 12, 2016
    Posts:
    7
    Please help with an advice.
     
  11. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Oh, sorry...
    Actually FBBIK has no clue about any hand posers, they work on the finger level, which is of no interest to the FBBIK.
    So you could do GetComponentsInChildren<HandPoser>() in Start and then you can access poser.localPositionWeight/localRotationWeight.
    If you need to reset, just enable "Fix Transforms" in the posers.

    Best,
    Pärtel
     
  12. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    For now, blend locomotion.weight to 0 when you are doing movement based on some input, not actual roomscale movement. Then just use an animator controller that can do 8-directional strafing.

    Hi guys,
    Sorry for the lacking documentations on VRIK. I'm still working on that, but I'm glad you got it working.
    I'll make a tutorial video ASAP, but now I'm a bit under the weather and lost my voice.

    You can do walk cycles for just the lower part if you add another layer to Mecanim and give it an upper-body only mask. That will enable you to have independent animations for the upper-body.
     
    Drumsmasher17 likes this.
  13. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hey,
    Thank you so much for the effort of making that video! I'll make an official one too as soon as possible. :)

    Hi!
    That twitch is definitely not normal, looks like animation-IK sync issue. What is the update mode in your Animator?

    Best,
    Pärtel
     
  14. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    I seem to have fixed my problem so far.
     
    Last edited: Oct 17, 2016
  15. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Hi, so I had Animate Physics disabled.. if I enable this then the my rider seems less twitchy...but then the rider sinks down, it's weird the effectors are working but the rest of the body seems to be affected by physics somehow.

    screenshot with animate physics:
    1.png

    Without animate physics:
    2.png

    Any advice would be appreciated.
     
  16. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Wow, that is strange, if I uncheck the animation component, the animate physics checkbox still seems to have an effect at runtime. If leave the animation component, unchecked, run the game via editor, and toggle the animate physics, then rider sinks as before.. it How can a disabled component affect the full body biped Ik? I'm curious! :)
     
  17. bulisor

    bulisor

    Joined:
    Feb 12, 2016
    Posts:
    7
    It works, thank you. wonderfull package.
     
  18. s_guy

    s_guy

    Joined:
    Feb 27, 2013
    Posts:
    102
    I had experimented with that based on your comments earlier in the thread. However, with "AimIK Solved Last" enabled, the recoil offset still does not occur. If I play with the SecondHandOnGun behavior disabled, the recoil does occur.

    I see that SecondHandOnGun disables the IK components and manually handles their Updates from within LateUpdate. Maybe that is the source of the conflict? (Its LateUpdate sets the rightHand.position too, which seemed suspect. I removed that as a test, but it didn't address the problem.)
     
  19. Lacvapps13

    Lacvapps13

    Joined:
    Oct 18, 2016
    Posts:
    6
    First off, Absolutely amazing plugin. Thank you so much for all of your hard work.

    Now for my issue which I have seen serveral people ask but I don;t see any direct answers regarding VRIK with roomscale. If we use and upper body mecanim layer and locomotion blend = 0 the character doesn't move around the room. How could this be set up for the character to use walk animations + maybe a little locomotion blending for staggering using the htc vive and roomscale locomotion eg me walking around the room. Thank you in advance!
     
  20. jimmay

    jimmay

    Joined:
    Sep 23, 2010
    Posts:
    28
    You wouldn't want the upper body to use mechanim, right? You want walk animations so you need to setup a mecanim mask for the avatar so that only the lower body is affected by your animations. I'm using something like this now and I turn them on and off depending on if the character is moving or not. When the character isn't supposed to be moving, I turn locomotion weight to 1 in the solver because it keeps the feet planted nicely. When the character starts to move, I turn the locomotion weight to 0 and activate the leg animator. You could also just adjust the layer weight in mechanim from 0 to 1 depending on if you want the animation driving the lower body or the locomotion system.

    I don't think you want to try to use both at the same time because the locomotion system will always win since it applies in late update.

    Edit:
    Ah, one more thing to note is that you will want to call reset on the solver after setting the locomotion weight to 1. If you don't, it will warp the character back to the last place it remembered and walk you to the new location.
     
    Partel-Lang likes this.
  21. jimmay

    jimmay

    Joined:
    Sep 23, 2010
    Posts:
    28
    Hi Pärtel,

    I sent you an email, but others may want to see answers to these questions as well.

    We recently switched from using FBBIK and the HeadEffector to your new VRIK system. Almost everything is improved with the exception of the range of motion for the head. Is there a way to reduce the stiffness on the pitch of the head? Or maybe it's related to the range of motion before the spine is taken into account? When we were using the previous system, we had more range of motion in the pitch of the head and it seems slightly more natural. Obviously there were other issues with it that you've solved, so we want to see if there is a way to adjust the range in VRIK.

    One other issue I'm going to try to work around is the code that decides when to use the locomotion system. Right now, it seems that anytime the head moves, the locomotion system kicks in and tries to catch the feet up. However, in the case of the entire rig being parented to a moving object, the locomotion system still moves the feet. In my previous setup (using animations for feet), I would only move the feet if the hmd was moving relative to the root transform. This would allow me to move the root transform via teleportation or attach it to a moving platform and not have the feet move.

    I also wanted to ask if you have thought about added some type of event notification for a footstep. Basically once the step progress hits 1.0f for the first time, generate some type of event that could be used by the rest of the game. The obvious reason is to trigger a footstep sound. I'm looking at adding that in now, but I really dislike making too many mods to a plugin because it makes future integrations more difficult.

    Thanks,
    Mike
     
  22. ProtoPottyGames

    ProtoPottyGames

    Joined:
    Dec 18, 2015
    Posts:
    77
    Hey, no worries. Thank YOU for putting in the effort to make Final IK so VR friendly! ;)
     
    Partel-Lang likes this.
  23. RakNet

    RakNet

    Joined:
    Oct 9, 2013
    Posts:
    315
    Sorry if this has been asked, but the Unity forum search is not good
    What does this mean? "All IK must be weighed out when PuppetMaster.state is switched to Dead or Frozen."
     
  24. Griffo

    Griffo

    Joined:
    Jul 5, 2011
    Posts:
    700
    Hi, if you want to use IK with PM you must be using PuppetMaster.OnRead(), and tell it in Start() you want a call .. puppetMaster.OnRead = OnRead;
     
  25. Lacvapps13

    Lacvapps13

    Joined:
    Oct 18, 2016
    Posts:
    6
    Thank you! What are you listening to to figure out when to set the locomotion to and from 0? CanStep()?
     
  26. jimmay

    jimmay

    Joined:
    Sep 23, 2010
    Posts:
    28
    Actually, nothing in VRIK. I'm using information in our movement system to determine when to make the switch. I'm currently looking at using that plus the head velocity to work around the case when your avatar is reparented to a moving object.

    I really hope there is something he can do inside of VRIK to handle the moving platform case because it looks super janky in multiplayer. I didn't have that issue with our animated legs, so I'm just going to use them in the meantime.
     
  27. Lacvapps13

    Lacvapps13

    Joined:
    Oct 18, 2016
    Posts:
    6
    Okay, thanks again. You have been a huge help!
     
  28. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Hi Partel,
    I saw that the leap motion integration is a bit outdated and don't work anymore (in its current state)... i hope that you could continue to support this integration .
    Would be fantastic also have VIRK + leap motion(orion) integration
    Thanks

    Max
     
    scottlaforge likes this.
  29. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Small update, seems I have improved the jitter behaviour by setting all my rigibodies for my ragdoll script to isKnematic and use the animate physics, now is much smoother. Will need to check this more.
     
    scottlaforge likes this.
  30. scottlaforge

    scottlaforge

    Joined:
    Mar 12, 2013
    Posts:
    42
    I'm hoping for the same thing regarding the Leap Motion and VRIK demo and sent an email today as well asking for help with it.
     
  31. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hi guys, sorry for the delay, caught a nasty puke virus :p
    Anyway, trying to answer all those questions at once now...

    Hey, could you PM your IK code please, might be something in your own code that is out of sync instead.

    Hey,
    Tried it myself, looks like its quite impossible to merge SecondHandOnGun with Recoil as they both try to use FBBIK for different purposes. It would require an additional LimbIK pass, please import this demo scene and script to see how it could be solved.

    Hi!
    The intended way is to use procedural locomotion with roomscale movement. Blend locomotion weight to 0 if you are doing some movement that is not the real movement of the player, but based on some button input or whatever. Then if the player stops, call vrik.solver.Reset(), blend back in. I'm planning to improve procedural roomscale locomotion in the future..

    Hey, It means blend the weights of all IK solvers to 0 before you kill or freeze a puppet. Just because when the puppets die, IK will not be applied anymore and it might twitch your character from one pose to another in a single frame.

    Hey, I have not considered moving platforms yet, sorry, I'll add it to my VRIK todo list...

    Hey, did you mean the package in Plugins/RootMotion/FinalIK/_Integration? I might have an outdated link to another package, but the one in _Integration was built for Orion. Did they make changes to Orion already?

    Working on Leap for VRIK...
     
  32. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Yes, they Did!

    I fixed the code to make it work:
    - replace Rotation() with CalculateRotation() .
    - set finger/handRotationOffset1 X=-90 and finger/handRotationOffset2 y=-90 (others zero).

    Also with fix there is something that don't feels like the old one ... from Leap team side there must be something else changed.

    I can't wait to see your Leap/VRIK work!

    Another thing that would be amazing is to add an easy way to use FBBIKLeap/VRIKLeap together with Interaction System.
    For example disabling fingers tracking during interacion/grab.
    Thanks.
    Max
     
    Last edited: Oct 21, 2016
  33. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hey,
    I'm done with the moving platform patch, please import from here.

    You can use it if you add this script to your platform:
    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using RootMotion.FinalIK;
    4.  
    5. public class VRIKPlatform : MonoBehaviour {
    6.  
    7.     public VRIK ik;
    8.  
    9.     Vector3 lastPosition;
    10.     Quaternion lastRotation = Quaternion.identity;
    11.  
    12.     void Start() {
    13.         lastPosition = transform.position;
    14.         lastRotation = transform.rotation;
    15.     }
    16.    
    17.     void Update () {
    18.         ik.solver.AddPlatformMotion (transform.position - lastPosition, transform.rotation * Quaternion.Inverse(lastRotation), transform.position);
    19.  
    20.         lastRotation = transform.rotation;
    21.         lastPosition = transform.position;
    22.     }
    23. }
    Note that it currently only works if your platform rotates only around the world Y axis.
    Best,
    Pärtel
     
  34. s_guy

    s_guy

    Joined:
    Feb 27, 2013
    Posts:
    102
    Nice! Thanks so much for the explanation and the LimbIK version of the SecondHandOnGun behavior. I just got caught up in trying to make the older version of SecondHandOnGun compatible with Recoil without full understanding of things.
     
  35. Hellhound_01

    Hellhound_01

    Joined:
    Mar 5, 2016
    Posts:
    102
    I've just started to use Final IK. First I must say: Awesome work! It looks fantastic. I started to learn the basics by following the interaction tutorials.

    Sorry if this has been asked, but I found noting by search. How could I ensure that the position of the hand is not broken after pick up the sphere object? If I saw it correctly the finger positions in the tutorial are also broken after pick up (the hand thumb sticks in the sphere).
     
  36. LacunaCorp

    LacunaCorp

    Joined:
    Feb 15, 2015
    Posts:
    147
    Hey guys,

    EDIT: During testing something was being assigned when I checked in the editor so I missed that it wasing being set at start. This has since fixed the component issue, but I'm still having trouble with the grounder, outlined below.

    The grounder doesn't work as expected, unless I'm misunderstanding something fundamental about it. The feet are affected, and the legs move up on slopes, but there is no side rotation at all, making the feet bones look broken, almost. The screenshot below highlights what I mean.



    The legs should rotate outwards to avoid this, correct? If so, how can I set it up to remove this issue?
     
    Last edited: Oct 21, 2016
  37. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hi,
    What exactly do you mean by hand position being broken, could you point me to the right spot on the tutorial you mentioned?

    Hi!
    Grounder will only rotate the feet to match the normal of the surface, rotation around the Y axis in this case would be interfering with the animation, that is against the "principles" of the solver.

    Are you sure the feet are aligned to a flat surface in the animation and there is no weird twist or anything?

    Best,
    Pärtel
     
  38. LacunaCorp

    LacunaCorp

    Joined:
    Feb 15, 2015
    Posts:
    147
    Hi Pärtel,

    I checked our anims and everything is aligned properly. We are using UMA but I set the limb orientation set of the FBBIK to BipedLimbOrientations.UMA so as far I can see everything is good. Are you saying that with the default, the legs should be bending outwards to get around the foot orientation issue? You say Y axis but just to clarify, I'm talking about local z rotation to make it look "relaxed", something like below for example.





    Thanks,
    -Josh
     
  39. Hellhound_01

    Hellhound_01

    Joined:
    Mar 5, 2016
    Posts:
    102
    Hi Pärtel,

    meanwhile I figured out that the hand position is not broken, the IK position weight curves have reached the end and now the hand pose positions take no longer effect. By this reason the hand has the "regular" animation positions and sticks in the sphere.

    Actually I try to pick up a two handed rifle. I use a Mixiamo base character and a rifle idle animation:


    In Pause Pose anything looks like expected:


    After Pick-Up the hand positions are back to regular animation:


    How I could archive that the hands are in "correct" IK hand positions after pick up? And how I have this to handle if i want to use different set ups like crouching and phrone? Or should I generally use only a simple idle animation and control the weapon position by script?

    Another question: How could I blend between different IK settings? I.e. from idle to aim, if both are based on IK setup?

    Thanks,
    Christian
     
  40. Fairennuff

    Fairennuff

    Joined:
    Aug 19, 2016
    Posts:
    88
    Hi Partel,
    Twist relaxer works great on the forearm so long as the wrist doesn't bend over a certain amount. I think once it hits the full 360 the forearm then twists in the opposite direction because unity sees it as a closer angle... not sure if I'm describing that well.

    As for the quote above, any ETA on this? Is that a long term project or a patch we should see soonish? I would love to have my character actually walk when I move around room scale. Current I'm attempting to do it with an avatar mask and it's not quite working out. I'm sure it's my lack of experience with avatar masks though.

    Thanks!
     
  41. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Any idea why the Inspector is not rendering properly in our build?


    Works fine in an empty project, with the same version of Unity, but when we bring the demo scenes into our main project the dropdown's don't reveal anything.

    If I switch to debug view on the inspector, it appears to be setup properly.
     
    Last edited: Oct 24, 2016
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I came across an asset called Bone Controller by Ootii the other day and I see that it's an IK solution that does some similar things to Final IK. I also see that they have a way of implementing moving hair like pony tails. So I was wondering if the same thing is possible with Final IK? I already own Final IK so I wouldn't want to invest in something else if this is already covered by Final IK.
     
  43. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Preview of the new VRIK at work in HoloBall, coming soon to PSVR!
     
    Malbers likes this.
  44. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hey,
    The Y axis thing was about the rotation of the feet, not the legs. The grounder normally just lowers the pelvis enough to make the lowest foot reach the ground. Try setting "Lower Pelvis Weight" to something slightly greater than 1, that will bend the lower leg.

    Hi!
    Picking up 2-handed objects is not as easy as that. That is because the target for the left hand is set before IK solves, and since the position/rotation of the holding hand changes in the solving process, it will miss the target.
    You might want to try not parenting the gun to the right hand, but to the root of the character, that does not move when IK is solved. Check out the "Interaction Pick Up 2-Handed" demo.

    Hey, no ETA, but hopefully rather soonish.

    About the wrist flipping, I'm afraid its a singularity issue that is quite inevitable. You could try adding a rotation limit to the wrist, update it before the TwistRelaxer by disabling and calling rotationLimit.Apply(). It can help avoid unwanted wrist rotations for example when the player rotates the controller in between his fingers, not holding it firmly in hand.

    Hey,
    Looks like a Unity bug, there is no fancy custom editor stuff going on with VRIK this could come from. Which Unity version are you using?

    Hey,
    Sorry, I don't have a pony tail solution in FIK, its not really inverse kinematics, more like forward dynamics.

    Hey, that looks awesome!
    Cant wait to play it on my PS, thanks for sharing! :)

    Cheers,
    Pärtel
     
  45. final1cut

    final1cut

    Joined:
    Mar 2, 2016
    Posts:
    5
    Hi,
    I just started using final ik for a vr project.
    The vrik on avatars works really great! :)

    I wanted to ask if there is a way to limit the self intersection between the hands and the torso especially on characters with some kind of armor it becomes really evident, like in the attachment.
    I tried using the bend goals which limited the effect a bit.
    Is there a way to further constraint the avatars hand movement ?
    Thanks
     

    Attached Files:

  46. Maicol-Face

    Maicol-Face

    Joined:
    Jan 12, 2015
    Posts:
    3
    Hi,
    i bought your final ik script from unity asset store. it seems very good for my job. i have to implementate a walking ladybug and i find in your "Grouder demo" what i need (feet must cling perfectly to the ground). so i use your "Grounder Quadruped Script", as in your "Wolf Example" (all elements and hierarchy of my ladybug are the same of your wolf).

    But i have this problem (look at the picture) if i move my ladybug the collider moves up and detaches from my ladybug.
    can you help me please to understand where is the problem? and is it possible find a tutorial specifically on the Grounder Quadruped?



    Hope to listen you very soon,
    Thank you
     

    Attached Files:

  47. tnousis

    tnousis

    Joined:
    Oct 27, 2016
    Posts:
    1
    Hi,
    I bought final ik for a htc vive vr project using it on avatars in a multiplayer game.
    Currently I use vrik on the avatars of the other players and I was wondering whether it's possible to also use it on the hands of the local player. For example if the player has/sees a forearm-hand model how could you go about setting vrik with just theses bones?
    Could it also be possible to also use the interaction system to grab/snap hands on objects like for example raw data does?
    (here is a reference to what I mean by snapping the hand to objects
    )

    Thank you
     
  48. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hey,
    Other than swivel offset, not yet. I'm planning to look into that in the future though.
    You could use the rotation limits, but make sure you apply them after VRIK by disabling and calling rotationLimit.Apply() in LateUpdate in a script that runs after VRIK.

    Hey, I just answered your e-mail.

    Hi and thanks for the purchase!

    I'm planning to support that in the future, but for now you could just use the LimbIK component for first person arms, its much faster. Interaction System requires FullBodyBipedIK and it will probably a massive overkill in this case.
    You could just tween the hand model to a pre-set anchor on the object when you grab it. Then tween it back to default localPos/Rot when you let go.

    Cheers,
    Pärtel
     
  49. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Hi Partel, All,

    I'm using your asset nicely, I'm stuck on a part where I am implementing multiplayer, the player object (actually child object of player but that is ok) uses your full body biped ik script, the problem is that movements of the body are not synchronised across the network, actually the script is not active it seems, the body is in the default pose. Any advise would be appreciated, must I edit theBipedIK.cs to add stuff such as NetworkBehaviour / isLocalPlayer ?
    Any input on this would be appreciated.
     
  50. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,556
    Hi!
    Must be something wrong with the networking code. If it is the same prefab used locally and remotely, there is no reason why IK should work on the local instance and not on the remote one.
    Normally you would just sync IK targets and have each client solve their own IK locally.