When I use TexCoord, as you can see texture is rotated 90 degrees. If I Use Absolute World Position vertical surfaces are Stretching. These are imported fbx files from fusion 360. Since I have more han 100 meshes, I need a solution will apply to all so I am trying to fix in the material. How can I get it right?
I assume you’re talking about the corners on the one on the left? If your UVs are set up correctly, this shouldn’t be happening. I’m not familiar with fusion 360, but you could use blender and rotate your UVs if they’re facing the wrong way. If all 100 of the meshes are wrong, then you have a problem because if you rotate UV’s in unreal engine then the corners will look ok but the rest of the mesh will have rotated textures. You need to rotate and fix them at the source, in fusion 360 or wherever you got them from.
OTOH, if the corners were in a separate surface, then you could just swap X and Y from TexCoord 0 and use that for your UV coordinates.
Like I said, this is a problem with whatever produced these assets. I’m afraid this has nothing to do with unreal engine.
I apply textures in the Unreal, fusion is not the best option when exporting but I try to fix the issue in the unreal, I can’t unwrap all the uvs edit manually its a lot to do. I have found a tricky way but I guess I need triplanar projection, Do think it will work if I keep the meshes as it is now?
Triplanar? You want to apply textures on all three axis? How will you know which one to use? The normal? I mean, you could try it. You’ve got nothing to lose at this point I think.
I’ll provide some math tips for you if you’re interested. So you’ll need the normal in local space. Then compare with each of (1,0,0), (0,1,0) and (0,01). You do this by taking the dot product of your normal and one of these vectors. Do this for all three. The one that has the highest absolute value (abs node) is the planar projection you want to use (or you can blend). So you grab the Position in local space (you may have to take the world position and transform it to local space) and take the two coordinates for the plane you’re projecting and form a UV coordinate based on the distance from the origin of the object and its size.
Good luck! This isn’t straightforward to do. If you have a better idea, let me know and I’ll try to help if you need it.