Template - Requirements
Overview:
All oncyber templates, before customization, are glb models.
There is no real time lighting for Templates. Please keep this in mind.
Anyone can upload and user their own glb model as a space, without ever talking to or interacting with the oncyber team --- we believe in permisionless use.
If you do want to mint, distribute and/or monetize your glb spaces, we do have a QA process
All oncyber spaces follow the same standards, noting that if you upload your own space and do not choose to mint, distribute, or monetize your space, you do not necessarily need to adhere to all of the requirements but your space may not be treated equally when it comes to discovery, UI/UX, and expectations that it functions exactly as you want.
The core standards for oncyber spaces are:
glb file type
Properly named & parented meshes (further commented on below)
>60fps across a range of devices.
<40mb in file size
Backgrounds uploaded directly via our uploader (vs. a texture-embedded-sphere)
Metadata and details that adhere to the requirements laid out here
Organization Standard for your model
GLB Model. Export your model as a glb/gltf from any 3D modelling software.
Regardless, download blender a free 3D modeling program —- if you use another program, that is okay, but you’ll want to export your GLB from there and import it to Blender to make sure the file is organized properly
Review the sample file here to see how a properly organized file should look. You’ll have to organize your file in the same way to make sure that all features work correctly & your build will run smoothly.
You’ll need to create empty objects for each of the categories below and parent each component to the relevant empty object.
The following components are empty objects and every mesh in the scene needs to be parented to the relevant empty object depending on the behavior and usage you desire for the mesh to have.
important: all meshes need to be added to their respective parent objects.
DEV NOTE: currently placeholders are not supported for new templates. Legacy templates will still be supported. Users can still add assets to their spaces by dragging and dropping them directly into the space.
Other Features
Here’s a list of some features we currently support.
Backgrounds
You can upload a background directly in oncyber.io/uploader or oncyber.io/destinations. Instead of texturing a sphere and having a sphere surround your core model -- you must upload your background directly.
This will help with space performance and make sure that your space works well with other features. Your space is likely to encounter issues if you use a texture embedded sphere and it will not be approved for minting.
Water
You can apply a plane of water to a space directly in oncyber.io/uploader. Click the floor option and then ensure "Water" is toggled. You can change the scale and positon of the plane as well as the opacity and color of the water. You can see an example of a water-enabled space here.
This can be taxiing on performance, so please use wisely.
Reflector
You can apply a reflector plane to a space directly in oncyber.io/uploader. Click the floor option and then ensure "Reflector" is toggled. You can change the strength of the reflection, apply tiling, and apply an image for reflection. You can see an example of a reflector-enabled space here.
This can be taxiing on performance, so please use wisely. Sometimes PBR, as noted below makes more sense for that reason.
PBR
You can suffix mesh names in your glb with pbr. e.g. Pillar_001_pbr. to enable reflection in oncyber. You can then tweak metallic and roughness values in the material to achieve the effect that you like.
If you have an object with the _pbr suffix, you cannot have other meshes with the same material and not the suffix _pbr.
Visit the link below and check the spheres for an example using pbr with different metallic/roughness values.
Portal Doors
A portal door is a mesh that will be animated to show the opening and closing of the portal.
Visit the link below and press E to open the portal and see the portal door in action.
To add a portal you’ll need to put the door mesh in the display parent object and follow the naming convention in the parentheses:
Portal Door(Portal_Door_001) - a mesh that will be animated to show opening and closing of the portal
Portal Animations (Portal_Close_001, Portal_Open_001) - The open and close animations of the portal door.
Best practices
Unique Component Names
Do not name your components things like "floor" or "placeholder" or "portal" as this can cause conflicts with the engine.
Instanced Meshes
Any mesh with same geometry and material can be an instance mesh. Instance meshes greatly optimize a space’s performance, so using them is highly recommended.
To create an instance mesh in blender, instead of duplicating the mesh with Shift+D, use alt+D. This will automatically reduce the file size of your exported glb and allow us to detect the instanced meshes.
Lighting (& baking)
For performance purposes, we do not support live lighting, so any lighting must be "baked" into textures.
Optimize
We also highly recommend running your model for compression through https://gltf.report/ as it will make it more performant. You can choose to resize textures to 2048px although we recommend 1024px for file size and performance purposes.
Test
Once you've uploaded your space via oncyber.io/uploader, click "..." and "use now" --- actually use it like you're a user. Load it up with youtube videos. Add NFTs. Add pictures. Move around it in on mobile and a VR headset if you have it. USE YOUR SPACE. You'll learn a lot. Make adjustments. Make everyone happier.
Last updated