/VGO

VGO is a 3D data format for Unity that can store Mesh, Texture, Material, Collider, Rigidbody, Cloth and Particle information.

Primary LanguageC#MIT LicenseMIT

VGO

VGO is a new type of 3D data format.

3D Model VGO license wiki

Features

  • You can save basic information of 3D model such as Node, Transform, Rigidbody, Collider, Mesh, Blend Shape, Material, Texture.
  • You can also save the information of Human Avatar, Spring Bone, Animation, Cloth, Light, Particle System, Skybox for use in Unity.
  • You can also save the information of Blend Shape Preset for use in the application.
  • The file format uses IFF chunk as the base.
  • Use JSON, BSON, Binary as internal data.
  • The geometry coordinate system can have both right-handed and left-handed data.
  • It is a specification that allows its own definition extension (chunk, schema).
  • It is designed to support partial encryption.
  • Resources are basically included in a file, but they can be cut out in another file.
  • Resources can compress data with sparse, and have their own definition of the more powerful sparse.
  • There is no direct compatibility with glTF.
  • It is possible to convert to other formats including glTF by expanding the data in Unity Editor.

Experiments

  • Supports WebP format in addition to normal PNG, JPEG for image type (media type / MIME type) in textures.

Translation

Japanese.

File extension

extension description required
.vgo This is a VGO file. true
.vgk It is a key file to decrypt the encrypted VGO file. false
(.bin) Resource file. false

Tools

UniVGO

UniVGO Unity C#

A tool for creating/exporting/importing/loading VGO file.

You can easily export a VGO file with the click of a button.

image1

You can easily import and restore VGO files by just placing them in Assets.

image2

You can easily run-time load a VGO file by writing a few scripts.

    using System;
    using UnityEngine;
    using UniVgo2;

    public class VgoRuntimeLoader : MonoBehaviour
    {
        [SerializeField]
        private string _FilePath = string.Empty;

        private readonly VgoImporter _VgoImporter = new();

        private VgoModelAsset? _VgoModelAsset;

        private void Start()
        {
            _VgoModelAsset = _VgoImporter.Load(_FilePath);
        }

        private void OnDestroy()
        {
            _VgoModelAsset?.Dispose();
        }
    }

Wiki


Last updated: 16 September, 2023
Editor: Izayoi Jiichan

Copyright (C) 2020 Izayoi Jiichan. All Rights Reserved.