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
  1. Tutorials
  2. Developer
  3. Rawrshak Dapp
  4. Deploying a Meta Asset

Static 3D Object Meta Asset

PreviousAudio Meta AssetNextUpdating a Meta Asset's Metadata

Last updated 3 years ago

Please refer to the for specific requirements of the Audio Meta Asset Framework before uploading an asset.

1. Find or Create the model file that you want to upload.

You can use any 3d modelling software and 3d model object file that is supported by Unity. For testing purposes, please you can find free 3d assets at .

A more complex model with high definition textures will be a larger file and will cost more to upload to Arweave. This also increases download time. Please check out to determine Arweave upload costs per megabyte or gigabyte.

2. Create a Unity project and install the Rawrshak Tools SDK

Please refer to on how to install the Rawrshak Tools SDK.

3. Move the asset into the Unity project

4. Select the model and drag into the scene. Click the model in the scene and make sure the Transform is set correctly.

Make sure that the Transform is set to the following at the start:

Position: (0,0,0)

Rotation: (0,0,0)

Scale: (1,1,1)

5. Correct the orientation

Make sure that the front of the asset is pointing towards the Z direction. The Z-direction is the Blue Arrow in the scene.

In this case, we flipped the Y axis 180 degrees.

6. Select the desired Bounding Box and place it in the scene.

Go to Assets\Rawrshak\Tools\Static3dObjectVerfier\Prefabs and select the desired bounding box. In this case, we're going to select Horizontal-Z shape bounding box. Drag that into the scene hierarchy to preserve the position.

Make sure to drag the prefab into the Hierarchy Tab, not the Scene tab. This preserves the position.

Make sure that the Position of the bounding box matches the initial Position of the prefab by selecting the prefab and comparing its position with the bounding box in the scene. In the example's case, it's position is at (0, 0.5, 0).

7. Add a Collider to the model

The box collider will be used by the bounding box to determine if the model is within the Asset Framework.

Select the largest mesh in the model hierarchy. Select 'Add Component' and search for a Collider component. In this case, we're using a simple box collider.

7.B. You may need to adjust the Collider if it doesn't fit the mesh correctly.

8. Select the Bounding Box object and set the Target Object to the object that has the box collider. Click "Load Target Object"

9. Re-scale and re-position the object until the object fits into the bounding box (Bounding Box is white)

10. Create a new Empty Game Object to be the parent of the prefab

Make sure the position of the new empty object is set to (0,0,0)

11. Move the model game object into the parent

12. Drag and drop the parent object into the Project Folder in order to create a prefab

13. Set the prefab's asset bundle name

14. Open the Asset Bundles Menu, select the Platform Targets, and click Generate Asset Bundles

Go to the menu and select: Rawrshak -> Asset Bundles

15. View the Asset Bundle Information

16. Upload it to Arweave

17. Connect to the Rawrshak Dapp and navigate your way to the Content Contract page

18. Fill in the information about the Asset

Value
Description

Pinata API Key & Secret

Name

Name of the meta asset

Description

Description of the meta asset

Image

Image src that will show up on Dapps and other front-ends

Tags

An array of tags categorizing the asset

Max Supply

The maximum instances for this asset that can ever be minted. If left at 0, it will automatically be converted to UINT256_MAX.

Royalty Receiver Address

The ethereum address that royalty fees will be sent to. If this is set to the Zero Address, the asset royalty will fall back to the default Content Contract royalty.

Royalty Rate

The percent royalty the developer will receive when this asset is traded in a marketplace that supports royalty fees.

Type

The Main type of meta asset. In this case, it should be set to Image

Subtype

NSFW

Notifies game developers and users of explicit content. Please mark this correctly.

Static 3D Object Asset Data

Value
Description

Name

This 'name' is reserved for the name of the prefab that will be loaded by the game based on the Asset Names in the Asset bundle Menu.

Engine

Engine that this file is packaged for. Currently only supports Unity.

Platform

The platform refers to the operating system that the game will be running on. Values include android, ios, windows, and webgl.

Render Pipeline

Render Pipeline 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). For now, we only support the built-in render pipeline so please set it to BRP.

Fidelity

Fidelity refers to the asset's quality, ease of download, and ease of loading. Values include low, medium, and high. Definition for Low, Medium, and High Fidelity is to be determined. For now, please set it to Low.

Shape

Shape refers to which type of default asset this object is expecting to replace.Values include small, medium, large, horizontalx, horizontaly, and horizontalz.

3d Static object file URI

Uri to the asset package stored in a decentralized database.

The Static 3D Object Meta Asset Framework has some requirements for each type and subtype. If your asset doesn't comply with the framework requirements, it may be unloadable by games.

Games expect the asset to follow the framework in order for them to load it.

To get the prefab name for Name section of the Static 3D Object Asset Data, you must open the Asset Bundle Menu, select the bundle name to view the information, and find the correct Asset name.

In this example, it's not "batmobile", instead it's "assets/batmobile-parent.prefab"

19. Fill in the Asset Information from the static 3d object information above.

20. Click Create Asset and wait for the Metadata to propagate

21. Wait for the transaction to process and Verify

If you're running into problems or find any issues, please join our discord and reach out. We'll help answer questions and fix issues as fast as we can.

Please check out in order to upload to Arweave.

This is needed for the metadata to be uploaded to IPFS. Please see the to set this up.

The subtype of the meta asset. Please refer to the page to get more info on which subtype to select. Defaults to square.

this tutorial
Community Channels
Pinata tutorial
Image Assets
3D Static Object Asset
Sketchfab
https://prices.ardrive.io/
this tutorial
Move the folder containing the asset information including the model and necessary textures into the project
Oriented the asset
Drag Desired bounding box into the hierarchy, into the scene.
Add a Box Collider
Adjust the Box Collider if necessary
Set the Target Object in the Object Bounds script in the Horizontal Z bounding box object
Model intersects with the bounding box.
Model is firmly inside the bounding box, the bounding box will turn green.
Create Empty object
Move the batmobile model into the Batmobile-parent object
Create a Prefab
Set Asset Bundle Name
Select StandaloneWindows and WebGL, and click the Generate Asset Bundle
Click the asset bundle and view the information
Create New Asset
Use the Prefab name for the Name section
Fill in 3D static object information
Click Create Asset
Wait for Json to propagate
Verify for the asset to show up in the contract