Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Resolved (Case 1307602) Runtime generated non-float32 mesh is converted to float32 unintentionally

Discussion in '2021.1 Beta' started by Kichang-Kim, Feb 4, 2021.

  1. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    883
  2. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,313
    According to the issue tracker, this is by design for D3D11. Do you see this format change on other platforms / rendering api's as well?
    upload_2021-2-4_19-11-39.png
     
  3. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    883
    Hmm, weird. I found detailed condition. If the mesh has any of boneindex/boneweight attributes, its position/normal/tangent is automatically converted to float32, even with non-D3D11 graphics devices (OpenGL/Vulkan too).

    I think more detailed documentation should be provided for this silent changes..

    (or, may be related to this https://issuetracker.unity3d.com/is...distort-when-using-a-float16-vertex-attribute ?)
     
  4. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    883
    I received more detailed reply from Unity.

    For platforms which does not supports float16 skinning, it automatically convert the mesh which has blendindices attribute to float32 format, on not only D3D11, but any other platforms too.
     
    joshuacwilde and LeonhardP like this.
unityunity