Facial Morphs on a SkinnedMesh Character

Hi all,

I’m using ThreeJS for the first time in a number of years and I’m struggling with the new version.

I have a skinned, rigged character that I’m importing from Blender with a number of named body animations as a glTF. I want to be able to control the facial expression - blinking, mouth phonemes etc. through JavaScript independently of the pre-canned animations.

I was planning on importing the facial expression morph targets in a separate glTF file. How do I then add a collection of morph targets to my SkinnedMesh that refers to these geometries?

I can find no help at all on morphAttributes and MorphTargetInfluences is a property of a Mesh object, but not a SkinnedMesh object as far as I can see.

any help or examples massively appreciated!

What is the reason for doing this? In general, you will have an easier workflow if you embed morph target animations into the same glTF file.

I suggest you study the following official three.js example that shows an animated robot based on skeletal animation. However, the facial expressions are implemented via morph targets.

https://threejs.org/examples/webgl_animation_skinning_morph

@Mugen87

I’ve been using Mixamo.com to apply simple animations and create a rig for my character and using Blender to convert to glTF. I actually use 3DS Max for my morph targets but they were getting lost in the conversions. I’ve now figured out how to reapply them in Blender using Shape Keys and it’s working. Thanks for the help :+1:

1 Like