Search Issue Tracker

By Design

Votes

0

Found in

2019.4

2019.4.16f1

2020.3

2021.1

2021.2

2022.1

Issue ID

1341870

Regression

No

Texture becomes dark/overlapping when using BlendShape with certain Settings

Mesh

-

How to reproduce:
1. Open the user's attached project and Scenes/SampleScene scene
2. In the Hierarchy window, double click on "bug-fix-2 (2)" GameObject
3. Observe the focused GameObject in the Scene view

Expected result: Texture is correctly blended
Actual result: Texture is black (BlendShapes seem to overlap incorrectly)

Reproducible with: 2019.4.29f1, 2020.3.17f1, 2021.1.18f1, 2021.2.0b9, 2022.1.0a6

Notes:
1. Issue is not reproducible when BlendShape Plane.002 is < 50
2. Workaround: disable the Import or Calculation of the BlendShape Normal in the Import Settings

  1. Resolution Note (2022.1.X):

    The problem here is that the shapes which are blend between have opposing normals, the active shapes linearly blend between [0, 1, 0] and [0, -1, 0]. This results in the normals [0, 0, 0] - which renders as black due to lighting. DCC tools (Maya, Blender etc.) do not handle blendshapes the same. They can afford more expensive operations. Unity's blendshapes are optimized to be runtime performant. For this specific case it can help to use blendshape frames (in-between blendshapes). This can be used to define normals where they currently approach zero. This blog post explains the idea; https://mayazest.blogspot.com/2013/07/how-to-add-blend-shapes-inbetween.html.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.