Canvases Video Tutorial
A Canvas can display a linked image from the internet. It is also possible to display a live stream as well. The owner of the space can update these links after the space has been minted.
The supported files are as follows :
.gif (inc. animated gifs)
On top of displaying content, an external website can also be linked when you click on the canvas in the Mona Space.
A canvas can crop the image to fit or resize the canvas to fit the image vertically or horizontally.
A Frame is the optional objects that house the canvas. The Frame does not scale due to the potential skewing of the object and its textures.
Spaces currently load every image at once before the space is loaded, so it is important to keep canvas count, and image filesize as low as possible.
It is recommended to have no more than 50 canvases in a space. Images should be less than 2000x2000 pixels in size, and less than 5-10Mb. Of course, less is probably better for load times, but this is a good guide to keep under.
There have been issues noted with animated gifs of bigger than 10Mb for example. Depending on the optimisation of the space, the number and size of the canvases do play a part in how well it runs.
The Canvas Prefab is made up of a similar object structure as other artifacts.
Artifact and Canvas Hierarchy
- The Artifacts scene has an 'Artifacts' Gameobject/layer with the ArtifactLayer tag applied. Do NOT delete or move this scene or object. This is the only object in the scene with that tag.
- All Artifacts/Canvases need to be under, or a child of, the Artifacts GameObject.
- The 'UniqueCanvasName_#' under the CanvasPrefab object must have a unique name in your Space and have the 'Canvas' tag applied. All other objects in each Canvas prefab should have the 'Untagged' tag.
- The Canvas tagged object needs to have a mesh collider for the Canvas to be 'seen' by the avatar. It will throw an error if it is anything else, or missing.
- Each Canvas needs a Spawnpoint included. This will be used in future functionality.
- Each Canvas is its own Prefab object. Do not add multiple Canvases under one CanvasPrefab.
- Do not cover the Canvas tagged objects mesh collider with other colliders. The user will not be able to interact with the Canvas if there is another collider in front of it.
- Scale the Unique name Gameobject with the Canvas tag (not the parent CanvasPrefab object) to the desired boundaries of your dynamic image.
- The naming convention for naming should be "PascalCase" (i.e. Portal1 or TestPortal)
Currently, the Canvas has two methods of applying the image to the canvas :
- Resize the canvas vertically or horizontally to the image that it is linked to
- Crop the Image to the Canvas.
The bounds of the Canvas will be the maximum size of the Canvas in the Mona space. The Canvas will shrink vertically or horizontally depending on if the Image is portrait or landscape. Or the image will be cropped at the top and bottom, or the right and left, depending on if the Image is a portrait or landscape.
If you change the Unique Name object of a Portal, Artifact, or Canvas there is a chance all of these links will be reset. Keep that in mind when setting up your space.
For more information on how to link the canvas once it has been added to the space and uploaded onto your wallet, go to Add Images to a Canvas.
This tutorial is in the 'Own a Space' section as both builders or owners of spaces can update the links to a space.