Repository: godot
Issue: [TRACKER] Blend shape Issues
Labels: bug,topic:rendering,tracker,topic:import,topic:animation,topic:3d

**This is a tracker for issues with the Blend shapes implementation in Godot.** Blend shapes are also called Shape keys (in Blender) or Morph Targets.

> I'm the terror that flaps through the issues! I'm the fly in your released soup. I'm your bad conscience that wakes you at 3am!
> I'M the issue tracker!  
> \- a certain duck

# Common Workarounds if you have issues

> There are two everlasting issues with blendshape meshes and shared instances or mesh resource threaded loading in Godot 3.x so might be one of the two.  
>  
> a) blend shape values are not (re)set properly when the mesh joins the scene, happens constantly with threading, result is that mesh explodes. You can try to (hard)reset all blend values to e.g. 0.0 in a script and see if this solves the issue.  
>  
> b) mesh is shared with other instances and not made unique / local to scene. This is not a bug just how Godot rolls with blend shapes. As soon as two instances have different blend values corruption sets in. You can try to duplicate / local_to_scene the mesh for each instance and see if this solves the issue.
([source](https://github.com/godotengine/godot/issues/61533#issuecomment-1141151433))

Backlink to the tracker tracker. https://github.com/orgs/godotengine/projects/58/views/3

# Godot 4.x

* https://github.com/godotengine/godot/issues/31595
  * since around Godot 3.2
* [x] https://github.com/godotengine/godot/issues/75724
* [x] https://github.com/godotengine/godot/issues/76320
* [ ] https://github.com/godotengine/godot/issues/49005
  * observed
    * in Godot: 4.0.dev https://github.com/godotengine/godot/commit/45d3b965bb55f3111478306070034ed18e8fa5e4
    * on: Windows10
* [ ] https://github.com/godotengine/godot/issues/54719
  * **note**: crash could not be confirmed
  * observed
    * in Godot: 4.0 (dev/nightly)
    * on GPUs
      * Nvidia GTX 1060 6GB, Nvidia studio driver 471.68 (Windows10)
* [x] https://github.com/godotengine/godot/issues/55619
  * observed
    * affects: glb (glTF), unknown for FBX
    * in Godot: 4.0 https://github.com/godotengine/godot/commit/52b7d5fa347fb88aa016e1e30414abd01e800381
    * on GPUs: Nvidia 3000 series, Nvidia GeForce 1060 GTX
    * on: Windows11
* [x] https://github.com/godotengine/godot/issues/58093
  * observed
    * in Godot: 4.0.alpha2.official
    * on: Windows10
* [x] https://github.com/godotengine/godot/issues/68588
* [x] https://github.com/godotengine/godot/issues/75969


## Work on Blend shapes in Godot 4

> … which might fix issues listed for Godot 3.x (or not)

* https://github.com/godotengine/godot/pull/37273
  * Cherry-picked for 3.2.2.
* https://github.com/godotengine/godot/pull/38763
  * Cherry-picked for 3.2.3.
* https://github.com/godotengine/godot/pull/42827
  * Cherry-picked for 3.4.
* https://github.com/godotengine/godot/pull/44430
* https://github.com/godotengine/godot/pull/44649
* https://github.com/godotengine/godot/pull/45859
  * backported to GLES3 in Godot 3.3
* https://github.com/godotengine/godot/pull/48915
* https://github.com/godotengine/godot/pull/52802
* https://github.com/godotengine/godot/pull/53608
* https://github.com/godotengine/godot/pull/53114
  * in scene gltf export: support blend shapes
  * plus fixes: https://github.com/godotengine/godot/pull/53114
  * backported to 3.4 (https://github.com/godotengine/godot/pull/53448)
* https://github.com/godotengine/godot/pull/53865
  * note: Blend shapes are imported via this new track type + several processing optimizations
  * can be exported: https://github.com/godotengine/godot/pull/58711
* https://github.com/godotengine/godot/pull/57801
* https://github.com/godotengine/godot/pull/59489
* https://github.com/godotengine/godot/pull/61217



# Godot 3.x

**All sightings are in GLES3, except documented otherwise.**

> **NOTE**: I also listed already closed issues, but only if they are cherry-picked for 3.4.x from 3.5 (which not released at the time of writing). There are several closed issues with milestone 3.4 not listed here.

**General**
* related/duplicate issues due to sharing the same underlying mesh resource
  * [ ] https://github.com/godotengine/godot/issues/10402
    * observed
      * in Godot: 3.0 Alpha1 (on: Ubuntu16.04), 3.2.2, 3.3.2
  * [ ] https://github.com/godotengine/godot/issues/51860
    * observed
      * in Godot: 3.3.stable
      * on: Nvidia RTX 2070 (Windows10)
  * [ ] https://github.com/godotengine/godot/issues/61533
    * context: .GLB model which consists of multiple MeshInstances where at least one has blendshapes
    * observed
      * in Godot: 3.4.2stable and 3.5beta
      * on GPU: Intel(R) Iris(R) Xe Graphics (Windows10)
* Issues with Normals
  * [ ] https://github.com/godotengine/godot/issues/43215
    * affects: glTF
      * but not: FBX; but FBX has the error of not adjusting the normals at all when a blendshape is applied ([source](https://github.com/godotengine/godot/issues/43215#issuecomment-731339710))
    * observed
      * in Godot: 3.2.3.Stable
      * on: Inspiron 7373 Core i7-8550U / Intel(R) UHD Graphics 620 (Windows10)
  * [ ] https://github.com/godotengine/godot/issues/42620
    * observed
      * in Godot: 3.2.3.stable (Windows7)
        * on GPU: Nvidia GTX 780
      * in Godot: 3.4.4 (Windows10)
        * on GPU: Nvidia RTX 3060 Ti
      * related [ ] https://github.com/godotengine/godot/issues/74228
* [ ] https://github.com/godotengine/godot/issues/54705
  * observed
    * in Godot: 3.4.Stable, 3.5 RC 5, [master](https://github.com/godotengine/godot/issues/54705#issuecomment-1173054946)
    * on: Nvidia GTX 1060 6GB, Nvidia studio driver 471.68 (Windows10)
* [ ] https://github.com/godotengine/godot/issues/53244
  * observed
    * in Godot: 3.2, 3.3.2, 3.4.beta
    * on:
      * Nvidia RTX 2080 Ti (Windows10)
      * Nvidia GTX 1050 m (Linux)
* [ ] https://github.com/godotengine/godot/issues/42242
  * observed
    * in Godot: 3.2.3.stable, 3.5.1.stable
    * on GPU: Intel Iris Plus Graphics (Core i7-1065G7) (Windows10)
    * works `on 3.2.3.stable /win10 version 2004 /nvidia 1070` ([source](https://github.com/godotengine/godot/issues/42242#issuecomment-752091822)) and Godot 3.5.rc8 and Godot 4 Alpha 13 for both [Ubuntu; nvidia](https://github.com/godotengine/godot/issues/42242#issuecomment-1200400283) and [Windows 10; nvidia](https://github.com/godotengine/godot/issues/42242#issuecomment-1200418068) 
  * **theory: maybe limited to integrated GPUs**
  * **works in Godot 4.0 beta5 (Vulkan)** ([source](https://github.com/godotengine/godot/issues/42242#issuecomment-1328249380))
* [x] https://github.com/godotengine/godot/issues/34658
  * observed
    * in Godot: 3.2 beta 4
    * on: Ubuntu 18.04
  * note: related to / duplicate of https://github.com/godotengine/godot/issues/38443?
* [ ] https://github.com/godotengine/godot/issues/45690
  * affects: .glb, .gltf, .fbx
  * observed
    * in Godot: 3.2.3.stable mono (OS: Manjaro)
    * on GPU: AMD ATI Radeon RX 5600 XT, using video-linux driver
  * could not be reproduced on -> **theory: driver issue**
    * Godot 3.2.x with GPUs
      * [GeForce GTX 1080](https://github.com/godotengine/godot/issues/45690#issuecomment-772642412) (NVIDIA proprietary driver 460.32.03) (OS: Fedora 33)
      * [RTX 2070S (Driver version 461.40)](https://github.com/godotengine/godot/issues/45690#issuecomment-772655386) (OS: Windows10)
      * [Intel HD 630 and AMD Radeon RX Vega M (both with Mesa 20.3.4)](https://github.com/godotengine/godot/issues/45690#issuecomment-773152763) (OS: Mageia 8)
* [ ] https://github.com/godotengine/godot/issues/27390
  * observed
    * in Godot: 3.1 (OS: Windows10), 3.5 RC 6
    * on GPU: AMD Vega 8 and Intel integrated
  * seems to work in GLES2
* [x] https://github.com/godotengine/godot/issues/60525
  * Cherry-picked for 3.4.5.
  * there was also an issue in GLES2, but it was fixed by https://github.com/godotengine/godot/pull/60829
* [x] https://github.com/godotengine/godot/issues/58789
  * affects: GLES2
  * Cherry-picked for 3.4.4.
* [x] https://github.com/godotengine/godot/issues/58592
  * Cherry-picked for 3.4.4.
* [x] https://github.com/godotengine/godot/issues/55633
  * Cherry-picked for 3.4.3.
* [x] https://github.com/godotengine/godot/issues/53374
  * Cherry-picked for 3.4.1.
* `Models with blend shape are not rendered correctly` (mainly on Android, but also sightings on Desktop with Ubuntu 20.04 using Godot 3.2.stable ([source](https://github.com/godotengine/godot/issues/39112#issuecomment-658709282))


**HTML**
* [ ] https://github.com/godotengine/godot/issues/63179
  * affects: models in glTF format (both .gltf and .glb) which consists of multiple MeshInstances where at least one has blendshapes
  * observed
    * in Godot: 3.4.4.stable, 3.4.4.mono
    * on Firefox and Google Chrome
    * with GPU: AMD Radeon Vega 8, Driver 24.20.12028.4004 (Windows10)
* `Skinned meshes with blendshapes do not render on Android` (mainly on Android, but also sightings in HTML ([source](https://github.com/godotengine/godot/issues/43217#issuecomment-950139773)))


**Android**
* [ ] https://github.com/godotengine/godot/issues/63218
* [ ] https://github.com/godotengine/godot/issues/39112
  * affected: FBX, unknown for glTF
  * observed
    * in Godot: 3.2.1.stable
    * on GPU: Adreno(TM) 640
    * on phones:
      * OnePlus G1910
      * XIAOMI 8
* [ ] https://github.com/godotengine/godot/issues/43217
  * affects: models in glTF and FBX format
  * observed
    * in Godot: 3.2.3.Stable, 3.2.4.rc1, 3.3.4
    * on:
      * Galaxy S6 running android 7.0
      * GPU: Adreno 630 device (POCO F1)


**macOS**
* [ ] https://github.com/godotengine/godot/issues/58078
  * observed
    * in Godot: 3.4.2.stable, 3.4.4.stable
    * on: GLES2


**iPhone**
* [ ] https://github.com/godotengine/godot/issues/58230
  * observed
    * in Godot: 3.4.2.stable
    * on: iPhone12 mini (15.2) with GLES3


**very, very strange**
* https://github.com/godotengine/godot/issues/41688
  * on GPU: AMD Radeon RX 5600 XT, using video-linux driver, on Manjaro (Linux)


# Fixed in Godot 4.x, but still an issue in Godot 3.x

* https://github.com/godotengine/godot/issues/54062
  * context: .GLB model which consists of multiple MeshInstances where at least one has blendshapes
  * observed
    * in Godot: 3.3.4.stable
    * on GPU: GeForce 750ti (Windows10)
* https://github.com/godotengine/godot/issues/31595
  * observed
    * might not be a bug, but an error in usage
    * in Godot: master branch on Aug 23, 2019, so since around Godot 3.2, and still present on Godot 4.0.dev
* https://github.com/godotengine/godot/issues/38443
  * observed
    * in Godot: 3.2.1
    * on: Ubuntu 18.04
  * **NOTE**: should be indirectly fixed in Godot 4 because of https://github.com/godotengine/godot/pull/53865


# Documentation Issues

* [ ] https://github.com/godotengine/godot/issues/75179
* [ ] https://github.com/godotengine/godot/issues/15778
* [x] https://github.com/godotengine/godot-docs/issues/5954
* [x] https://github.com/godotengine/godot/issues/61685
  * observed
    * in Godot: 3.4.4.stable
    * on GPU: NVIDIA RTX 2060, driver 512.95 (Windows10)
  * workaround: `By default, glTF exports non-deforming bones for some reason. Exporting only deforming bones resolved this issue` ([source](https://github.com/godotengine/godot/issues/61685#issuecomment-1151860569))
* [ ] https://github.com/godotengine/godot-docs/issues/4502

# Enhanced Collada Exporter

> listing for completeness

* [ ] https://github.com/godotengine/collada-exporter/issues/69


# Related Proposals

* [ ] where to save blend shapes
  * https://github.com/godotengine/godot-proposals/issues/2465, or
  * https://github.com/godotengine/godot-proposals/issues/3477
  * previously discussed [here #37854](https://github.com/godotengine/godot/issues/37854)
* [x] https://github.com/godotengine/godot-proposals/issues/24
  * related functionality: `SurfaceTool.create_from_blend_shape()` (https://github.com/godotengine/godot/pull/26355)
* https://github.com/godotengine/godot/issues/49249
  * salvageable as proposal
* [ ] https://github.com/godotengine/godot/issues/40292
  * not a bug, but an enhancement