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
  • Modular Assets
  • Instanced Assets
  • Centrepiece Assets
  • Summary

Was this helpful?

  1. Create
  2. Creating Assets

3D Asset Types

Describing the different asset types approach to help reduce drawcalls and filesize while increasing quality and performance.

PreviousAsset RequirementsNextAsset Creation Approaches

Last updated 1 year ago

Was this helpful?

Below are separate tabs that cover different approaches to Asset Creation. Each method has pros and cons, but generally comes down to Final Result VS Optimisation.

Modular Assets

Good for creating highly optimised models with small filesize that can create much larger assets and variations of them such as different buildings or ships to name a few. Think of it like 3D Lego.

Instanced Assets

General assets that have medium quality, but can be used many times in a space such as trees to generic furniture. Depending on the platform, it is possible to position, rotate and scale each asset to imply they are different, at little to no extra cost.

Centrepiece Assets

Important or Key assets that can be given more resources such as polycount and texture resolution. Due to their higher resources you can't have too many of these in a space.

Modular Assets are more like parts of assets that you combine into larger assets. A simple example is creating separate parts as walls, doors, windows, roof etc. so that you can make many different buildings with very few parts.

As each building is made with fewer assets the overall filesize is significantly smaller, meaning it takes less time to download or offers more room for other assets or textures.

If you manage to reduce the material count for the parts as well, you can have unique buildings with reduced drawcalls which allow for better experiences overall with a higher frame rate.

A great approach to getting the drawcalls down is using Palette Texturing or Trim Sheets. We have a tutorial on these if you want to go into more detail at Asset Creation Approaches.

Asset Creation

The first thing we need to do is create some Modular Assets. It's always good to look at reference of the style you are going for, but also other modular kits that are out there. These can be found online on YouTube tutorials, or things like the Unity store and Unreal Marketplace.

Jigsaw puzzle approach

Design all elements to be able to fit into each other perfectly. A simple approach to this is to have key dimensions for all parts, so the wall height is the same as the pillar height, and all doors are the same dimensions.

If possible, try to keep to the metre or at least to 0.25m as these are common snapping levels in most engines or 3D Creation programs.

Another tool that is useful is snapping to vertices. Unity has a great tool using the 'V' key to snap an assets vertex to another vertex, so make sure that all your vertices line up accordingly as well. If you hold 'Ctrl' while moving the asset will snap to the parameters set in the snap tools.

If you are putting two walls together make sure that the texture is tileable, so it doesn't look like there is a seam. Either that, or put a pillar or detail over the top to make it less obvious. This is easier if you are using a tileable texture for the walls, but if you are using a trim sheet approach you may need to be a little more accurate with placement of the UVs.

Pivot location

It is generally recommended to put the pivot of all parts at the end, or the center, of the asset so things line up easily. Walls should have the pivot on the ground, at the end of the wall. That way when you line them up it is easy to get the pillar where it needs to be or continuing the wall is also easy when using the snapping tools.

Adding the pivot to the end is recommended as it is easy to set the pivot to the centre of an object in Unity. This allows the asset to be pivoted from both the end or from the centre.

Overlapping assets

It may not be ideal for a wall to have a pillar at each end as when you copy the asset, there will be an overlap of two pillars. It is better to have one end of a wall have the pillar (and perhaps the pillar on its own to use as needed) or keep the wall and corners/pillars separate.

Creating the Assets

In the examples above a single texture for walls, wood, rock detail, metal and roof tiles was used in order to reduce filesize and drawcalls. High polygon assets were created before baking them into a single square to create the trim sheet texture. The modular assets were then created with this trim sheet. As noted, Trim sheets are covered in the Asset Creation Approachesdocumentation.

Building a full building with a few modular assets is quick and easy. That said, the above is a simple example but could be extended to something much more complicated and varied with more parts and variations.

Instanced Assets is an approach to making assets that you will use more than once in a space such as environment assets like trees and bushes or generic furniture such as simple tables and chairs. As each experience is different you will need to set up the polycount, material count, and texture resolution accordingly depending on your target platform.

Depending on the platform you are using, you can load the one asset into the space and adjust the position, rotation and even scale of the copied assets and the engine will optimise the asset to count as one drawcall (if it has one material), improving the performance of the assets considerably.

Unity has lots of tools such as batching to optimise an environment. For more information on this, check out the Optimizing your Spacedoc. Some dedicated WebGL platforms may not.

A dining table might be used two or three times in an environment at most, therefore could have more polygons. A tree could be used considerably more, so the polycount should be considerably lower, depending on the target platform. There is no single answer to optimization as the range of platforms and styles is endless.

But sticking to the Excellent and Good categories in Asset Requirementsis a good idea to make sure your assets work well on all platforms in cluding Mobile and Standalone VR.

Centrepiece Assets are an approach to making assets that you will use fewer times in an experience. These are important or key assets in the space. Characters or environmental assets that a player would interact with or tell part of the story. Or perhaps an art piece that stands out (although an art gallery full of centrepiece objects may push lower end devices if not optimised well simply due to file size).

As the asset is important, it can take up a little more resources such as higher polycount, and texture resolution. But due to the higher polycount, you shouldn't use these too often in order to reduce rendering high polycount and materials (therefore increased drawcalls) in the experience.

Depending on the target platform, these assets could lean into the maximum category mentioned in the Asset Requirements, but if you are aiming for Mobile devices, you may need to optimise further.

Optimisation always comes down to the target platform and result. If the experience is small and there will be few users at any given time (therefore less VRMs to load in) you could easily go over the maximum requirements without much issue, especially for desktop experiences. But if the space is large, and/or has many users, or is meant to run well on mobile or standalone VR experiences, then you will need to keep the assets as optimised as possible.

Summary

In this tutorial we looked at the different types of assets and the pros and cons of each. With those approaches in mind, let's get into making the assets!

⬛
Creating Modular Assets with Trim Sheets YouTube Video...
Examples of Modular Assets...
Final result using the above assets...