How to make arm point at an object?

I’m trying to straighten out the arm then make it point towards an object. When I move the bones in local space it will move, but when I try to move in world space nothing happens. Anyone know how to get this guy to point to the sphere?

Here is my sad attempt https://playground.babylonjs.com/#ZVE9LW#10

@ozRocker, here’s an attempt using BoneIKController:

https://www.babylonjs-playground.com/#1EVNNB#167

Not sure why the orange SkeletonViewer portion for the right forearm and hand are in the wrong placement after using a BoneIKController, which also occurs in the demo in the official Babylon docs: https://www.babylonjs-playground.com/#1EVNNB#168

2 Likes

Thank you for the playground demo, unfortunately I need to get it working with the .GLB file. I’ve incorporated your playground into mine but I still can’t get it to work https://playground.babylonjs.com/#ZVE9LW#15

When importing your avatar.glb file into Blender, I noticed an extra transform node named Armature as the parent of Armature_0. Armature has a rotation that corresponds to a 180 deg rotation on the x-axis. When using a model in Babylon JS, I think we should make sure that the model has Location xyz (0, 0, 0), Rotation XYZ Euler (0, 0, 0), and Scale (1, 1, 1). This Armature transform node does not follow this rule.

In the updated model, I removed that extra transform node parent from Armature_0 and made sure that both Armature_0 and the mesh node avatar have (0, 0, 0) Location and Rotation and (1, 1, 1) Scale.

I understand, this would be best practise, however I’m stuck with this particular GLB model because its being used in a larger framework. When Blender exports armature to GLB it puts it into this format.
Unfortunately I cannot alter it 'cos it will break other things

Ah, that makes sense. There may be an upcoming solution that can cover all model configurations, as being discussed in Return to Rest not Behaving as Expected?

1 Like

I can’t get IK to work with GLB bones but I feel like I’ve gotten closer here. Babylon.js Playground Something is off though, like the axis is the wrong way around, or there needs to be an offset applied

Maybe @Drigax could help as he is definitely my new bones/animations hero :slight_smile:

1 Like