If you set node material to a skeleton mesh, when ‘compute bones with shaders’ turning on, the node material is wrong.
If I understand correctly, turning off ‘compute bones with shaders’ will cause performance problem especially with complex animations on mobile device.
https://playground.babylonjs.com/#92Y727#146
Adding @Evgeni_Popov our master NME and Shader friend
You must use the Bones
block in your node material if you intend to use the material with a mesh that has bones:
Thx for your response!
Though adding bones works in this playground, it can’t work in my own glb model.
I use the node material you create above.
If turning on ‘compute bones using shaders’, it will mess up:
If turning off, everything works fine:
I can send you my playground with assets if you need it.
Yes, creating a playground with your asset would help.
You need to apply a different instance of the node material to each of your meshes as they are not using the same skeleton/bones.
Simply do:
body.material = nodeMaterial;
foot.material = nodeMaterial.clone("footMat", true);
wings.material = nodeMaterial.clone("wingsMat", true);
The true
parameter optimizes things a bit by not creating a new effect for each instance.
@Evgeni_Popov you are the best !!!
Great!!! It works well!!!