1.2 3D Inscription (Experimental Stage)

This is an explanation of the attribute settings for 3D resources in Metaverse Resources. These attributes are still under experimental development, and any reference and usage at this stage are for testing purposes only and do not represent the final resource specification. Developers should assess the related issues at their own discretion.

Idea

3D resources are much more complex than 2D resources, and their file sizes are relatively larger as well. They also occupy more space on the blockchain and their configurations are also more complex.

This experimental protocol divides 3D models into:

  • ModelData (Model Data): The basic data of the model, generally in universal model file formats like OBJ, FBX, GLB, etc., or specific engine package resources such as UnityAsset, UEAsset, etc. This includes all vertices, normals, tangents, and other relevant data of the model.

  • MaterialData (Material Data): Base : If there is a complete material data format, it can be directly referenced.

    Textures : The texture resources referenced by the material.

    Shader : The shader resources on which the material depends.

    Animation : The animation data of the model, which records the keyframe information for one or more animations. This is usually highly dependent on the engine but can also use universal data formats. Physical : The physical properties of the model, used for physics calculations.

    Other : Other data of the model.

Some 3D resource data formats can not only store the basic data of the model but also materials, shaders, and even animations, such as GLB, UnityAsset, UEAsset, etc.

ModelData

MaterialData

Material settings can either directly reference a material resource format or be assembled through Texture and Shader references. Grouped under <meterialdata>.

Base

Texture

Shader

Shader is a critical dependency in material resources and determines the rendering. Developers can upload their custom shader code.

Due to differences in compilation and parsing methods across engines and platforms, the 'type' attribute is crucial.

About <shader> key:

Similar to 2D settings and <animation> keys:

Physical

Other

Last updated