(Case 1261269) Float16 mesh does not receive any projection from Projector

Hi. As a title said, float16 mesh does not work with built-in Projector component.

New 2019.3 mesh API (setting vertex attributes and data buffer) has huge potential for optimizing memory usage of meshes. It can be used for per-mesh fine tuning (different with Vertex Compression option in PlayerSettings, applied to all meshes).

But many of Unity features doesn’t work with float 16 mesh. Projector is one of not-working features.

Protip; don’t use the projector. It’s implemented horribly. Every single thing it hits is redrawn, so you double the draw call cost for everything it hits.

Thanks for the report @Kichang-Kim ! It was successfully reproduced and will be with the devs soon.

https://issuetracker.unity3d.com/product/unity/issues/guid/1261269/

I received the response with solution, thanks Unity!

The problem is that my float16 mesh has 4 elements position (half4) and its 4th element is set to 0. But projector shader expected that 4th element will be 1.0 (if the mesh has 3 channel position, Unity fills 4th element as 1.0 automatically). So if you create 4 channel positioned mesh manually, should fill its 4th element as 1.0.

1 Like