Asset Creation Approaches
Last updated
Last updated
Assets can be made in many different ways and usually depends on things such as your target platform, style, and deadlines. The following categories are covered below and cover some of the most common ways to make assets.
Palette Texturing is using a simple texture of color to apply to an entire model. You would assign the polygons of your model onto the specific areas on the texture. In exceptionally optimised examples, the texture could be 16x16 pixels, with a small number of color options. This is great for creating relatively simple assets with a number of colors at a very small filesize.
Trim sheets are a common technique to increase your texture quality on 3D assets while at the same time reducing the number of materials/textures on them.
The Trim Sheet process is basically creating a more complex texture that allows you to apply different details (from the same texture) to a model by unwrapping the model in interesting ways. This texture can be used on multiple objects, or even just one large one, with fantastic quality results.
High Polygon assets are a fantastic start to asset creation, but due to the limitations of many platforms such as WebGL, Mobile or Standalone VR these assets need to be optimised in order to make sure they look good and run well.
Having the best asset in the world won't matter if it runs at 10 frames per second.
This topic will go over the two main methods of creating High Polygon assets such as Sculpting and subdivision. AI Tools, also known for creating poorly optimised assets (at least for now), will be looked at in the next tab.
It is possible to create 3D assets with AI such as Stability.ai, or Luma AI. At the moment the assets may not be that optimised. This doc goes into some of the issues with AI 3D Creation tools, and approaches to working around them.
Palette texturing is a technique that allows you to add color to an entire asset with an extremely small texture by applying the UVs into the small texture. The texture being used in the example below is a 16x16 pixel image which comes up to a whole 1Kb of filesize.
Depending on the asset in question, you can increase the polycount (within reason) to add more color definition. It uses polygons in order to create the ink lines, rather than relying on textures to do so. That said, a VRM has a little more room to move on poly count than a simple asset in a space.
In the case of extremely small textures like this one, you may need to make sure the texture turns the filtering off in the target platform (the Imported Unity texture for example) otherwise the platform may add a blend between colors automatically (unless you want that of course!).
The evolution of this is creating a texture of number of gradients that you can use to texture your asset. This allows some extra detail in the color, but keeps the filesize quite low.
The following comes in at 12.6Kb in total. If you made all your assets with this one material, your total experience would have a significant file size decrease.
It is surprising the results you can get with this when using the gradients and UVs in interesting ways. As you are using significantly less resources in filesize/materials, you can push the polycount a little further in order to apply the texture creatively.
The following example takes a very simple gradient like texture and applies it to three different assets. The Rectangular door is the top, Arch the middle, and Oval the bottom UV example.
As you can see in the oval example, it uses only flat UVs. Only the corner gradients (on the Rectangular and bottom of the Arch) require the full texture, most of it could be done with a single pixel gradient. That said, the corners could also be done the same way with a little more creative use of UVs.
The next version would be to have the same colors, but different finishes such as matte, polished or metallic. Allowing one model to have a large number of colors and finishes but using one texture. All assets in the room below, and the room itself, use the same single material. This includes the metallic sink assets through to the matte bed spread.
You could of course add Emissive elements as well in order to have all the possible features in your space.
Decal texturing (not an official label, just the best we could come up with!) is a mix of Palette texturing and trim sheets in a way. Part of the texture is the Palette, Gradient, or PBR texture approach, and part of the texture includes art are that can be placed on the asset like a decal.
This approach would allow for a lot of colors and finishes, but also allow for key art, logos or data in the asset as well.
Palette Texturing is a fantastic approach to asset creation, especially if you are creating a lot of assets to use in a Mona Space as Unity can combine all your resources together if they are using the same material, reducing draw calls, and therefore running the space better. As they are all using a texture that is very small, the filesize is also quite small in comparison.
For more information on Unwrapping UVs, check out the Applying Materials & Unwrapping UVs doc.