PBR Does not load correctly unless the mesh is imported or has a humanoid

PC Info: Windows 10, 22H2(if im not mistaken)
Impact: High
Frequency: Always
Date first experienced: 13 september, '22
Date Last Experienced: 30 may, '23

Reproduction steps:

  1. Pick any mesh that doesn’t have SurfaceAppearance from the toolbox.
  2. Insert SurfaceAppearance into the part and fill in your generated/non-generated NormalMap ImageID
  3. The part has broken NormalMap unless inside a humanoid or if the model is imported by you

Mesh when not imported/without a humanoid inside:

Mesh when imported/with a humanoid inside:

Expected behavior: NormalMap should work no matter what the mesh is
Actual behavior: self explanatory, it doesn’t “apply” the NormalMap unless the mesh is imported/the humanoid is in a model with the mesh

Workaround: putting it in a model with humanoid

1 Like

We’ve filed a ticket into our internal database for this issue, and we will update you when we have further information!

Thanks for the report!

1 Like

@korne12345678900 Could you please add a placefile with such two meshes to demonstrate the issue. It would help our team to quickly reproduce it.

SurfaceAppearance wraps according to the UV map on the mesh, which is why it might be wrapping weirdly. That doesn’t explain why adding a humanoid addresses the issue though

We would still appreciate an example repro placefile. Just attach a placefile with those two meshes as described above. Thank you in advance!

i dont have the original mesh and file. although it works with any mesh and texture, so heres a quick place i made, i just googled a random mesh and added surfaceappearance to it, just look at it



Place1(1).rbxl (92.8 KB)

it’s now starting to work on also pre-made meshes. please do something about this, it’s ruining everything.



(removing the normalmap from this does not fix the issue however)

heres how it behaves if i upscale the mesh to 4 studs:
without humanoid


with humanoid

please fix this, it is ruining what i am currently doing, and its been almost a year since i reported this bug.

Putting a Humanoid under objects to get them to render differently is not intended behaviour; is there a reason you need it to work well with random meshes?

sometimes yes, but now i am using an empty MeshId which uses a glasslens texture, which breaks after being in a viewmodel with a humanoid in it. either way, it shouldn’t happen even if i wouldn’t need to use random meshes sometimes.