LogoLogo
HomeDiscordVideo TutorialsBuilder Opportunities
  • Welcome to MONA
    • What is a Space?
    • Unity Overview
  • ⬛Create
    • Getting Started Building
    • MONA Crash Course
      • Setting up MONA in Unity
      • Introduction to Unity
      • Setting up Simple Assets
      • Metaverse / WebGL Limitations
      • Creating 3D Assets
      • Applying Materials & Unwrapping UVs
      • Importing Assets into Unity
      • Adding Colliders
      • Adding Lighting
      • Adding a Custom Skybox
      • Setting up Canvases
      • Uploading to your Wallet
    • Building Spaces
      • Space Limitations
      • Create your Space
        • Space Overview
        • Colliders
        • Materials
        • Portals
        • Canvases
        • Artifacts
        • Add a Custom Skybox
        • Test Your Space
        • Troubleshooting
      • Improve your Space
        • Lightmaps (Unity Lightmapper)
        • Light Probes
        • Reflection Probes
        • Animation in Unity
        • Importing Animation
        • Player Property Volumes (PPV's)
        • Warp Volumes
        • Adding Audio
        • VRM Switcher
        • Custom Canvases
        • Embedded Video
        • User Interface (UI)
        • Creating Custom Shaders
        • Imported Assets
        • Lightmaps (Bakery Asset)
      • Optimise your Space
        • Prefabs
        • 3D Asset Specs
        • Optimizing your Space
      • Adding Interactivity
        • Visual Scripting
          • Web Request Node
        • Mona Reactor
          • Creating Animation
          • Using Animator
          • The Reactor Component
          • Reactor Overview
      • MONA Tools
        • Template Utility
        • MONA Capture
        • Light Probe Generator
        • VOX Importer
      • Submit Your Space
        • Submitting your Space
        • Creating an Image & Video Preview
        • QA Process
        • Mint Your Space
      • Update your Space
      • Frequently Asked Questions
      • Troubleshooting
    • Creating Assets
      • Asset Requirements
      • 3D Asset Types
      • Asset Creation Approaches
      • Optimizing your Mesh
      • GLB Considerations
      • Example - Cyberpunk Car
    • Creating Avatars
      • Getting Started with VRM
      • VRM Requirements
      • VRM Creation
        • Using Mixamo for Rigging
        • Adding Custom Bones to the Rig (Optional)
      • Creating your Avatar using UniVRM
        • Importing UniVRM into Unity
        • Creating the VRM using UniVRM
        • Adding Spring Bones in UniVRM (Optional)
      • Creating your Avatar using 'VRM for Blender'
        • Adding 'VRM for Blender' into Blender
        • Using 'VRM for Blender' for Rigging
        • Adding a Material
        • Assigning VRM Details
        • Exporting the Avatar
      • Uploading your VRM
      • Using Avatars in WebAR
      • Submitting your VRM to the Mona Marketplace
      • Mint Your Avatar
      • Troubleshooting
    • Resources
      • MONA Claim Asset Requirements
      • Unity Wallet SDK (Alpha)
      • MONA Playground
      • MONA Tutorials
        • Retrowave Modules
      • Asset Resources
        • 3rd Party Assets
        • Textures
        • Shaders
        • 3D Assets
        • Audio
        • Tools
        • Tutorials
      • MONA Library
        • MONA Library Submission
      • Useful Unity Packages
      • Updating the Template SDK
      • Importing Mozilla Hubs Spaces to MONA
      • Importing AltspaceVR spaces to MONA
    • MONA Marketplace
  • ⬛Explore
    • How to Use MONA
    • Using VRM Avatars
    • Audio Settings
    • Explorer's Frequently Asked Questions
  • ⬛Collect
    • Setting up a wallet
      • Delegating a Wallet
    • Own a Space
      • Host an Event
      • Uploading your Images
      • Add Images to a Canvas
      • Live Music Feed
      • Token Gated Access
      • Minted 3rd Party Assets
    • MONA Create
      • Create FAQ
    • Live Streaming in MONA
      • Setting up OBS Studio
      • Livestream using OBS Studio
      • Livestream using a Mobile Device
      • How to Stream Using Twitch or YouTube
      • Add a Livestream to a Canvas
    • Collector's Frequently Asked Questions
  • General Resources
    • Web3 Introduction
    • How to sell Art in Web3
    • Game Dev Glossary
    • Buildathons / Challenges
      • 3D Asset Buildathon (Current)
        • Frequently Asked Questions
      • Emote/Emoji Challenge (Completed)
      • Stream Challenge (Completed)
      • Custom Avatars (Completed)
      • Build : NY Challenge (Completed)
      • Sculpture Challenge (Completed)
      • Portal Hub (Completed)
      • Interact (Completed)
      • The Renaissance (Completed)
Powered by GitBook
On this page
  • Palette Texturing
  • Trim Sheets
  • High Polygon Assets
  • AI Tools

Was this helpful?

  1. Create
  2. Creating Assets

Asset Creation Approaches

Previous3D Asset TypesNextOptimizing your Mesh

Last updated 1 year ago

Was this helpful?

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

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

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

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.

AI Tools

It is possible to create 3D assets with AI such as , or . 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

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!).

Gradient Texturing

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.

PBR Functionality

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

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.

Summary

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.

In a Mona space, reducing materials is a very important approach to improving how a space works in a browser as this reduces drawcalls.

A drawcall is the number of things that the computer has to call on the computer to draw something. This includes things like models and materials. So trying to create assets with as few materials as possible is a great technique for optimisation.

Most AAA games use this technique a lot on environment assets in order to have fantastic quality, save time on development, keep assets together with a set theme, and many other reasons.

The Trim Sheet Texture

As an example, lets look at a simple texture that was made in less than an hour using Blender for the base shapes, then Substance Painter for the textures, as a quick example of how to use it in interesting ways. This texture has diffuse (2048x2048), metallic/smoothness(1024x1024), and normal maps (2048x2048).

Of course how you create your Trim Sheet is up to you. Some people use ZBrush, others use the 3D Creation tool such as Blender, Maya etc. entirely. Whatever creates the assets that you want to add to your 3D asset.

The main thing to consider is that if you are tiling in any direction such as vertically or horizontally, the edge will tile smoothly. This will allow you to extend your 3D asset polygons across that border without issue. Assets do not need to be in the 0-1 area (the square that most 3D applications use when unwrapping objects) of a UV map, so by positioning / rotating / scaling the UVs in interesting ways you can create fantastic assets with a lot less information. That said, a texture could tile vertically, or not at all, depending on your needs as a trim sheet.

Applying the trim sheet

Once you have one or more trim sheets to apply to your asset we can unwrap the asset UVs to assign the texture to the polygons on the object. By doing this we can use the one texture to create entire assets without too much hassle.

If you look at the unwrapped UVs of the asset it does not look like it makes much sense, but in this approach the result is more important. And each section of the asset needs to be considered separately.

This is of course a very different process than that used for 'hero' assets that have all of the asset within the 0-1 area of the model. This approach allows for more unique assets, but requires a lot more time in creating those assets from both the modelling, unwrapping, baking etc.

Every asset requires consideration on what is the best technique for that asset. Things like buildings and simple props in a space are fantastic use cases of using Trim Sheets. Things like characters, statues, and unique assets with custom details are usually created with their own textures as Hero assets.

Examples

For an example of professional use of trim sheets you can look at the following example by Tor Frick. This takes trim sheets to the next level using very few textures to make whole environments!

Resources

GrabDoc

Sculpting

Optimisation approaches for sculpted asset usually include tracing the asset as a low poly model (also known as retopology) and then baking the high polygon detail into the Normal Map texture. More information on this approach can be found at Optimizing your Mesh.

Subdivision

Subdivision is an extension of Sub-D modelling in that you model an asset but then add subdivision to make it super smooth. Along with sculpting, this will usually end up with millions of polygons and therefore require optimisation approaches. As the original model is already made, there is a reasonable change that you could utilise the unsubdivided model and bake the high polygon details into the low polygon Normal texture. The result looks the same, but has significantly smaller polycount for a larger filesize (due to the included normal map texture).

One thing to note is that the layout of polygons plays a significant role in the result of the higher subdivision and can be a whole skill in itself.

Stability AI has the advantage of utilising images to create assets. So with a good reference images, either created yourself or using 2D image generation you can get better results.

AI Assets

As you can see in the examples below the assets look great from a distance, but once you get up close the quality starts to break down. The following examples use Luma AI, but similar considerations should be looked at with any AI generation tool.

The texture is also less optimised with wasted space on the texture, wasting valuable filesize.

The polycount and edgeloops are not really considered in the creation of the assets, and can therefore be significantly optimised in order to reduce the filesize and improve how they work in a space.

That said these assets can be fantastic reference, and depending on the quality of the original asset, there are a number of approaches you could use to create the optimised version.

Reference

The first approach that will usually create better results but over a longer time frame, is use the AI generated 3D asset purely as reference. You can use the asset to help guide the creation of a better high polygon asset, or a refined version of a low polygon asset. Basically, this would speed up the creative process so you have to spend less time figuring out what you want to do, and get to the doing part.

A benefit of this approach is that you can then take the time to improve on the design of the asset as you go, focusing less on the general details and really refine the details.

This also means that the end result is more yours rather than just the AI's (or the original artists in the database more the point).

Optimising the mesh

If the AI Generated asset is exactly what you want, but you still need to optimise it, the approach would be to create an optimised asset and projecting the original asset data onto the optimised mesh. The approaches to this are covered in the next tutorial category, and cover Decimation, Remeshing, Retopology, and Baking.

This asset example used retopology and baking the diffuse and normal map to get the polygon count from 9089 down to 52 (in the lowest example). the lowest polygon asset would look fine from a distance, but you could use the higher polygon assets with Level of Detail tools in Unity. If you save the assets like the following :

  • Temple1_LOD1

  • Temple1_LOD2

  • Temple1_LOD3

When you import all three fbx files as one model into Unity it will automatically create a Level of Detail asset, and switch between them at different distances from the camera. So at the cost of filesize for the extra meshes, the asset will be significantly more performant at distance.

A useful tool that allows you to bake trim sheets within Blender is GrabDoc which you can find . For more information, including how to sculpt the trim sheet details, check out the YouTube video .

Digital Sculpting is possible in applications like and . It can create amazing assets much like traditional sculpting, the catch is it is done with millions of polygons therefore the final result would need to be optimised for use in target Platforms like WebGL, Mobile and standalone VR/XR.

It is possible to create 3D assets with AI such as , or . At the moment the assets may not be that optimised for a WebGL space, so this doc will go over some considerations when using AI based 3D assets.

If you want a tutorial on how to set up, you can go for more information. Do note that you will install it on your own computer, and a 24Gb VRam graphics card is recommended (but not required).

⬛
here
here
ZBrush
Blender
Stability.ai
Luma AI
Stability.ai 3D Assets
here
Stability.ai
Luma AI
Trim Sheet Video Tutorial
Tor Frick example of Trim Sheets
Example Asset with a 16x16 pixel texture. Created by TheMattEmpire.
Turn off Texture Filter in the texture...
Example 256x256 Gradient Texture...
Using UVs in interesting ways...
Example of multiple finish textures...
Gradient + Decal Texturing example...
Creating a base asset in Blender
Adding some texture in Substance Painter
Final Maps to use as a Trim Sheet
The result in Unity
The Unwrapped result in Blender
Sculpted Model VS Retopology Model VS Retopology with Normal Maps Model...
AI generated assets using Luma AI.
All the black areas are wasted space - Luma AI
Very high polycount - Luma AI
Optimised versions of the AI Asset