Search Issue Tracker

Fixed in Unity 2017.2

Votes

0

Found in

5.6.0f3

Issue ID

922769

Regression

No

Assertion failed: 'IsNormalized(normal)' from the light culling code

Graphics - General

-

-

Priority: 3Not yet prioritized for a release

-

Severity: 2No workaround

To reproduce:

1. Download attached project "CamaroDemo17.zip" and open in Unity

Expected Result: In Console, no error occurs
Actual Result: In Console, error Assertion failed on expression: 'IsNormalized(normal' starts spamming

Note: Here's the callstack: https://gyazo.com/cdcf0ab1ecfcc6f68aa21dd376ae28df

It hits the assert here:

inline void Plane::Set3Points(const Vector3f& a, const Vector3f& b, const Vector3f& c)
{
normal = CalcRawNormalFromTriangle(a, b, c);
normal = ::Normalize(normal);
distance = -Dot(normal, a);
Assert(IsNormalized(normal));
}

normal = CalcRawNormalFromTriangle(a, b, c);` is returning a degenerate normal (0,0,0) because of two coincident points.
This is coming from the light shadow code.

Note: This issue appears both on Windows and OSX.

Reproduced on Unity 5.5.4p1, 5.6.2p1, 2017.1.0f1 and 2017.2.0b1

All about bugs

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