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

Was this helpful?

  1. Create
  2. Creating Assets

Optimizing your Mesh

This doc is an overview of the documentation within the category covering different ways to optimise your assets.

PreviousAsset Creation ApproachesNextGLB Considerations

Last updated 1 year ago

Was this helpful?

As MONA works on WebGL/Browser it is important to get your asset polygon count as low as possible while keeping it looking the quality that you would like. There are many ways to do this depending on the 3D Tools you have access to and willing to learn, as well as the time you have to do it.

The tutorials within this category will go over various approaches to optimising your assets.

Retopology is the approach of basically tracing the high polygon asset manually and creating a low polygon model. You have complete control where every polygon goes and you can make it 'neatly' with good edge loops so you can add/reduce polygons as needed much more easily. This also makes it much easier to unwrap for texturing.

This approach is basically required for characters as posing and animation usually plays a part, and the edge loops play an important role in how easy it is to rig, or apply to a skeleton, as well as how good it looks when posed or animated. So keep this technique in mind if you are looking to create VRM Avatars.

The simplest way to do this is by creating a separate model, a simple box or a single polygon plane for example, and then use the snap tools to place and extend polygons over the high polygon manually. This does take longer but the results are also much better and cleaner than using decimation or remesh tools.

As this is a more complicated approach, I will add two videos below. One is reducing a curved asset made in Rhino in Blender, and the other is one of the Workshops that cover optimizing Photogrammetry.

In some cases you may just want a lower polygon asset, but in other cases you may want to project they high polygon information onto the low polygon asset as a normal map texture, basically a texture that implies bump detail. This is covered in more detail in the next tab.

Baking will take the detail of the high polygon asset and project them onto the low polygon texture. This way the polycount can be considerably lower, while keeping the quality of the high polygon asset at the cost of filesize (due to the texture).

The following tutorial will go over using Blender.

Prerequisites

  • High polygon Assets such as a sculpt or subdivided mesh.

    • Can be single or multiple meshes.

  • Low polygon asset for use in the Mona space.

    • Has to be a Single mesh.

    • UVs should be unwrapped correctly.

  • Blender or Substance Painter.

Baking In Blender

In your blender scene you should have all your high polygon assets and your low polygon asset. The low polygon asset can only be a single mesh, so join your meshes into one asset if you need to.

Setting up the Texture and Material

First, we need to create a material and texture for us to bake onto. This could be done first or before baking.

  • Select the low polygon asset.

  • Go to the 'Material Properties' panel in Blender.

  • Assign a new material.

  • With the asset selected, go to the Shading menu at the top of the window.

  • In the Shader Editor or node graph section, go to 'Add / Texture / Image Texture' to add a new Image Texture node. Place it in the node graph.

    • You do not need to connect this node to anything unless you want to see the result in Blender.

  • Select '+ New' in the Image Texture node to make a new texture. Set to 1024x1024 or below (as a power of 2. eg. 512x512, 256x256 etc.)

  • Make sure the Image Texture node is selected on this Material before Baking later in the process.

Baking the High poly asset onto the low poly

  • Go to the Render Properties tab at the bottom right.

  • Change the renderer to 'Cycles'.

    • Blender defaults to using 'Eevee'.

    • This will enable the Bake tab in the options below.

    • Change the 'Device' to 'GPU Compute' if you have a good Graphics Card as this may be faster.

  • Expand the Bake tab in the Render Properties section.

  • Change the bake type to what you would like to bake from the high polygon assets.

    • 'Diffuse' or 'Normal' are two common examples but depends on what you need for asset creation.

    • 'Combined' is good to bake all the information into a single texture.

  • Select if you would like Direct or Indirect lighting. This considers the lighting in the scene.

  • Enable the 'Selected to Active' property, then expand the tab.

    • This bakes all of the selected high polygon assets into the last selected objects (such as your low polygon asset) texture that we created previously.

  • Adjust the 'Extrusion' and 'Max Ray distance' as needed.

    • These depend on your asset sizes, and adjust how the information is projected.

    • If the settings are incorrect you may get passthrough or incorrect bake information.

  • Select all your high polygon assets using 'shift' or 'ctrl'.

  • Select your low polygon asset last using 'shift' or 'ctrl'.

  • Select the 'Bake' button at the top of the Bake section in Render Properties.

  • Go to the Shading Menu and select the Image Texture Node (if you haven't already) you should see the bake results.

    • If you get any baking issues or mismatches, you can adjust the Extrusion and Max Ray Distance to improve the result.

    • Make sure that the high and low poly Normals are facing the right direction. You can check this by enabling the 'Face Orientation' option in the 'Overlays' menu at the top left of the viewport. Blue is the correct facing color.

    • Make sure that your low poly asset is smoothed.

    • If creating a single asset with a single texture, make sure that your low poly asset only has one Material. The bake will only apply to the selected Image Texture Node. You can utilise this for multi object/materials if needed.

  • Once you are satisfied with the results, go to the Image Editor in the bottom left window, and select the three lines at the top to show the 'View | Image' pulldown.

  • Go to 'Image / Save as...' in order to save your baked image to edit in your Image Creation software.

  • If you want to see the textures on your asset, connect the nodes to their respective parameter in the 'Principled BSDF' node.

    • Note if you are connecting the Normal map, you will need to add a 'Normal map ' node between the texture and the Normal parameter. This can be found in the 'Add / Vector/ Normal Map' menu.

    • Make sure to set the Viewport Shading to 'Material' or 'Rendered' at the top right in the Viewport to see the material result.

Many 3D Creation tools have added these features in one way or another. Zbrush, Blender, even Rhino (since version 7.0 with the Quad Remeshing tool) have tools that allow you to quickly reduce the amount of polygons on a mesh. The main issue with this approach is that the result is not 'clean'. So in some cases texturing or modifying the asset may be more difficult, and the result is possibly not as optimised as it could be.

So it depends on how important and big is the asset (at least to start) and how much time you are willing to spend on it.

The Decimate and Remesh modifier can be applied in the Modifier panel in Blender after selecting the model in Object mode. Once applied you can play with the large number of parameters to get the best effect on your mesh.

Decimate Modifier examples

Here are some examples of what Decimate modifier does to simple shapes.

Remesh Modifier Examples

And some more examples using the Remesh Modifier.

Remesh Examples (Object Data Properties panel)

The Remesh tool is in the Object Data Properties panel after selecting the mesh you'd like to remesh. it is sometimes more accurate than using the Remesh modifier.

Note the Sphere on the Remesh tool doesn't look any different as this asset did not work with the Remesh method. The state of the original asset will usually decide which method is the best to use.

Decimation/ Remesh Summary

These basic shapes are not the best examples of assets you would want to Decimate or Remesh, but they do show the results very clearly. And each asset requires it's own approach. There is rarely one method that suits all assets. The goal is the same however, your want the polygon count as low as possible, while keeping the shape of your asset.

There are many ways to do this in several different applications such as Blender (free), Substance Painter (Adobe subscription or on ) and .

⬛
Steam
Marmoset Toolbag
Optimizing an architectural asset in Blender.
Optimising a complex Photogrammetry asset
Setting up the Low Poly texture and material...
Setting up the Cycles renderer...
Baking the Normal map...
Applying the normal map to the material...
Adding a Decimate or Remesh modifier to your asset.
Using the Decimate Modifier in Blender
Using the Remesh Modifier in Blender
Using Blenders Remesh settings