Hey guys, I come to you because I am well and truly stumped with the normal mapping not showing up correctly on my dynamically created mesh, but only in the yz-coordinate!
Here’s my steps in creating the mesh:
This is the yz side (the side that cuts through the world x-coordinate). The opposite side looks the same.
The normals are barely barely noticable. It is almost completely flat in appearance.
I’ve tried the following with the same problematic results:
-use unity’s mesh.RecalculateNormals() in place of my own method
-compute uv coordinates and replace triplanar shader with unity standard shader
-use different shaders
-remove and re-add mesh rendere and mesh filter at runtime
-changing camera’s rendering paths
-Tried light types Point, Spot, and Directional, in addition to different environment lighting types.
To sum up, I’m completely stumped. Any ideas are welcome! Thanks!
What does your triplanar shader look like? If you’re using a Surface Shader, you still need mesh tangents. If not, then I’d want to know how you’re calculating the world normals from the triplanar normal maps, and how you’re doing ambient lighting.
Until I can get to really diving into the meat of that article, I went ahead and gave Ben Golus’s RNM shader a quick test, and lo and behold!
pure beauty.
Also, thanks for the tip on the surface shader and the mesh tangents. I didn’t realize I needed to be calculating and assigning those. Makes sense though. I knew I was missing something important, but for the life of me I could not figure out what.
Looks like you’ve managed to give me the answers to both of problems in one fell swoop :).
btw, I’ve been helped before by your answers to other people’s questions. Thanks so much for your commitment to the community here!