I have been making my level by changing the static mesh scale for my objects in Blender and importing them into UE4. I have always wondered, let’s say I have a static mesh wall is it fine to scale it in UE4 to become a floor or a smaller wall or is that bad practice? I am unsure if it makes a difference to the UV’s when it comes to texturing or something?
As long as your static meshes initially scaled correctly in Blender exported to UE4, that mesh can be re-used for whatever; but it’s wise to keep your texture components in tact. All depends on your specifications of what you meant by scaling a wall mesh a floor etc. I will simply build another mesh if scaling results are not so good.
The UVs will scale with the object. Thus, if you scale it down, UVs will become denser and the texture smaller. If you scale it up, UVs will become more stretched and the texture bigger. This, in itself, is not a problem, as long as it looks OK to you. For light maps, if it’s mapped from 0 to 1 uniquely in U and V, then that will still be true for the scaled version; you set how many luxels of light map to use in the static mesh instance properties.
In my opinion scaling imported meshes inside any engine is not performance wise. The engine has to calculate every mesh another time to that scale, caused by unreal/you. That is x2 calls for each mesh inside the runtime calculation. I wouldn’t go for that. However, internal primitives, like the box, cylinder, sphere etc. can be scaled at any time. The “scale” here is nothing more than the initial value you change. Hope that makes sense
That’s not quite how it works. For an imported static mesh it is pretty much the same as for an “internal primitive”. Its just a simple scalar, whether that is 1, 2, 3, etc. has no real bearing on performance. There are no extra calls being done.