Rawrshak Documentation
  • Rawrshak
  • Rawrshak Platform
    • What is the Rawrshak Platform?
    • Platform Overview
    • Rawrshak Ecosystem
    • Networks
    • Litepapers
    • Community Channels
    • Partnerships & Integrations
  • Tutorials
    • Gamer
      • Setup
        • Metamask Wallet
        • Adding Optimism Kovan Network
        • Funding Testnet Wallet
      • Demo
    • Developer
      • Setup
        • Arweave Wallet
          • ArDrive Account
        • Pinata
        • Unity
      • Demo
      • Unity
        • Loading the Rawrshak Tools
        • Loading the Rawrshak SDK
        • 3D Static Object In-game Framework
        • Packaging an Asset
          • Static 3D Object Asset
          • Audio Asset
        • Custom Subgraph Query
        • Prefabs
          • Wallet
          • Subgraph
          • Ethereum Blockchain Query
          • Rawrshak Asset
      • Rawrshak Dapp
        • Deploy a Content Contract
        • Upload Data to Arweave
        • Deploying a Meta Asset
          • Image Meta Asset
          • Audio Meta Asset
          • Static 3D Object Meta Asset
        • Updating a Meta Asset's Metadata
        • Minting a Meta Asset
        • Selling a Meta Asset
      • 🚧Custom Subgraphs
    • Unity Asset Viewer
  • Gamers
    • Gamer Decentralized Applications
    • Gaming Marketplace
    • Meta Assets
    • Supported Wallets
  • Developers
    • Smart Contracts
      • Content Contracts
        • Content
        • Content Manager
        • Content Storage
        • Content Factory
      • Exchange Contracts
        • Exchange
        • Orderbook
        • Execution Manager
        • Royalty Manager
        • Erc20Escrow
        • NftEscrow
      • Libraries
        • LibAsset
        • LibOrder
      • Utilities
        • Address Resolver
    • Meta Asset Framework
      • Asset Metadata
      • Asset Types
        • Text Assets
        • Image Assets
        • Audio Assets
        • Static 3D Objects
    • Game Engines
      • Unity Game Engine
        • Unity SDK
        • Unity Tools
      • Unreal Game Engine
      • Godot Game Engine
    • Developer Decentralized Applications
    • Rawrshak Subgraphs
      • Entities
        • Content Subgraph
        • Exchange Subgraph
  • Governance
    • RAWR Token
      • Tokenomics
      • Contract Addresses
    • Rawrshak DAO
Powered by GitBook
On this page
  • Metadata
  • Schema
  • Default Properties
  • Properties
  • Asset Requirement
  • Subtypes
  • Trophy Subtype
  • Decoration Subtype
  1. Developers
  2. Meta Asset Framework
  3. Asset Types

Static 3D Objects

The Static 3D Object asset metadata framework creates a guide for static 3d object NFTs such as Trophies and Decorations. This contains the information for non-animated 3d asset NFTs. The proposed metadata format enables game developers to easily parse information for static 3d asset NFTs for in-game use. This static 3d object asset metadata framework should go in the assetProperties object in the Asset Metadata schema.

Static 3D Object Assets are assets that do not contain animation and must contain a model and materials packaged together.

These NFTs can be used in many different manners such as rewarding players with trophies alongside achievements, static character models, furniture, buildings, static animals, automobiles, or whatever type of in-game asset.

Metadata

Schema

{
    "title": "Asset Properties",
    "type": "object",
    "properties": {
        "textures": {
            "type": "array",
            "description": "An array of Prefab objects"
        }
    }
}

{
    "title": "Prefab",
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "name of the prefab that's stored in the package"
        },
        "engine": {
            "type": "string",
            "description": "engine which this package supports. Values include unity, unreal, and godot."
        },
        "platform": {
            "type": "string",
            "description": "platform refers to the operating system that the game is on. Values include android, ios, windows, and webgl."
        },
        "renderPipeline": {
            "type": "string",
            "description": "renderPipeline refers to the specific rendering pipeline that is set for a game engine. values on this include brp (built-in render pipeline), urp (universal render pipeline), or hdrp (high-definition render pipeline)."
        },
        "fidelity": {
            "type": "string",
            "description": "fidelity refers to the asset's quality, ease of download, and ease of loading. Values include low, medium, and high."
        },
        "shape": {
            "type": "string",
            "description": "shape refers to which type of default asset this object is expecting to replace.Values include small, medium, large, horizontalx, horizontaly, and horizontalz."
        },
        "uri": {
            "type": "string",
            "description": "uri to the asset package stored in a decentralized database."
        }
    }
}

Default Properties

Property

Game Engine

Unity

Platform

Windows Standalone 64

Render Pipeline

Built-in Render Pipeline

Fidelity

Low

Properties

Game Engine
Supported

Unity

Unreal

Godot

Render Pipelines
Supported

Built-in Render Pipeline (Unity)

Universal Render Pipeline (Unity)

High Definition Render Pipeline (Unity)

Platforms
Supported

Standalone Windows 64 (Unity)

Android (Unity)

iOS (Unity)

WebGL (Unity)

Asset Shape
Width
Height
Depth

Small Object

1
1
1

Medium Object

2
2
2

Large Object

4
4
4

Horizontal X Object

2
1
1

Horizontal Y Object

1
2
1

Horizontal Z Object

1
1
2

There isn't a clear asset specification when it comes to levels of fidelity. Currently, only "low" is supported.

Levels of Fidelity
Supported

Low

Medium

High

Asset Requirement

Static 3D objects have a few specific requirements. The asset must be oriented in the correct location and located at the correct position. Once the asset is loaded in-game, it will be instantiated in the orientation, scaling, and location of a default asset.

Asset Orientation

The asset's prefab must be oriented towards the +Z direction. The default camera is placed at (0,1,3) and oriented towards (0,0,0). The prefab's "front" must be facing the camera.

Asset Location

The asset's prefab must be defaulted to the origin. The asset must be above the origin (0,0,0). The testing bounding boxes and default assets are expecting the asset to be at the origin before the prefab is packaged.

Verification

The Rawrshak Unity tools has testing bounding boxes that help the asset creator determine if their 3d asset fits within the bounds of the expected asset shape. It will help make sure the asset is within the asset shape framework before it is set for packaging.

Subtypes

We define two static 3d object NFT frameworks, each with a different use case. Gamers should expect them to be used in a game for its designated use. The subtypes are divided based on use-case.

Trophy Subtype

Trophies are static 3d objects that are rewarded to users for achievements in-game.

Requirement

  • shape must be "small"

Sample

{
    ...
    "assetProperties": 
    [
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "windows",
            "fidelity": "low",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        },
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "ios",
            "fidelity": "low",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        },
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "android",
            "fidelity": "low",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        },
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "webgl",
            "fidelity": "low",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        },
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "windows",
            "fidelity": "medium",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        },
        {
            "name": "rawr-trophy",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "high",
            "fidelity": "medium",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        }
    ],
    ...
}

Decoration Subtype

Decorations are static 3d objects that are acquired by users. There is no specific shape requirement for these assets. They can be loaded anywhere and placed anywhere. There's no specific usage designated for this type of static 3d object.

Requirement

No Requirements

Sample

{
    ...
    "assetProperties": 
    [
        {
            "name": "rawr-figure",
            "engine": "unity",
            "renderPipeline": "brp",
            "platform": "windows",
            "fidelity": "low",
            "shape": "small",
            "uri": "arweave.net/<transaction-id>"
        }
    ],
    ...
}
PreviousAudio AssetsNextGame Engines

Last updated 3 years ago