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
  • Creating a Custom Canvas
  • Adding the Asset as a custom Canvas

Was this helpful?

  1. Create
  2. Building Spaces
  3. Improve your Space

Custom Canvases

PreviousVRM SwitcherNextEmbedded Video

Last updated 2 years ago

Was this helpful?

It is possible to customise your canvases in Mona to look like anything you want by creating a custom model for the canvas to be displayed on.

Both images and live streams can be put onto a custom canvas, but the result may vary due to how UVs work with each process. Using a Livestream on the canvas seems to be more in line with the mapping.

Creating a Custom Canvas

  • First, we need to create a model to place our canvas onto. For this tutorial, we can just create some simple examples. Note that you don't have to label the material canvas or make it red in the example below, these were just to show that it was one mesh with one material. Other examples of custom canvases include :

    • Creating multiple screens of the same livestream (as there can only be one live stream in a space)

    • Using animated gifs or a livestream to have an animated texture on an asset in your space

    • Combining livestreams from Touch Designer or other visualisation tools to add interesting dynamic environmental elements to your space

    • and many more...

Note that the asset needs to be one object with one material. Otherwise, the canvas will not work.

  • It is recommended to make sure that you 'Apply Transforms' or at least 'Apply Scale' to your mesh. This will make sure that your UVs will be scaled correctly. You can do this in Blender by using Ctrl + A in Object mode.

  • Unwrap the model as you see fit. The UV Square represents the canvas itself. If you have a 16:9 ratio stream, you need to stretch any rectangle's UV to the full square. In the example below, both the square and the rectangle are applied the same, this is the correct approach. Just a reminder that applying an Image (instead of a Livestream) may have results that are less predictable.

For more information on interesting approaches to Unwrapping UVs, you could check out the tutorial. By creatively utilising UVs on your model you could create very unique and interesting uses of canvas assets.

  • Once done, export as an .fbx to the Mona project in Unity.

Adding the Asset as a custom Canvas

  • In the Unity project, drag a Canvas into the Artifacts gameobject. We will use this as a template to build our custom canvas.

  • You may want to Unpack the prefab to reduce warnings about modifying the prefab.

  • Drag your custom model into the base Canvas prefab object. This object will replace the Canvas tagged object after we copy over the elements that make it a canvas.

  • There are three things you need to add to your model to make it recognised as a canvas.

    • Add the 'Canvas' tag to the asset

    • Add a Mesh Collider to the asset

    • Add the correct Mona Canvas material

  • Once done, delete the original Canvas Tagged object ' UniqueCanvasName_1'.

  • Don't forget to name your asset as you would like it to be recognised in the Canvas tools within the Mona space.

  • If you test the space in the playground the texture should be replaced with the 'Coming Soon' image. If so, your custom canvas is ready to go.

  • Note how the Coming soon image is not to adjusted on the first plane and rectangle, these would look correct using the Livestream feature on a canvas.

  • Once uploaded to your wallet you can assign the Image/Livestream URL as per usual. FOr more information you can go to :

    • Livestream - Add a Livestream to a Canvas

    • Images - Add Images to a Canvas

⬛
Make sure your assets are one mesh and one material
Apply Transforms to your model
Adjust the UV Maps as you see fit
Add a CanvasPrefab to the Artifacts gameobject
Unpack the Canvas Prefab to reduce warnings
Add your custom canvas mesh to the canvas prefab
Setting up the Custom Canvas Asset
Delete original canvas and rename your own
Test in the Playground