Skinning a LinesMesh

Trying to skin a mesh created with LinesBuilder.CreateLineSystem but I struggle with getting it to work.

Am I missing something obvious or is this perhaps a known limitation?

https://playground.babylonjs.com/#YGSAZJ#4

UPDATE
I made some progress. I disabled hardware skinning and discovered that for software skinning to work the mesh needs normals. I tried disabling those checks for normals and got it working.

Now I need to figure out what goes wrong with hardware skinning.

I have yet to try adding normals to the LinesMesh, perhaps that would fix both software and hardware skinning.

But even if that works out, I guess it does not really make sense to have normals on lines. So perhaps the normal checks should be altered to not require normals if it’s a LinesMesh. But I’m not sure if that’s possible for hardware skinning.

Where is the code for hardware skinning?

Turns out adding normals works with software skinning only:
https://playground.babylonjs.com/#YGSAZJ#5

I will do some more digging!

Here’s a PR that corrects the problem with hardware skinning not working for LineMesh and which allows software skinning even if there are no normals defined for the mesh:

2 Likes

Wow. That’s awesome, tested and works. Thank you!

1 Like