Creating Assets
Overview of the Mona documentation for Creating Assets ...
Last updated
Overview of the Mona documentation for Creating Assets ...
Last updated
Many of the things discussed in this tutorial have been covered in other areas in the Mona Documentation as Creating Spaces or VRM avatars uses the same techniques. But if you are coming into the Mona eco-system as an asset creator specifically then you can continue with the details here and we will link to other tutorials as needed.
There are many ways to create assets depending on the requirements of the end goal. Making assets to be used many times in for a mobile game is very different from a single centrepiece object for a client-based desktop experience.
The following image displays a number of pipelines to create your assets from Palette texturing on the left, trim sheets in the middle, and High polygon approaches on the right.
Palette texturing and trim sheets are fantastic approaches for highly optimised assets. These can usually be used in all spaces including Mobile and standalone VR/XR. High polygon assets that have been optimised are usually used in high end experiences for desktop only.
As optimisation is important when creating assets for your space the result needs to consider the polycount, texture resolution, and material count in order to make sure the assets look good and don't slow down the experience.
The simplest is creating low polygon assets from scratch. This approach is usually called Sub-D modelling and basically means you create the asset end result from the start by adding polygons manually. This is great for simpler assets such as simple furniture and/or architecture.
This is not so great for complex or detailed assets such as characters or sculptures.
This could include sculpting assets in something like ZBrush or Blender, or using a 3D Creation Tool that doesn't really consider polycount such as Rhino. The issue with these, in regards to using them in WebGL spaces with limited resources, is that the polycount is usually in the millions. And this is not practical for a WebGL experience unless you want the space running at a very low frame rate.
That said, it is possible to take your high polygon asset and turn it into a low polygon asset with Retopology.
Retopology is the process of basically tracing a high polygon asset as a low polygon asset. You can make the high polygon asset however you like so you can focus on how it looks, but it is still recommended to consider the end result, as some details are extremely difficult to reduce down to a low polygon asset.
Manual retopology can take some time, but is the best way to get an asset polycount down as much as possible. You can then bake the high polygon detail into the low polygon asset texture. More information on this can be found below.
An approach to manual retopology is covered at the bottom of Optimizing your Mesh.
Decimation, Remeshing, and Auto Retopology are methods that reduce the polycount for you much faster, but are usually less optimised than doing it manually. 3D Creation tools like Blender have modifiers that can do this. You can find more information about this in Optimizing your Mesh.
You could also use other tools like Instant Meshes to automatically retopologise your assets.
There are several approaches to texturing that allow you to improve the visuals of your assets while at the same time keeping it more performant and/or smaller filesize.
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, also known as Unwrapping UVs.
In exceptionally optimised examples, the texture could be as small as 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.
Palette Texturing is a fantastic approach to asset creation, especially if you are creating a lot of assets to use in a Mona Space using Unity 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 this, check out the doc.
Trim Sheets takes this a little further where the texture has high quality textures that can be used in different ways on your asset. An entire house can be textured with one material, but the texture has an area for roof, floors, window frames, walls and other details.
Similar to Palette Texturing, Trim Sheets are a fantastic approach to asset creation, especially if you are creating a lot of assets to use in a Mona Space using Unity as Unity can combine all your resources together if they are using the same material, reducing draw calls, and therefore running the space better.
The difference to Texture Palettes is that Trim sheets are usually larger in filesize as they require higher quality textures. The performance is still better, but the filesize does increase.
For more information on Trim sheets, check out the doc.
A common thing to do, at least with important assets, is to bake high polygon detail into the low polygon asset texture.
Baking can be done in Blender, Maya, or 3D Studio MAX, but the most common approach to baking is by using a program like Substance Painter or Marmoset due to its easy to use approach and improved results. Both of these are not free however, whereas Blender is.
Baking does produce fantastic results and allow for more performance in comparison to just high polygon assets, but as each asset requires it's own baked textures, the filesize can get quite large in comparison to Trim sheets. So baking is usually recommended for important or hero assets only.