I have been stumped on interior assets and I cant seem to find an answer about it. I searched and searched about individual topics but nothing that really encompasses the whole idea.
So here comes my couple of questions.
- I would like to incorporate vertex painting. So I have this wall that has a decent vertex count and trim at the tops and bottoms of the wall. Would it be too much too have the wall and trim on the same model and have them separated into 2 different materials? The wall using a tiled material while the trim using a trim texture? I ask this simply for optimization. I want to make sure I'm not blowing this scene out of the water with draw calls.
- If I used a horizontally tiled trim texture for the trim I fear that if I use too large a wall tiling that would affect other objects using the same material. Should I keep my walls small lets say for example 1m x 3m and just build the wall?
- If I were to have the smaller pieces would me prefabing them affect vertex painting. Such as instancing each piece of the wall. Would painting vertex colors of the wall affect the other instanced objects?
For extra context the tools I am using are; Blender, Unity3d Hdrp.
Replies
When an asset is instanced, all the vertex data will remain the same. So that includes vertex colors, UVs, shape, vertex normals, etc. You can swap materials, but you can't paint different vertex colors and have it still be an instance... once you change the vertex attributes on a prefab, it will go into a different batch. This won't prevent you from painting different vertex colors, just that there may be a performance implication, depending on the runtime circumstances.
I honestly overlooked the possibility of scaling past the boundaries of the uv. I stare so much at a box I got caught into limiting myself inside the borders!
As far as draw calls go, different variations of the trim textures will be used to attain a high level of detail but if i have 100 wall pieces using 5 different wall mats, 5 different trim mats, and then other various mats it can start too add up quick.
I want low end budget machines to be able to play at a comfortable 30 frames with low settings so what would you recommend as a draw call budget perhaps. I know each project is different and other things can impact the performance I just dont really have a rough idea of where I can start.
And thanks for the replies!
Drawcalls are unlikely to be your bottleneck (especially if its an interior environment). For context, GTA 5 (2013) had a couple thousand drawcalls per frame outdoors (https://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/). If they do become a problem, you can start merging similar meshes together in editor - this sacrifices rendering efficiency but reduces drawcalls.