From 46e14d7488e99309accf6f06dce0e80d56fcbc5b Mon Sep 17 00:00:00 2001 From: anythinglab Date: Mon, 22 Jul 2024 17:53:00 +0900 Subject: [PATCH 01/10] add usage doc --- game-engine/16_game-engine-usage-policy.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 game-engine/16_game-engine-usage-policy.md diff --git a/game-engine/16_game-engine-usage-policy.md b/game-engine/16_game-engine-usage-policy.md new file mode 100644 index 0000000..35d15e0 --- /dev/null +++ b/game-engine/16_game-engine-usage-policy.md @@ -0,0 +1,7 @@ +# Suteraにおけるゲームエンジンの利用方針 +## 特定のゲームエンジンに依存しない +Sutera は特定の組織に依存しない分散型 Social-VR の仕様です。これを実現するには、Sutera がゲームエンジンに依存するものであってはいけません。なぜならば、Unity といったゲームエンジンは特定の組織・企業に依存するものだからです。 +## 描画ツールとしてのみ用いる +Sutera において、ゲームエンジンは描画エンジンのしてのみ使用します。それ以外の依存部分は Sutera が策定し、それに従った実装する必要があります。例えば、動的なオブジェクトには WASM を用います (#13参照) 。 +## 公式実装はVanilla Clientのみ +Sutera VR Organization は、公式実装として Vanilla Client のみを実装します。Sutera VR Organization を含む特定の組織に依存するものであってはならないからです。 \ No newline at end of file From 8c5927854bb5a83bac7dfd2aa22710b59f73620e Mon Sep 17 00:00:00 2001 From: anythinglab Date: Mon, 22 Jul 2024 19:11:05 +0900 Subject: [PATCH 02/10] add sutera-package doc --- sutera-package/04_what-is-sutera-package.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sutera-package/04_what-is-sutera-package.md diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md new file mode 100644 index 0000000..9f979c2 --- /dev/null +++ b/sutera-package/04_what-is-sutera-package.md @@ -0,0 +1,15 @@ +# Suteraパッケージとは +## World や Avatar を取り扱う単位 +Suteraパッケージとは、SuteraVRにおいてWorldやAvatarを取り扱うためのファイルです。 +VRChatにおけるVRMと同じような概念で、 +- yamlファイル +- WASMバイナリファイル +- gltfファイル + +の3つを含み、これらのファイルをまとめて1つにしたものです。 +### yamlファイル +yamlファイルはワールドやアバターのメタデータ、例えば名前や座標などを記述します。 +### WASMファイル +動的なオブジェクトはWASMバイナリを用いて制御します。 +### gltfファイル +3Dの形状・シーンを扱うファイルです。キーフレームアニメーションやPBRマテリアルの表現が可能です。 \ No newline at end of file From d73ab6de44a7c06b3ce0d26749351af854d5df55 Mon Sep 17 00:00:00 2001 From: anythinglab Date: Mon, 22 Jul 2024 19:19:42 +0900 Subject: [PATCH 03/10] doc update: removed covered topic --- sutera-package/04_what-is-sutera-package.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index 9f979c2..936735c 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -1,15 +1,4 @@ # Suteraパッケージとは ## World や Avatar を取り扱う単位 Suteraパッケージとは、SuteraVRにおいてWorldやAvatarを取り扱うためのファイルです。 -VRChatにおけるVRMと同じような概念で、 -- yamlファイル -- WASMバイナリファイル -- gltfファイル - -の3つを含み、これらのファイルをまとめて1つにしたものです。 -### yamlファイル -yamlファイルはワールドやアバターのメタデータ、例えば名前や座標などを記述します。 -### WASMファイル -動的なオブジェクトはWASMバイナリを用いて制御します。 -### gltfファイル -3Dの形状・シーンを扱うファイルです。キーフレームアニメーションやPBRマテリアルの表現が可能です。 \ No newline at end of file +VRChatにおけるVRMと似た概念で、 3Dの形状・シーンの情報や各種メタデータ、制御するための実行ファイルが含まれています。 \ No newline at end of file From b67c83f7976adcb0450f7c04bc2506617dc03918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:32:16 +0900 Subject: [PATCH 04/10] Delete game-engine/16_game-engine-usage-policy.md --- game-engine/16_game-engine-usage-policy.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 game-engine/16_game-engine-usage-policy.md diff --git a/game-engine/16_game-engine-usage-policy.md b/game-engine/16_game-engine-usage-policy.md deleted file mode 100644 index 35d15e0..0000000 --- a/game-engine/16_game-engine-usage-policy.md +++ /dev/null @@ -1,7 +0,0 @@ -# Suteraにおけるゲームエンジンの利用方針 -## 特定のゲームエンジンに依存しない -Sutera は特定の組織に依存しない分散型 Social-VR の仕様です。これを実現するには、Sutera がゲームエンジンに依存するものであってはいけません。なぜならば、Unity といったゲームエンジンは特定の組織・企業に依存するものだからです。 -## 描画ツールとしてのみ用いる -Sutera において、ゲームエンジンは描画エンジンのしてのみ使用します。それ以外の依存部分は Sutera が策定し、それに従った実装する必要があります。例えば、動的なオブジェクトには WASM を用います (#13参照) 。 -## 公式実装はVanilla Clientのみ -Sutera VR Organization は、公式実装として Vanilla Client のみを実装します。Sutera VR Organization を含む特定の組織に依存するものであってはならないからです。 \ No newline at end of file From 37adfc3b2ad4e3321d5fc464152dd4ae05d7b90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:59:31 +0900 Subject: [PATCH 05/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 49 +++++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index 936735c..1f83474 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -1,4 +1,47 @@ # Suteraパッケージとは -## World や Avatar を取り扱う単位 -Suteraパッケージとは、SuteraVRにおいてWorldやAvatarを取り扱うためのファイルです。 -VRChatにおけるVRMと似た概念で、 3Dの形状・シーンの情報や各種メタデータ、制御するための実行ファイルが含まれています。 \ No newline at end of file + +Suteraパッケージとは、WorldやAvatarなどのデータを取り扱うためのファイルです。 +3Dの形状・シーンの情報や各種メタデータに加え、各種ギミックを制御するための実行ファイルが含まれています。 + +## Suteraパッケージの構成 + +Suteraパッケージの中身は、以下に列挙するもので構成されます。 + +### YAMLファイル + +Suteraパッケージは各種メタデータや3Dデータとの紐付けをYAMLファイルによって管理しています。 + +### glTFファイル + +Suteraパッケージが管理する3Dデータの規格として、glTFを選定しています。 +これはglTFがオープンな3Dモデルの規格のひとつであるためです。 + +### Wasmバイナリ + +WorldやAvatarのギミックを制御するための実行ファイルです。 +(参照: [Suteraが動的オブジェクトの形式としてWebAssembly(Wasm)を採用した理由](package/13_Why-Sutera-adopted-wasm-as-the-format-for-dynamic-objects_ja-jp.md)) + + +## 独自規格を定義する理由 + +他のほとんどのSocial-VRプラットフォームでは特定ゲームエンジンのクローズドな独自規格を用いています。 +しかし、この潮流に身を任せることは特定の環境への依存を避けるSuteraの方針と衝突します。 + +(参照: [Suteraの存在意義について](sutera/01-significance-of-sutera's-existence.md)) + +そこで、我々はSocial-VRのためのオープンな規格としてSuteraパッケージを策定することにしました。 + +## 想定される質問 + +### 独自環境へのロックインの再生産ではないのか? + +SuteraパッケージはYAML/glTF/Wasmなど他のオープンな規格を用いて、それ自身もオープンな規格として定義されています。 +そのため他の規格からSuteraパッケージへの変換は容易であり、その逆も難しいものではありません。 + +### VRMではいけないのか? + +VRMはオープンなアバターの規格として知られており、おそらくSuteraの理念と近しいものを共有していると思います。 +しかし、VRMはアバターギミックを実現するための実行ファイルを持たず、我々の要件を完全に満たしているとはいえません。 + +一方で、VRMもSuteraパッケージもglTFを利用して作られており、VRMからSuteraパッケージへの変換は容易に実現できるでしょう。 +そのため、これはVRMエコシステムを否定するものではなく、むしろその恩恵に預かる可能性を残しています。 From c2fbe8962b44df6b7ecef475c53b47d1651a65bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:04:48 +0900 Subject: [PATCH 06/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index 1f83474..2a0508a 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -36,11 +36,11 @@ WorldやAvatarのギミックを制御するための実行ファイルです。 ### 独自環境へのロックインの再生産ではないのか? SuteraパッケージはYAML/glTF/Wasmなど他のオープンな規格を用いて、それ自身もオープンな規格として定義されています。 -そのため他の規格からSuteraパッケージへの変換は容易であり、その逆も難しいものではありません。 +そのため他の規格からSuteraパッケージへの変換は容易であり、その逆も難しくありません。 ### VRMではいけないのか? -VRMはオープンなアバターの規格として知られており、おそらくSuteraの理念と近しいものを共有していると思います。 +VRMはオープンなアバターの規格として知られており、おそらくSuteraの理念と近しいものを共有しています。 しかし、VRMはアバターギミックを実現するための実行ファイルを持たず、我々の要件を完全に満たしているとはいえません。 一方で、VRMもSuteraパッケージもglTFを利用して作られており、VRMからSuteraパッケージへの変換は容易に実現できるでしょう。 From a37b02bbd73a4625d7c827b852236f0eef9e91c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:07:04 +0900 Subject: [PATCH 07/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 1 - 1 file changed, 1 deletion(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index 2a0508a..fd081e4 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -26,7 +26,6 @@ WorldやAvatarのギミックを制御するための実行ファイルです。 他のほとんどのSocial-VRプラットフォームでは特定ゲームエンジンのクローズドな独自規格を用いています。 しかし、この潮流に身を任せることは特定の環境への依存を避けるSuteraの方針と衝突します。 - (参照: [Suteraの存在意義について](sutera/01-significance-of-sutera's-existence.md)) そこで、我々はSocial-VRのためのオープンな規格としてSuteraパッケージを策定することにしました。 From bf881f65579b9ad6c3bd44c3b7c576a1f043efee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:10:57 +0900 Subject: [PATCH 08/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index fd081e4..1b42795 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -42,5 +42,5 @@ SuteraパッケージはYAML/glTF/Wasmなど他のオープンな規格を用い VRMはオープンなアバターの規格として知られており、おそらくSuteraの理念と近しいものを共有しています。 しかし、VRMはアバターギミックを実現するための実行ファイルを持たず、我々の要件を完全に満たしているとはいえません。 -一方で、VRMもSuteraパッケージもglTFを利用して作られており、VRMからSuteraパッケージへの変換は容易に実現できるでしょう。 +一方で、VRMとSuteraパッケージは共にglTFを利用して作られており、VRMからSuteraパッケージへの変換は容易に実現できるでしょう。 そのため、これはVRMエコシステムを否定するものではなく、むしろその恩恵に預かる可能性を残しています。 From fb13482d22310dbc7496e530e7d967270db651f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:40:42 +0900 Subject: [PATCH 09/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index 1b42795..c6cbdce 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -1,7 +1,7 @@ # Suteraパッケージとは Suteraパッケージとは、WorldやAvatarなどのデータを取り扱うためのファイルです。 -3Dの形状・シーンの情報や各種メタデータに加え、各種ギミックを制御するための実行ファイルが含まれています。 +3Dデータや各種メタデータに加え、ギミックを制御するための実行ファイルが含まれています。 ## Suteraパッケージの構成 From 5a4d1d4311575c9ba24e45fa10549b5f16499ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?See2et=20/=20=E3=81=97=E3=83=BC=E3=81=9C=E3=81=A3=E3=81=A8?= <61668366+See2et@users.noreply.github.com> Date: Sat, 26 Oct 2024 22:20:32 +0900 Subject: [PATCH 10/10] Update 04_what-is-sutera-package.md --- sutera-package/04_what-is-sutera-package.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sutera-package/04_what-is-sutera-package.md b/sutera-package/04_what-is-sutera-package.md index c6cbdce..004a8d6 100644 --- a/sutera-package/04_what-is-sutera-package.md +++ b/sutera-package/04_what-is-sutera-package.md @@ -1,6 +1,6 @@ # Suteraパッケージとは -Suteraパッケージとは、WorldやAvatarなどのデータを取り扱うためのファイルです。 +Suteraパッケージとは、WorldやAvatarなどのデータを取り扱うためのファイル群です。 3Dデータや各種メタデータに加え、ギミックを制御するための実行ファイルが含まれています。 ## Suteraパッケージの構成