diff --git a/docs/site/contributing.md b/blog/2024-01-01-contributing.md similarity index 100% rename from docs/site/contributing.md rename to blog/2024-01-01-contributing.md diff --git a/docs/site/translation.md b/blog/2024-01-02-translation.md similarity index 100% rename from docs/site/translation.md rename to blog/2024-01-02-translation.md diff --git a/docs/site/build.md b/blog/2024-01-03-build.md similarity index 100% rename from docs/site/build.md rename to blog/2024-01-03-build.md diff --git a/docs/site/system.md b/blog/2024-01-04-system.md similarity index 100% rename from docs/site/system.md rename to blog/2024-01-04-system.md diff --git a/blog/2024-01-05-vrm_application.md b/blog/2024-01-05-vrm_application.md new file mode 100644 index 000000000..893f53b45 --- /dev/null +++ b/blog/2024-01-05-vrm_application.md @@ -0,0 +1,4 @@ +# 対応Applicationの登録 + +[こちら](/vrm/showcase) + diff --git a/blog/2024-01-12-blog-post.mdx b/blog/2024-01-12-blog-post.mdx index 928bf51eb..8d68700dd 100644 --- a/blog/2024-01-12-blog-post.mdx +++ b/blog/2024-01-12-blog-post.mdx @@ -31,14 +31,14 @@ https://github.com/vrm-c/vrm.dev/issues/315 [showcase](/showcase) -登録方法は **[こちら](/site/vrm_application)** です。 +登録方法は **[こちら](/vrm/showcase)** です。 PullReq じゃなくても issue で受け付けております。 以前に登録済みの方の文言変更などもどうぞ。 ## updated: 2024-01-17 -- [記事更新](/site/contributing) -- [翻訳](/site/translation) +- [記事更新](/blog/2024/01/01/contributing/) +- [翻訳](/blog/2024/01/02/translation/) sphinx から docusaurus への変更に付随する作業はこれで完了の予定です。 diff --git a/blog/2024-07-03.md b/blog/2024-07-03.md new file mode 100644 index 000000000..44e05b253 --- /dev/null +++ b/blog/2024-07-03.md @@ -0,0 +1,12 @@ +--- +title: 202407 +authors: [vrmc] +tags: [maintenance] +--- + +blog と site をまとめてサイト管理に。 + +- VRM-1.0 を UniVRM-1.0 に変更。一部 VRM 下に移動。 +- VRM Animation を VRM 下に移動。 +- VRM-1.0 の SpringBone の記事 + diff --git a/docs/site/kick_action.jpg b/blog/kick_action.jpg similarity index 100% rename from docs/site/kick_action.jpg rename to blog/kick_action.jpg diff --git a/docs/release/112/v0.124.0.md b/docs/release/112/v0.124.0.md index 2c3173552..57b340652 100644 --- a/docs/release/112/v0.124.0.md +++ b/docs/release/112/v0.124.0.md @@ -1,4 +1,4 @@ -# v0.124.0 FixBlendShapeBake +# 🔥 v0.124.0 FixBlendShapeBake https://github.com/vrm-c/UniVRM/releases/tag/v0.124.0 diff --git a/docs/release/112/v0.125.0.md b/docs/release/112/v0.125.0.md index a6628079f..aba0c77f5 100644 --- a/docs/release/112/v0.125.0.md +++ b/docs/release/112/v0.125.0.md @@ -1,5 +1,12 @@ # 🚧 v0.125.0 bones NullReferenceException +## 🔥 正規化バグ + +https://github.com/vrm-c/UniVRM/pull/2339 + +:::danger `v0.124` BlendShape Bake のバグ +::: + ## SkinnedMeshRenderer.bones に null が含まれていてもエクスポートできるようにする - [Do not throw an exception even if SkinedMeshRenderer.bones contains null. · Issue #2326 · vrm-c/UniVRM · GitHub](https://github.com/vrm-c/UniVRM/issues/2326) diff --git a/docs/release/112/v0.127.0.md b/docs/release/112/v0.127.0.md new file mode 100644 index 000000000..0a78eba57 --- /dev/null +++ b/docs/release/112/v0.127.0.md @@ -0,0 +1,2 @@ +# 🚧 v0.127.0 + diff --git a/docs/site/vrm_application.md b/docs/site/vrm_application.md deleted file mode 100644 index aba35cfd1..000000000 --- a/docs/site/vrm_application.md +++ /dev/null @@ -1,41 +0,0 @@ -# 対応Applicationの登録 - -以下の内容で [こちら](https://github.com/vrm-c/vrm.dev/issues) に `issue` で依頼をしてください。 -`PullRequest` にしなくても大丈夫です。 -内容がわかれば、JSON でなくても受け付けております。 -英語が省略された場合は、日本語をコピーします。 - -```js -{ - tag: 'CharacterPlatform', // 分類。空欄であればこちらで判断します - ja: { // 日本語 - title: 'ザ・シードオンライン', - url: 'https://virtualcast.jp/store/', - description: '`1.0` アップロード可。3D viewer は `1.0` 未対応', // markdown可能 - }, - en: { // english information - title: 'The Seed Online', - url: 'https://virtualcast.jp/store/', - description: '`1.0` can be uploaded. 3D viewer does not support `1.0`', // markdown可能 - }, - vrm: '1.0', // vrm-1.0 の対応状況. '', '1.0', '0.x only', '1.0 only' - // showcase の VRM カラムです -} -``` - -:::note tag の一覧 -- CharacterPlatform -- CharacterCreation -- ImporterExporter -- Streaming -- MotionCapture -- Animation -- Photography -- Metaverse -- Game -- WebBrowser -- Viewer -- UsingInternally -- Other -::: - diff --git a/docs/vrm/vrm_about.md b/docs/vrm/vrm_about.md index 46955d1f9..f6c8e8292 100644 --- a/docs/vrm/vrm_about.md +++ b/docs/vrm/vrm_about.md @@ -10,15 +10,18 @@ weight: 1 VRM では「人型」の「キャラクター・アバター」を取り扱うことができます。 -- **Unity で VRM ファイルを読み書きする標準実装(UniVRM)が提供されます** - - ➡️ [Download](https://github.com/vrm-c/UniVRM/releases) -- フォーマットは **glTF ベース** なので **クロスプラットフォーム** です。他のゲームエンジンや Web でも取り扱うことが可能です。 - - ➡️ [glTF](https://www.khronos.org/gltf/) +- フォーマットは **クロスプラットフォーム** な **[glTF](https://www.khronos.org/gltf/) ベース** です。ゲームエンジンや Web で取り扱うことが可能です。 + - ➡️ [plugins](http://localhost:3000/showcase/?flags=8) +- **Unity で VRM ファイルを読み書きする UniVRM が提供されます** + - ➡️ [UniVRM](https://github.com/vrm-c/UniVRM/releases) ### 内容 -- ヒューマノイドを定義しているのでモーションキャプチャーや人型向けの汎用のモーションを再生できます。 -- テクスチャやマテリアルなどすべてのデータが1ファイルにまとまり、**簡単に実行時にロード** できます。 +- ヒューマノイドを定義し、モーションキャプチャーなどのモーションを再生できます。 + + - ➡️ 関連して [VRM Animation](/vrma) があります。 + +- テクスチャやマテリアルも含めたすべてが1ファイルにまとまり、**簡単に実行時ロード** できます。 - 「喜怒哀楽」「瞬き」「あいうえお」といった標準の顔操作が定義されていて以下のようなことができます。 - ユーザー操作で表情を選択 - 音声からリップシンク @@ -71,8 +74,8 @@ VR(Virtual Reality)や VTuber などにおいて **「キャラクターや人 - 座標系が異なっていたり (Y-UP, Z-UP, 右手系、左手系)。 - スケールが異なっていたり(メートル単位、cm 単位)。 - 初期姿勢が異なっていたり(T-Pose, A-Pose, Z+向き、Z-向き)。 - - 表情の表現方法が異なっていたり(Morph, Bone, 識別方法)。 - - 骨(ボーン)の入れ方も状況によって異なっていたり(ボーンの識別方法、親子、リグ)。 + - 表情の表現方法が異なっていたり(Morph, Bone, 識別(命名)方法)。 + - 骨(ボーン)の入れ方も状況によって異なっていたり(ボーンの識別(命名)方法、親子、リグ)。 - 3D モデルデータを取り扱うフォーマットは、各社各様で仕様が必要以上に複雑であったり、必要な情報が足りなかったりしている。 - 対応ソフトが多い「FBX ファイル」はアプリケーションごとに読めたり読めなかったり。どのアプリケーションのどのバージョンで出力した FBX なのか…というのを気にしたかたも多いと思います。 - ゲームエンジンはアセットとして取り込むことはできても、ランタイムロードは想定されていないことが多い。 diff --git a/docs/vrm/vrm_development.md b/docs/vrm/vrm_development.md index 181745a57..ac70ed04d 100644 --- a/docs/vrm/vrm_development.md +++ b/docs/vrm/vrm_development.md @@ -6,20 +6,39 @@ weight: 6 # VRMで開発する -* [programming](/api/) +- [programming](/api/) ## VRMの特徴(開発者的な視点) -* 右手系Y-UPである ➡️ [Coordinate](/api/coordinate) -* メートル単位である ➡️ 1が、1メートルなのか、1cmなのか心配がありません -* 人型モデルでありボーン構成が決まっている ➡️ 汎用の人型モーションやモーションキャプチャーが使いやすい -* 初期姿勢が決まっている(Z-向きのT-Pose) ➡️ TPS的な用途でそのまま使えます -* 初期姿勢で回転・スケールが無いことが保証されている ➡️ 初期姿勢を加味したコードを書く負担が軽減できます -* 初期姿勢でボーンとMeshが重なることが保証されている(スキニングのBind行列に移動しか含まれていない) ➡️ Meshを加工する前にBakeするなどの負担が軽減できます -* 表情・視線操作が統一されている ➡️ [BlendShapeProxy](/api/0_58_blendshape) -* 物理でない揺れものがセットアップ済み ➡️ 物理と干渉せずに揺れるのでゲームのギミックと干渉したり、暴れたりしません -* VRの設定が含まれている ➡️ [FirstPerson](/api/firstperson) -* ライセンス情報が定義されている ➡️ モデルの持ち主の意思にそぐわない使用を回避できます +- `vrm-0.x` `vrm-1.0` 右手系Y-UPである ➡️ [Coordinate](/api/coordinate) +- `vrm-0.x` `vrm-1.0` メートル単位である ➡️ 1が、1メートルなのか、1cmなのか心配がありません +- `vrm-0.x` `vrm-1.0` 人型モデルでありボーン構成が決まっている ➡️ 汎用の人型モーションやモーションキャプチャーが使いやすい +- `vrm-0.x` `vrm-1.0` 初期姿勢が決まっている(`0.x Z-` `1.0 Z+` 向きのT-Pose) ➡️ TPS的な用途でそのまま使えます +- `vrm-0.x` 初期姿勢で回転・スケールが無いことが保証されている ➡️ 初期姿勢を加味したコードを書く負担が軽減できます + +:::tip +技術的に VRM-0.X は bake 済みの T-Pose を介して FK の humanoid motion を共有する仕組みです。 + +T-Pose bake をVrm-0.X 正規化と呼んでいます。 + +VRM-1.0 は bake しない T-Pose を介して humanoid motion を共有する仕組みです。 +そのため異なる T-Pose 同士での retarget 手法を VRM-Animation で補完しました。 + +- [VRM 1.0](/vrm1) +- [VRM Animation](/vrma) + +VRM-1.0 に対応するためには、FK retarget の実装が必要になります。 +VRM-0.x(各ボーンの rotation を代入するだけ) に比べて RunTime の実装難易度がやや高くなります。 + +- [ポーズデータの互換性について](https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm_animation-1.0/how_to_transform_human_pose.ja.md) + ::: + +* `vrm-0.x` 初期姿勢でボーンとMeshが重なることが保証されている(スキニングのBind行列に移動しか含まれていない) ➡️ Meshを加工する前にBakeするなどの負担が軽減できます +* `vrm-1.0` 初期姿勢でボーンとMeshが重なることが保証できない。Bind行列に制限を課すことができなかった。 +* `vrm-0.x` `vrm-1.0` 表情・視線操作が統一されている ➡️ [BlendShapeProxy](/api/0_58_blendshape) +* `vrm-0.x` `vrm-1.0` 物理でない揺れものがセットアップ済み ➡️ 物理と干渉せずに揺れるのでゲームのギミックと干渉したり、暴れたりしません +* `vrm-0.x` `vrm-1.0` VRの設定が含まれている ➡️ [FirstPerson](/api/firstperson) +* `vrm-0.x` `vrm-1.0` ライセンス情報が定義されている ➡️ モデルの持ち主の意思にそぐわない使用を回避できます 従来のゲーム開発のようにプロジェクトにアセットとして作り込むというよりは、 ランタイムにロードして動かす、という用途が想定されます。 @@ -30,14 +49,14 @@ weight: 6 UniVRM は Asset(Prefab) を作成せずに、シーン上に直接 GameObject を作ります。 ロードした GameObject は、Instanciate した Prefab と同様に扱うことができます。 -* [runtime load](/api/runtime-import) +- [runtime load](/api/runtime-import) ## UniVRMで ランタイムエクスポートする ランタイムで UniVRM の エクスポート機能 を使うことができます。 この機能を使って、キャラクタークリエーションツール を実装することができます。 -* [samples](/api/sample/) +- [samples](/api/sample/) `Assets/VRM.Samples/Scenes/VRMRuntimeExporterSample.unity` @@ -45,8 +64,10 @@ UniVRM は Asset(Prefab) を作成せずに、シーン上に直接 GameObject ## UniVRM以外の実装 -* https://github.com/ruyo/VRM4U -* https://github.com/saturday06/VRM_IMPORTER_for_Blender -* https://github.com/virtual-cast/babylon-vrm-loader/ -* https://github.com/pixiv/three-vrm/ -* https://github.com/V-Sekai/godot-vrm +[showcase](http://localhost:3000/showcase/?flags=8) + +- https://github.com/ruyo/VRM4U +- https://github.com/saturday06/VRM_IMPORTER_for_Blender +- https://github.com/virtual-cast/babylon-vrm-loader/ +- https://github.com/pixiv/three-vrm/ +- https://github.com/V-Sekai/godot-vrm diff --git a/docs/vrma/index.md b/docs/vrma/index.md index a668c1497..f6019ee6e 100644 --- a/docs/vrma/index.md +++ b/docs/vrma/index.md @@ -45,6 +45,8 @@ VRM アニメーションを利用することで、人型モデルに対する ## VRM アニメーションが使えるアプリケーション +[showcase](/showcase/?flags=2) + :::warning VRM アニメーションの仕様を検討するにあたり、多くのアプリケーションに draft 仕様への対応にご協力いただきました。VRM アニメーション仕様は正式リリースされたばかりです。draft 版に対応したアプリケーションを利用する場合、正式版の仕様と動作が異なったり、想定通りの動作をしない場合があります。 diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 394dccf17..165ebffe9 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -74,18 +74,6 @@ const config: Config = { sidebarId: "vrmSidebar", position: "left", }, - { - label: "VRM-1.0", - type: "docSidebar", - sidebarId: "vrm1Sidebar", - position: "left", - }, - { - label: "🎉VRM Animation🎉", - type: "docSidebar", - sidebarId: "vrmaSidebar", - position: "left", - }, { to: "/showcase", label: "ShowCase", position: "left" }, // { // label: "UniVRM-1.0", @@ -99,13 +87,18 @@ const config: Config = { sidebarId: "univrmSidebar", position: "left", }, + { + label: "UniVRM-1.0", + type: "docSidebar", + sidebarId: "vrm1Sidebar", + position: "left", + }, { label: "glTF", type: "docSidebar", sidebarId: "gltfSidebar", position: "left", }, - { to: "/blog", label: "Blog", position: "left" }, // { label: "UniVRM-API", @@ -120,12 +113,7 @@ const config: Config = { sidebarId: "releaseSidebar", position: "right", }, - { - label: "Site", - type: "docSidebar", - sidebarId: "siteSidebar", - position: "right", - }, + { to: "/blog", label: "Site", position: "right" }, { type: "localeDropdown", position: "right", diff --git a/sidebars.ts b/sidebars.ts index ef60517bb..5df255a3a 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -42,6 +42,33 @@ const sidebars: SidebarsConfig = { { type: "doc", id: "vrm/how_to_view_vrm" }, { type: "doc", id: "vrm/vrm_meta" }, { type: "doc", id: "vrm/vrm_development" }, + { + type: "category", + label: "Vrm-1.0", + items: [ + "vrm1/index", + "vrm1/changed", + "vrm1/gltf_details", + "vrm1/meta", + "vrm1/humanoid", + "vrm1/expression", + "vrm1/lookat_firstperson", + "vrm1/springbone", + "vrm1/emission", + "vrm1/mtoon", + "vrm1/constraint", + ] + }, + { + type: "category", + label: "VRM Animation", + link: { type: "doc", id: "vrma/index" }, + items: [ + "vrma/univrm-vrma/vrma-import", + "vrma/univrm-vrma/vrma-export", + "vrma/univrm-vrma/retarget", + ], + }, ], }, ], @@ -173,87 +200,43 @@ const sidebars: SidebarsConfig = { vrm1Sidebar: [ { type: "category", - label: "Vrm-1.0", - link: { type: "doc", id: "vrm1/index" }, + label: "UniVRM-1.0", + link: { type: "doc", id: "univrm1/index" }, items: [ - "vrm1/changed", - "vrm1/gltf_details", - "vrm1/meta", - "vrm1/humanoid", - "vrm1/expression", - "vrm1/lookat_firstperson", - "vrm1/springbone", - "vrm1/emission", - "vrm1/mtoon", - "vrm1/constraint", - { - type: "category", - label: "UniVRM-1.0", - link: { type: "doc", id: "univrm1/index" }, + "univrm1/urp", + { type: "doc", id: "univrm1/folder_structure" }, + { + type: "category", + label: "make VRM-1.0", + link: { type: "doc", id: "univrm1/vrm1_tutorial/index" }, items: [ - "univrm1/urp", - { type: "doc", id: "univrm1/folder_structure" }, - { - type: "category", - label: "make VRM-1.0", - link: { type: "doc", id: "univrm1/vrm1_tutorial/index" }, - items: [ - { - type: "doc", - id: "univrm1/vrm1_tutorial/first_export_from_fbx", - }, - { type: "doc", id: "univrm1/vrm1_tutorial/vrm_object" }, - { type: "doc", id: "univrm1/vrm1_tutorial/meta" }, - { type: "doc", id: "univrm1/vrm1_tutorial/expression" }, - { type: "doc", id: "univrm1/vrm1_tutorial/lookat" }, - { type: "doc", id: "univrm1/vrm1_tutorial/firstperson" }, - { type: "doc", id: "univrm1/vrm1_tutorial/springbone" }, - { type: "doc", id: "univrm1/vrm1_tutorial/material" }, - { type: "doc", id: "univrm1/vrm1_tutorial/constraint" }, - ], - }, { - type: "category", - label: "migrate to VRM-1.0 from VRM-0.x", - link: { type: "doc", id: "univrm1/migrate_vrm0/index" }, - items: [ - { type: "doc", id: "univrm1/migrate_vrm0/feature" }, - { type: "doc", id: "univrm1/migrate_vrm0/migrate_editor" }, - ], + type: "doc", + id: "univrm1/vrm1_tutorial/first_export_from_fbx", }, + { type: "doc", id: "univrm1/vrm1_tutorial/vrm_object" }, + { type: "doc", id: "univrm1/vrm1_tutorial/meta" }, + { type: "doc", id: "univrm1/vrm1_tutorial/expression" }, + { type: "doc", id: "univrm1/vrm1_tutorial/lookat" }, + { type: "doc", id: "univrm1/vrm1_tutorial/firstperson" }, + { type: "doc", id: "univrm1/vrm1_tutorial/springbone" }, + { type: "doc", id: "univrm1/vrm1_tutorial/material" }, + { type: "doc", id: "univrm1/vrm1_tutorial/constraint" }, + ], + }, + { + type: "category", + label: "migrate to VRM-1.0 from VRM-0.x", + link: { type: "doc", id: "univrm1/migrate_vrm0/index" }, + items: [ + { type: "doc", id: "univrm1/migrate_vrm0/feature" }, + { type: "doc", id: "univrm1/migrate_vrm0/migrate_editor" }, ], }, ], }, ], - vrmaSidebar: [ - { - type: "category", - label: "VRM Animation", - link: { type: "doc", id: "vrma/index" }, - items: [ - "vrma/univrm-vrma/vrma-import", - "vrma/univrm-vrma/vrma-export", - "vrma/univrm-vrma/retarget", - ], - }, - ], - - siteSidebar: [ - { - type: "category", - label: "site management", - // link: { type: 'doc', id: 'site/index' }, - items: [ - { type: "doc", id: "site/system" }, - { type: "doc", id: "site/build" }, - { type: "doc", id: "site/vrm_application" }, - { type: "doc", id: "site/contributing" }, - { type: "doc", id: "site/translation" }, - ], - }, - ], apiSidebar: [ { type: "category", diff --git a/src/data/users.ts b/src/data/users.ts index 1773339ec..d4e51a1eb 100644 --- a/src/data/users.ts +++ b/src/data/users.ts @@ -31,7 +31,7 @@ export const users: User[] = [ } }, { - "flags": F.CharacterPlatform | F.Vrm10, + "flags": F.CharacterPlatform | F.Vrm10 | F.VrmAnimation, "ja": { "title": "VRoid Hub", "url": "https://hub.vroid.com/", @@ -92,7 +92,8 @@ export const users: User[] = [ }, }, { - "flags": F.ImporterExporter | F.Vrm10, + "flags": F.ImporterExporter | F.Vrm10 | F.VrmAnimation, + 'platforms': P.WebBrowser, "ja": { "title": "@pixiv/three-vrm", "url": "https://github.com/pixiv/three-vrm/", @@ -107,7 +108,18 @@ export const users: User[] = [ }, }, { - "flags": F.ImporterExporter, + 'flags': F.VrmAnimation, + 'platforms': P.WebBrowser, + 'ja': { + 'title': 'bvh to VRMA', + 'url': 'https://vrm-c.github.io/bvh2vrma/', + 'description': '[github](https://github.com/vrm-c/bvh2vrma)', + 'preview': 'https://opengraph.githubassets.com/4155634754504a292119b967bd2b3117c462966846b7b517f7c6ae6e6d56f241/vrm-c/bvh2vrma', + }, + "updated": new Date("2024-07-03"), + }, + { + "flags": F.ImporterExporter | F.Vrm10 | F.VrmAnimation, "ja": { "title": "VRM Add-on for Blender", "url": "https://vrm-addon-for-blender.info/ja", @@ -256,7 +268,7 @@ export const users: User[] = [ "ja": { "title": "VDRAW", "url": "https://sites.google.com/view/vdraw/", - "preview": "https://lh5.googleusercontent.com/2HiytY5iIpMJSr7G-Aeb_TTyf9E6_pz-nT2k5gQW9DPIoxHQ3-_ot0KuXUEEumk8qnOalpgavR-mK5pb0wVWRBl5UfvErth5pHoXLreRupHlWb8B=w1280" + 'preview': 'https://lh5.googleusercontent.com/9k3G1z3KIYtk10upFNkK_G1oSwUX-KrDDTCrRWcjwBz-OcFTtwBzUw8OvqFAMfVUEIaRZcHzJ_EEEEHsRnEG5sCfEK5pCPOjsOxeYBsg43UGtq9r=w1280', }, }, { @@ -274,7 +286,7 @@ export const users: User[] = [ "ja": { "title": "Hitogata", "url": "https://sites.google.com/site/vhitogata/", - "preview": "https://lh5.googleusercontent.com/0xYwhzxl1v3PCq6RwCzfpmKEHWBUUEFJXxkxooGWH6BxlYpAfyeKyoXWomkZg_CNlDRfzcpNqHElhxe1qJ0sxdlNwtU1wrw7t07fAWnDZb4tb31M6AVPxtJ2uV7Xn0j28Q=w1280" + 'preview': 'https://lh3.googleusercontent.com/Uo0gtibPDHzbFRWm6Qq0zAjMvcQ5SyFpW1j9fl3B5wIYT--K1uzMVM5E9YbnIfK3HswuHD_9x_PAiyTAWSFzQSA3qyd3f9iTIlSmvwMkl_FZEokdudxxiXCnWrOINbrzHw=w1280', }, }, { @@ -283,6 +295,7 @@ export const users: User[] = [ "ja": { "title": "3tene", "url": "https://3tene.com/", + 'preview': 'https://3tene.com/wp-content/uploads/2019/08/3tenepro_3D_MV.jpg', }, }, { @@ -354,7 +367,7 @@ export const users: User[] = [ }, }, { - "flags": F.Streaming, + "flags": F.Streaming | F.VrmAnimation, "platforms": P.Windows, "ja": { "title": "VMagicMirror", @@ -406,7 +419,8 @@ export const users: User[] = [ "ja": { "title": "VSeeFace", "url": "https://www.vseeface.icu/", - "description": "Windows + optional hand tracking" + "description": "Windows + optional hand tracking", + 'preview': 'https://www.vseeface.icu/assets/img/VSeeFaceScreenshot500px.png', }, }, { @@ -645,7 +659,7 @@ export const users: User[] = [ "ja": { "title": "PlayAniMaker", "url": "https://sites.google.com/view/playanimaker", - "preview": "https://lh3.googleusercontent.com/JJL6RxVppw4CYUcUWwW2Ii0cNNzcoTg00B3v21n-Nzi0Opieb6wwAWcZzEriVN_JJ9dV-A=w16383" + 'preview': 'https://lh6.googleusercontent.com/NNe_8uXas0l_j2dshTw1PtlzPv2kzNKZCN0FbueTGQsGMaDPvPPIiAzolbxkxTM_YgpBsg=w16383', }, }, { @@ -761,7 +775,7 @@ export const users: User[] = [ }, }, { - "flags": F.Photography, + "flags": F.Photography | F.VrmAnimation, "platforms": P.Windows | P.iOS | P.Android, "ja": { "title": "VRMポージング", @@ -1019,7 +1033,7 @@ export const users: User[] = [ "ja": { "title": "Legend of the Shieldbearers", "url": "https://www.spacepupstudio.com/lots", - "preview": "https://lh4.googleusercontent.com/f776QxmrcZmhgIgx2OnAKnN-v_RFH_SgoGOP4fz5G7TxBe6aCUbBBeontNNp-ENz-CvskL3_ZSXf6l16TdtTSJ8=w16383" + 'preview': 'https://lh4.googleusercontent.com/NHSbg64qKoluqGoUgRcr4OVu9VEubswP65QGmTn11y8SWnTfefsQ_kkqYIfUZxCI4zKHAq4ZZ_cLkoGK4DOi_pM=w16383', }, }, { @@ -1229,6 +1243,7 @@ export const users: User[] = [ }, { "flags": F.ImporterExporter, + "platforms": P.WebBrowser, "ja": { "title": "Babylon VRM Viewer", "url": "https://github.com/virtual-cast/babylon-vrm-loader/", @@ -1335,6 +1350,7 @@ export const users: User[] = [ "ja": { "title": "カスタムキャスト", "url": "https://customcast.jp/", + 'preview': 'https://customcast.jp/apple-touch-icon.png', }, "en": { "title": "Custom Cast", @@ -1346,6 +1362,7 @@ export const users: User[] = [ "ja": { "title": "REALITY", "url": "https://reality.wrightflyer.net/", + 'preview': 'https://reality.app/img/ogp.png', }, }, { @@ -1392,18 +1409,6 @@ export const users: User[] = [ "description": "Unity library", } }, - { - "flags": F.Other, - "platforms": P.Windows, - "ja": { - "title": "テアトル", - "url": "https://teator.jp/", - "preview": "https://teator.jp/assets/ogp.jpg" - }, - "en": { - "title": "TEATOR", - } - }, { "flags": F.ImporterExporter, "ja": { @@ -1557,83 +1562,134 @@ export const users: User[] = [ }, // { - "flags": F.CharacterPlatform, + "flags": F.Metaverse, + "platforms": P.Windows | P.macOS | P.iOS | P.Android, "ja": { - "title": "DMM VR CONNECT", - "url": "https://connect.vrlab.dmm.com/" + "title": "dverso.io", + "url": "https://dverso.io", + "preview": "https://assets.dverso.io/logo.png" }, }, { - "flags": F.Game, + "flags": F.CharacterCreation, + "platforms": P.WebBrowser, "ja": { - "title": "BOW MAN", - "url": "https://bowman.vrlab.dmm.com/ja/", - "description": "Windows VR" + "title": "myVIPE", + "url": "https://vipe.io/myvipe", + "preview": "https://white-legal-elk-728.mypinata.cloud/ipfs/QmUwjmEeApqGVeSza8bV8zE91s3W82X7MpV7eQqRP7DT5w/myVIPE.jpg" }, }, + // 2024-05-23 { - "flags": F.Streaming, + "flags": F.Other, "ja": { - "title": "2DR", - "url": "https://2dr.info/", - "description": "iOS, Android" + "title": "ACUAH", + 'url': 'https://apps.apple.com/jp/app/acuah/id6477607472', + "description": `ユーザーカスタマイズ可能なキャラクターアシスタントアプリです。 +[Android](https://play.google.com/store/apps/details?id=com.csunitetech.acuah) +[iOS](https://apps.apple.com/jp/app/acuah/id6477607472) +`, + 'preview': 'https://acuah.info/ACUAH_570x270.png', }, + "updated": new Date("2024-05-23"), }, { - "flags": F.Photography, + "flags": F.CharacterCreation, + 'platforms': P.Windows, "ja": { - "title": "Vismuth", - "url": "https://vismuth.com/", - "description": "Android, iOS" + "title": "BoxBallBuilder", + "url": "https://fujisunflower.booth.pm/items/4083428", + "description": "簡単に単純な3Dデータ作成が出来るアプリです。", + 'preview': 'https://booth.pximg.net/c/620x620/cb0237fe-c742-4a81-a90a-6e3f920ad3de/i/4083428/49b36758-47d8-4022-baad-6775e2e09448_base_resized.jpg', }, + "updated": new Date("2024-05-23"), }, { - "flags": F.Game, + "flags": F.Streaming, + 'platforms': P.Windows, "ja": { - "title": "SEIYA", - "url": "https://wandv.jp/seiya/", - "description": "Windows VR" + "title": "MaiMirror", + "url": "https://fujisunflower.booth.pm/items/3752411", + "description": "配信用のアバター表示アプリです。", + 'preview': 'https://booth.pximg.net/c/620x620/cb0237fe-c742-4a81-a90a-6e3f920ad3de/i/3752411/fb455edb-dc11-4bbb-b8e1-7dbfa07e000e_base_resized.jpg', }, + "updated": new Date("2024-05-23"), }, { - "flags": F.Game, + "flags": F.VrmHelper, + "platforms": P.Windows, "ja": { - "title": "ラクキン", - "url": "https://rakugaki-kingdom.com/", - "description": "iOS, Android" + "title": "VRMMaterialEditor", + "url": "https://fujisunflower.fanbox.cc/posts/7820024", + "description": "VRM 0系の詳細なマテリアル編集を行うアプリです。", + 'preview': 'https://pixiv.pximg.net/c/1200x630_90_a2_g5/fanbox/public/images/post/7820024/cover/bKvhnsmEkIkLeoy2i3l9GLdn.jpeg', }, - "en": { - "title": "Rakugaki Kingdom", - } + "updated": new Date("2024-05-23"), }, { - "flags": F.Viewer, + "flags": F.VrmHelper | F.Vrm10, + "platforms": P.Windows, "ja": { - "title": "VRM Viewer", - "url": "https://vrm-viewer.yukimochi.io/", - "description": "Webブラウザ " + "title": "VRMRemaker", + "url": "https://fujisunflower.fanbox.cc/posts/7313957", + "description": "VRM0系とVRM1系の間で再編集を行うアプリ『VRMRemaker』です。", + 'preview': 'https://pixiv.pximg.net/c/1200x630_90_a2_g5/fanbox/public/images/post/7313957/cover/d5OMPUeud1AdEquWATMAC0GM.jpeg', }, - "en": { - "description": "Web browser" - } + "updated": new Date("2024-05-23"), }, { - "flags": F.Viewer, + "flags": F.VrmHelper, + "platforms": P.Windows, "ja": { - "title": "TSO AR Viewer", - "url": "https://seed.online/static/guide-arviewer", - "description": "Android, iOS " + "title": "VRMDressRoom", + "url": "https://fujisunflower.fanbox.cc/posts/5550686", + "description": "素体用のVRM 0系を衣装用のVRM 0系でお着替えするアプリです。", + 'preview': 'https://pixiv.pximg.net/c/1200x630_90_a2_g5/fanbox/public/images/post/5550686/cover/bO7Z4RbwnQwN3vHaVRBzunEg.jpeg', }, + "updated": new Date("2024-05-23"), }, { - "flags": F.UsingInternally, - "platforms": P.Windows | P.iOS | P.Android, + 'flags': F.VrmAnimation, + 'ja': { + 'title': 'AnimationClipToVrmaSample', + 'url': 'https://github.com/malaybaku/AnimationClipToVrmaSample', + 'description': 'Sample Project to Convert AnimationClip to VRM Animation (.vrma) in Unity', + 'preview': 'https://opengraph.githubassets.com/43a572fe49915f8f0b5e7afa6acb258e6f752e3f2ee82ba7da9cd28e23416e7c/malaybaku/AnimationClipToVrmaSample', + }, + "updated": new Date("2024-07-04"), + }, + { + 'flags': F.VrmHelper | F.VrmAnimation, + 'platforms': P.WebBrowser, + 'ja': { + 'title': 'VRM spring bone adjustment tool', + 'url': 'https://napharmonia.com/vrmtool/', + 'preview': 'https://napharmonia.com/wp-content/uploads/2023/03/VRMツール.jpg', + }, + "updated": new Date("2024-07-04"), + }, + { + 'flags': F.VrmAnimation, + 'platforms': P.WebBrowser, + 'ja': { + 'title': 'VRMA, BVHをアップロードして VRMを動かすやつ', + 'url': 'https://tfuru.github.io/vrma-loader-sample/', + }, + "updated": new Date("2024-07-04"), + }, + // + // dead links... + // + { + "flags": F.Other, + "platforms": P.Windows, "ja": { - "title": "Vカツ", - "url": "http://vkatsu.jp/", + "title": "テアトル", + "url": "https://teator.jp/", + "preview": "https://teator.jp/assets/ogp.jpg" }, "en": { - "title": "Vkatsu", + "title": "TEATOR", } }, { @@ -1648,82 +1704,83 @@ export const users: User[] = [ } }, { - "flags": F.Metaverse, - "platforms": P.Windows | P.macOS | P.iOS | P.Android, + "flags": F.UsingInternally, + "platforms": P.Windows | P.iOS | P.Android, "ja": { - "title": "dverso.io", - "url": "https://dverso.io", - "preview": "https://assets.dverso.io/logo.png" + "title": "Vカツ", + "url": "http://vkatsu.jp/", }, + "en": { + "title": "Vkatsu", + } }, { - "flags": F.CharacterCreation, - "platforms": P.WebBrowser, + "flags": F.Viewer, "ja": { - "title": "myVIPE", - "url": "https://vipe.io/myvipe", - "preview": "https://white-legal-elk-728.mypinata.cloud/ipfs/QmUwjmEeApqGVeSza8bV8zE91s3W82X7MpV7eQqRP7DT5w/myVIPE.jpg" + "title": "TSO AR Viewer", + "url": "https://seed.online/static/guide-arviewer", + "description": "Android, iOS " }, }, - // 2024-05-23 { - "flags": F.Other, + "flags": F.Viewer, "ja": { - "title": "ACUAH", - "description": `ユーザーカスタマイズ可能なキャラクターアシスタントアプリです。 -[Android](https://play.google.com/store/apps/details?id=com.csunitetech.acuah) -[iOS](https://apps.apple.com/jp/app/acuah/id6477607472) -`, - 'preview': 'https://acuah.info/ACUAH_570x270.png', + "title": "VRM Viewer", + "url": "https://vrm-viewer.yukimochi.io/", + "description": "Webブラウザ " }, - "updated": new Date("2024-05-23"), + "en": { + "description": "Web browser" + } }, { - "flags": F.Other, + "flags": F.Game, "ja": { - "title": "BoxBallBuilder", - "url": "https://fujisunflower.booth.pm/items/4083428", - "description": "簡単に単純な3Dデータ作成が出来るアプリです。", + "title": "ラクキン", + "url": "https://rakugaki-kingdom.com/", + "description": "iOS, Android" }, - "updated": new Date("2024-05-23"), + "en": { + "title": "Rakugaki Kingdom", + } }, { - "flags": F.Other, + "flags": F.Game, "ja": { - "title": "MaiMirror", - "url": "https://fujisunflower.booth.pm/items/3752411", - "description": "配信用のアバター表示アプリです。", + "title": "SEIYA", + "url": "https://wandv.jp/seiya/", + "description": "Windows VR" }, - "updated": new Date("2024-05-23"), }, { - "flags": F.VrmHelper, - "platforms": P.Windows, + "flags": F.Photography, "ja": { - "title": "VRMMaterialEditor", - "url": "https://fujisunflower.fanbox.cc/posts/7820024", - "description": "VRM 0系の詳細なマテリアル編集を行うアプリです。", + "title": "Vismuth", + "url": "https://vismuth.com/", + "description": "Android, iOS" }, - "updated": new Date("2024-05-23"), }, { - "flags": F.VrmHelper | F.Vrm10, - "platforms": P.Windows, + "flags": F.Streaming, "ja": { - "title": "VRMRemaker", - "url": "https://fujisunflower.fanbox.cc/posts/7313957", - "description": "VRM0系とVRM1系の間で再編集を行うアプリ『VRMRemaker』です。", + "title": "2DR", + "url": "https://2dr.info/", + "description": "iOS, Android" }, - "updated": new Date("2024-05-23"), }, { - "flags": F.VrmHelper, - "platforms": P.Windows, + "flags": F.Game, "ja": { - "title": "VRMDressRoom", - "url": "https://fujisunflower.fanbox.cc/posts/5550686", - "description": "素体用のVRM 0系を衣装用のVRM 0系でお着替えするアプリです。", + "title": "BOW MAN", + "url": "https://bowman.vrlab.dmm.com/ja/", + "description": "Windows VR" + }, + }, + { + "flags": F.CharacterPlatform, + "ja": { + "title": "DMM VR CONNECT", + "url": "https://connect.vrlab.dmm.com/" }, - "updated": new Date("2024-05-23"), }, ];