VGOとは、新しい形の3Dデータフォーマットです。
Node
,Transform
,Rigidbody
,Collider
,Mesh
,Blend Shape
,Material
,Texture
といった3Dモデルの基本情報を保存することができます。- Unityでの使用を意識して
Human Avatar
,Spring Bone
,Animation
,Cloth
,Light
,Particle System
,Skybox
の情報も保存することができます。 - アプリケーションでの使用を意識して
Blend Shape Preset
の情報も保存することができます。 - ファイルフォーマットはベースにIFFチャンクを採用しています。
- 内部データとして
JSON
,BSON
,Binary
を使用します。 - 座標系は右手系、左手系のどちらのデータも持つことができます。
- 独自の定義拡張(チャンク、スキーマ)が可能な仕様となっています。
- 部分暗号化に対応した仕様となっています。
- リソースはファイル内に含めることを基本としていますが、別ファイルに切り出すこともできます。
- リソースは sparse でデータを圧縮することができ、またより強力な sparse を独自に定義しています。
- glTFとの直接の互換性はありません。
- Unity Editorへデータを展開することで glTF を含む他の形式への変換は可能です。
- テクスチャー内のイメージ タイプ (メディア タイプ / MIME タイプ) として、通常の
PNG
、JPEG
に加えてWebP
形式をサポートします。
拡張子 | 説明 | 必要 |
---|---|---|
.vgo | VGOファイルです。 | 必要 |
.vgk | 暗号化したVGOファイルを復号するためのキーファイルです。 | 任意 |
(.bin) | リソース ファイルです。 | 任意 |
VGOファイルを生成/出力/取り込み/ロードするためのツールです。
ボタンをクリックするだけで簡単にVGOファイルを出力できます。
VGOファイルをアセット内に配置するだけで簡単に取り込み、復元することができます。
少しのスクリプトを書くだけでVGOファイルをランタイムロードすることができます。
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();
}
}
最終更新日:2024年11月4日
編集者:十六夜おじいちゃん
Copyright (C) 2020 Izayoi Jiichan. All Rights Reserved.