lo-th / fullik

javascript fast iterative solver for Inverse Kinematics
http://lo-th.github.io/fullik/
MIT License
354 stars 46 forks source link

Attach Fullik to a 3D character #2

Open etiennepinchon opened 6 years ago

etiennepinchon commented 6 years ago

This library is really impressive!

Is it possible to attach the ik to a Skeleton? I would like to use a 3D character instead of having default bones. It is something that fullik can do?

Thank you

lo-th commented 6 years ago

Hi thanks, not for now, but is the goal current joint have not enough constraint or is buggy i have to make update with more clean code

etiennepinchon commented 6 years ago

Alright no worries, it would be amazing!

Any idea how to implement the behaviour (how do you plan to link the mesh with the ik) ?

lo-th commented 6 years ago

link the mesh is not a problem look my avatar libs is easy to move any bones in three i have to find best methode for constraint angle maybe with quarternion

gigablox commented 6 years ago

Any updates on this? Really curious how I connect an IK chain to a mesh.

lo-th commented 6 years ago

yes i'm near a solution legs arms and finger only need 2d bones so i making HISolver 2d bones with 3d orientation update soon

WebRTCGame commented 6 years ago

Can we just copy the positions/rotations from fullik to the bones of a rigged mesh each frame? Or maybe inherit from the thee.js bones for the ik bones base.

gigablox commented 6 years ago

^ Yea I would vote for that flexibility as well. Being able apply the positions/rotations from fullik to THREE bones https://threejs.org/docs/#api/objects/Skeleton.

I'd also love to be able to apply custom geometry to each segment so you wouldn't need to rely on a character mesh and could build characters from scratch!

I think that would really make this library take off once people can start building simple character meshes with fully rigged IK chains without needing to rely on modelling software. Sometimes simple shapes is all you need.

I understand we could probably add mesh on top of the THREE.CylinderGeometry but it sort of feels dirty. Ideally we could just specify what that geometry might be and let the bones do the rest of the work.

varipon commented 6 years ago

That sounds so interesting! I has been working on R & D to mathematically model all voluntary movements of natural animal bodies, while programming with IK and Python on Blender.(youtube demo reel) My effort gradually gained an understanding, and is getting access from enterprises of artificial intelligence development like NVIDIA. I'm also planning to implement these holistic works in the future using IK and Three.js on WebGL. Therefore, I always observe the work of Lo-Th and you guys, I hope to further develop it.

lo-th commented 6 years ago

varipon your demo look amazing !! i try to update soon my body version

varipon commented 6 years ago

Thank you so much lo-th ! I would like to apply these R&D results to school education and health and social services. For that, I opened a new online institute using the Blender network. The reaction in North America is good. These projects might work out in there, especially in Canada. In the future, I'm willing to develop new applications using WebGL with augmented reality and AI, so I'm looking for sponsors and cooperative investors for developers. So, you are very important in the future.

lo-th commented 6 years ago

sound great

i update my high human model http://lo-th.github.io/Avatar.lab/ with muscular map ( go in menu top 'material' and change skinAlpha and muscle value )

now i working on ammo.lab ( the physics engine ) http://lo-th.github.io/Ammo.lab/#terrain after i update fullik and avatar

kavikode commented 4 years ago

Can we please show how to add the full IK System on the Avatar lab mesh? How do we attach a mesh to the full IK?