From aa2ba830833bf77ddbdcdbc943158d1a3675ddfb Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 15 Feb 2024 18:02:48 +0900 Subject: [PATCH 1/9] WIP api --- docs/api/load/index.md | 35 +---- .../api/runtime-import/RuntimeGltfInstance.md | 56 ++++++++ docs/api/runtime-import/await_caller.md | 2 + docs/api/runtime-import/gltfdata.md | 25 ++++ docs/api/runtime-import/import_glb.md | 17 +++ docs/api/runtime-import/import_urp.md | 4 + docs/api/runtime-import/import_vrm0.md | 12 ++ docs/api/runtime-import/import_vrma.md | 6 + docs/api/runtime-import/index.mdx | 15 ++ docs/api/sample/index.mdx | 6 + docs/api/vrm1_controlrig.md | 4 + docs/api/vrm1_load.md | 6 +- docs/vrm/vrm_about.md | 131 +++++++++--------- docs/vrm1/index.md | 8 +- sidebars.ts | 52 ++++--- 15 files changed, 258 insertions(+), 121 deletions(-) create mode 100644 docs/api/runtime-import/RuntimeGltfInstance.md create mode 100644 docs/api/runtime-import/await_caller.md create mode 100644 docs/api/runtime-import/gltfdata.md create mode 100644 docs/api/runtime-import/import_glb.md create mode 100644 docs/api/runtime-import/import_urp.md create mode 100644 docs/api/runtime-import/import_vrm0.md create mode 100644 docs/api/runtime-import/import_vrma.md create mode 100644 docs/api/runtime-import/index.mdx create mode 100644 docs/api/sample/index.mdx diff --git a/docs/api/load/index.md b/docs/api/load/index.md index 6291424c9..b3ab5519b 100644 --- a/docs/api/load/index.md +++ b/docs/api/load/index.md @@ -2,38 +2,5 @@ `v0.118` -`UniGLTF.GltfData` の生成、 -`UniGLTF.GltfData` からシーンを構築するの 2 ステップになっています。 +[RuntimeImport](/api/runtime-import/index) -## `UniGLTF.GltfData` の生成 - -:::info UniGLTF.GltfData は vrm-0, vrm-1, glb, gltf で共通です -::: - -:::tip UniGLTF.GltfData の生成はスレッドセーフです -Unity にアクセスしません。 -::: - -[glb_import](/api/0_82_glb_import) - -## `UniGLTF.GltfData` からシーンを構築する - -### glb(gltf) - -[glb_import](/api/0_82_glb_import) - -### vrm-0.x - -GltfData から VrmData を生成し、 -VrmData から シーンを構築します。 - -TODO: - -`Assets/VRM/Runtime/IO/VrmUtility.cs` に使用例があります。 - -### vrm-1.0 - -GltfData から Vrm10Data を生成し、 -Vrm10Data から シーンを構築します。 - -[vrm-1.0](/api/vrm1_load) diff --git a/docs/api/runtime-import/RuntimeGltfInstance.md b/docs/api/runtime-import/RuntimeGltfInstance.md new file mode 100644 index 000000000..5bef14825 --- /dev/null +++ b/docs/api/runtime-import/RuntimeGltfInstance.md @@ -0,0 +1,56 @@ +# RuntimeGltfInstane + +ヒエラルキーの root にアタッチされます。 +リソースの破棄について。 + +## ShowMeshes + +```cs + public void ShowMeshes() + { + foreach (var r in VisibleRenderers) + { + r.enabled = true; + } + } +``` + +## EnableUpdateWhenOffscreen + +```cs + public void EnableUpdateWhenOffscreen() + { + foreach (var skinnedMeshRenderer in SkinnedMeshRenderers) + { + skinnedMeshRenderer.updateWhenOffscreen = true; + } + } +``` + +## Dispose + +関連するリソースを破棄します。 + +```cs + public void Dispose() + { + if (this != null && this.gameObject != null) + { + UnityObjectDestroyer.DestroyRuntimeOrEditor(this.gameObject); + } + } +``` + +:::tip GameObject.Destory でも破棄できます + +```cs + void OnDestroy() + { + foreach (var (_, obj) in _resources) + { + UnityObjectDestroyer.DestroyRuntimeOrEditor(obj); + } + } +``` + +::: diff --git a/docs/api/runtime-import/await_caller.md b/docs/api/runtime-import/await_caller.md new file mode 100644 index 000000000..a8e889e1e --- /dev/null +++ b/docs/api/runtime-import/await_caller.md @@ -0,0 +1,2 @@ +# import の最適化について + diff --git a/docs/api/runtime-import/gltfdata.md b/docs/api/runtime-import/gltfdata.md new file mode 100644 index 000000000..af217ce1f --- /dev/null +++ b/docs/api/runtime-import/gltfdata.md @@ -0,0 +1,25 @@ +# GltfData + +`.glb`, `.vrm`, `.vrma` など から GltfData をロードします。 + +## `byte[]` からロードする + +## TextAsset からロードする + +## filepath からロードする + +## WebGL で url からロードする + +## GltfData から GameObject を生成する。 + +GltfData が入手できたら中身に合わせた GameObject 生成へと分岐してください。 + +:::info UniGLTF.GltfData は vrm-0, vrm-1, glb, gltf で共通です +::: + +:::tip UniGLTF.GltfData の生成はスレッドセーフです +Unity にアクセスしません。 +::: + +## GltfData から vrm-0.x, vrm-1.0 vrma を判別する + diff --git a/docs/api/runtime-import/import_glb.md b/docs/api/runtime-import/import_glb.md new file mode 100644 index 000000000..4715516f3 --- /dev/null +++ b/docs/api/runtime-import/import_glb.md @@ -0,0 +1,17 @@ +# load glb + +[GltfData](/docs/api/runtime-import/gltfdata) から Unity ヒエラルキーを構築します。 + + + +:::info glTF形式 +glTF は glb と比べてアプリケーションからの扱いが煩雑です。 +複数のファイルへのアクセスが発生するためです。 +mobile 環境、webgl 環境などディレクトリへの自由なアクセスが制限される環境で +は特に難しくなります。 + +特別な目的が無い場合は gltf よりも glb をお勧めします。 +(vrm や vrma は glb の拡張子を変更したものです) +::: + +[glb_import](/api/0_82_glb_import) diff --git a/docs/api/runtime-import/import_urp.md b/docs/api/runtime-import/import_urp.md new file mode 100644 index 000000000..8fa382002 --- /dev/null +++ b/docs/api/runtime-import/import_urp.md @@ -0,0 +1,4 @@ +# import URP + +オプションで urp material への差し替えができます。 + diff --git a/docs/api/runtime-import/import_vrm0.md b/docs/api/runtime-import/import_vrm0.md new file mode 100644 index 000000000..955e619f8 --- /dev/null +++ b/docs/api/runtime-import/import_vrm0.md @@ -0,0 +1,12 @@ +# load vrm-0.x + +[GltfData](/docs/api/runtime-import/gltfdata) から vrm-0.x ヒエラルキーを構築します。 + + + +:::warning + +vrm-1.0 のモデルはロードできません。 + +::: + diff --git a/docs/api/runtime-import/import_vrma.md b/docs/api/runtime-import/import_vrma.md new file mode 100644 index 000000000..2f46fdecd --- /dev/null +++ b/docs/api/runtime-import/import_vrma.md @@ -0,0 +1,6 @@ +# load VRM-Animation + +[GltfData](/docs/api/runtime-import/gltfdata) から VRM-Animation ヒエラルキーを構築します。ー + + + diff --git a/docs/api/runtime-import/index.mdx b/docs/api/runtime-import/index.mdx new file mode 100644 index 000000000..1c7f702d5 --- /dev/null +++ b/docs/api/runtime-import/index.mdx @@ -0,0 +1,15 @@ +import DocCardList from '@theme/DocCardList'; + +# Runtime Import + +glb vrm vrma などのファイルを入力、 +UnityEngine.GameObject のヒエラルキーを出力とする手順です。 +2ステップに別れています。 + +はじめにファイルか中間データ[UniGLTF.GltfData](/api/runtime-import/gltfdata) の生成をします。この手順は glb, vrm-0.x, vrm-1.0, vrm-animation で共通です。 + +次に glb, vrm-0.x, vrm-1.0, vrm-animation などの glTF 拡張に応じた +GameObject 構築手順を実行します。 + + + diff --git a/docs/api/sample/index.mdx b/docs/api/sample/index.mdx new file mode 100644 index 000000000..a663db694 --- /dev/null +++ b/docs/api/sample/index.mdx @@ -0,0 +1,6 @@ +import DocCardList from '@theme/DocCardList'; + +# Samples + + + diff --git a/docs/api/vrm1_controlrig.md b/docs/api/vrm1_controlrig.md index 138ddb4b9..f14396bbd 100644 --- a/docs/api/vrm1_controlrig.md +++ b/docs/api/vrm1_controlrig.md @@ -1,3 +1,7 @@ +--- +tags: [vrm1] +--- + # ControlRig 正規化されていないモデルを操作する VRM-1.0 は正規化が仕様から除かれました。 diff --git a/docs/api/vrm1_load.md b/docs/api/vrm1_load.md index 413b3c763..f5588b285 100644 --- a/docs/api/vrm1_load.md +++ b/docs/api/vrm1_load.md @@ -1,4 +1,8 @@ -# RuntimeLoad +# load vrm-1.0 + +[GltfData](/docs/api/runtime-import/gltfdata) から vrm-1.0 ヒエラルキーを構築します。 + + `Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs` diff --git a/docs/vrm/vrm_about.md b/docs/vrm/vrm_about.md index 300fb44cb..f5616b667 100644 --- a/docs/vrm/vrm_about.md +++ b/docs/vrm/vrm_about.md @@ -8,98 +8,97 @@ weight: 1 ## 「VRM」とは -VRMでは「人型」の「キャラクター・アバター」を取り扱うことができます。 +VRM では「人型」の「キャラクター・アバター」を取り扱うことができます。 -- **UnityでVRMファイルを読み書きする標準実装(UniVRM)が提供されます** - - ➡️ [Download](https://github.com/vrm-c/UniVRM/releases) -- フォーマットは **glTF ベース** なので **クロスプラットフォーム** です。他のゲームエンジンやWebでも取り扱うことが可能です。 - - ➡️ [glTF](https://www.khronos.org/gltf/) +- **Unity で VRM ファイルを読み書きする標準実装(UniVRM)が提供されます** + - ➡️ [Download](https://github.com/vrm-c/UniVRM/releases) +- フォーマットは **glTF ベース** なので **クロスプラットフォーム** です。他のゲームエンジンや Web でも取り扱うことが可能です。 + - ➡️ [glTF](https://www.khronos.org/gltf/) ### 内容 -* ヒューマノイドを定義しているのでモーションキャプチャーや人型向けの汎用のモーションを再生できます。 -* テクスチャやマテリアルなどすべてのデータが1ファイルにまとまり、**簡単に実行時にロード** できます。 -* 「喜怒哀楽」「瞬き」「あいうえお」といった標準の顔操作が定義されていて以下のようなことができます。 - - ユーザー操作で表情を選択 - - 音声からリップシンク - - ランダムで瞬き - - フェイシャルキャプチャーを割り当てる - - ➡️ [BlendShape](/univrm/blendshape/univrm_blendshape) -* 3種類のマテリアル(シェーダー)に対応しています。 - - ➡️ [PBR](/univrm/shaders/univrm_standard) - - ➡️ [Unlit](/univrm/shaders/univrm_unlit) - - ➡️ [MToon](/univrm/shaders/shader_mtoon) -* 3種類の視線制御に対応しています。 - - ➡️ [ボーンによる視線](/univrm/lookat/lookat_bone) - - ➡️ [BlendShapeによる視線](/univrm/lookat/lookat_blendshape) - - ➡️ [TextureUVによる視線](/univrm/lookat/lookat_uv) -* キャラクターの髪の毛などについて、物理エンジンに依存しない「揺れ物」標準実装があります。 - - ➡️ [SpringBone](/univrm/springbone/univrm_secondary) -* VRでのアバター利用のための **「一人称視点再現のための情報」** があります。 - - ➡️ [FirstPerson](/univrm/firstperson/univrm_firstperson) -* タイトル・作者名などのメタ情報だけでなく、サムネイルや **VR時代に即した、アバターに特化したライセンス情報** も内包できます。 - - ➡️ [Meta](/vrm/vrm_meta) +- ヒューマノイドを定義しているのでモーションキャプチャーや人型向けの汎用のモーションを再生できます。 +- テクスチャやマテリアルなどすべてのデータが1ファイルにまとまり、**簡単に実行時にロード** できます。 +- 「喜怒哀楽」「瞬き」「あいうえお」といった標準の顔操作が定義されていて以下のようなことができます。 + - ユーザー操作で表情を選択 + - 音声からリップシンク + - ランダムで瞬き + - フェイシャルキャプチャーを割り当てる + - ➡️ [BlendShape](/univrm/blendshape/univrm_blendshape) +- 3 種類のマテリアル(シェーダー)に対応しています。 + - ➡️ [PBR](/univrm/shaders/univrm_standard) + - ➡️ [Unlit](/univrm/shaders/univrm_unlit) + - ➡️ [MToon](/univrm/shaders/shader_mtoon) +- 3 種類の視線制御に対応しています。 + - ➡️ [ボーンによる視線](/univrm/lookat/lookat_bone) + - ➡️ [BlendShape による視線](/univrm/lookat/lookat_blendshape) + - ➡️ [TextureUV による視線](/univrm/lookat/lookat_uv) +- キャラクターの髪の毛などについて、物理エンジンに依存しない「揺れ物」標準実装があります。 + - ➡️ [SpringBone](/univrm/springbone/univrm_secondary) +- VR でのアバター利用のための **「一人称視点再現のための情報」** があります。 + - ➡️ [FirstPerson](/univrm/firstperson/univrm_firstperson) +- タイトル・作者名などのメタ情報だけでなく、サムネイルや **VR 時代に即した、アバターに特化したライセンス情報** も内包できます。 + - ➡️ [Meta](/vrm/vrm_meta) 単なるモデルデータに留まらず、**アプリケーションでロードしてすぐに使える** ように構成されています。 -## VRMで何ができるの? +## VRM で何ができるの? -**異なるVRM対応アプリケーション間で同じアバター(3Dモデル)データを使う** ことができます。 +**異なる VRM 対応アプリケーション間で同じアバター(3D モデル)データを使う** ことができます。 対応アプリケーションが揃うと、こんな未来になるはず… -* VRM対応のキャラクタ製作ツールで自分のアバターをつくる -* 自分のアバターで生放送をしていたら、友達も生放送をはじめたので友達の放送に凸しに行った -* 放送後そのままVRゲームを起動、自分のアバターでVR世界を探索 -* ゲームに飽きたのでVR世界のチャットへ移動。同じアバターで友達と遊ぶ -* 翌日はVR勉強会にVR参加。もちろんアバターはいつもの姿で +- VRM 対応のキャラクタ製作ツールで自分のアバターをつくる +- 自分のアバターで生放送をしていたら、友達も生放送をはじめたので友達の放送に凸しに行った +- 放送後そのまま VR ゲームを起動、自分のアバターで VR 世界を探索 +- ゲームに飽きたので VR 世界のチャットへ移動。同じアバターで友達と遊ぶ +- 翌日は VR 勉強会に VR 参加。もちろんアバターはいつもの姿で -**「自分の」アバター(3Dモデルデータ)を「VRM」で取り扱うことで、いろいろなVRM対応アプリケーションやゲームで相互に行き来できるようになります。** +**「自分の」アバター(3D モデルデータ)を「VRM」で取り扱うことで、いろいろな VRM 対応アプリケーションやゲームで相互に行き来できるようになります。** -生放送、動画作成、ゲーム、チャット…。いまは複数のVR世界が分断されています。この分断されたVR世界をつなぐための第一歩、それがVRMなのです。 +生放送、動画作成、ゲーム、チャット…。いまは複数の VR 世界が分断されています。この分断された VR 世界をつなぐための第一歩、それが VRM なのです。 ![VRM applications](/images/vrm/VRM_WorldConnect_jp.png) +➡️ [VRM ファイルが使えるアプリケーション](/showcase) - ➡️ [VRMファイルが使えるアプリケーション](/showcase) +## VRM の特徴 -## VRMの特徴 - -VR(Virtual Reality)やVTuberなどにおいて **「キャラクターや人型のアバター(の3Dモデル)」** を取り扱おうとした場合、従来はアプリケーションごと・3Dモデルデータごとに独自のシステムを開発したり細かく調整したりする必要がありました。 +VR(Virtual Reality)や VTuber などにおいて **「キャラクターや人型のアバター(の 3D モデル)」** を取り扱おうとした場合、従来はアプリケーションごと・3D モデルデータごとに独自のシステムを開発したり細かく調整したりする必要がありました。 というのも… -* 3Dモデルを作成したクリエイターや使用したモデリングツールによって「作法」が違いデータの状況がひとつひとつ異なっている。 - * 座標系が異なっていたり (Y-UP, Z-UP, 右手系、左手系)。 - * スケールが異なっていたり(メートル単位、cm単位)。 - * 初期姿勢が異なっていたり(T-Pose, A-Pose, Z+向き、Z-向き)。 - * 表情の表現方法が異なっていたり(Morph, Bone, 識別方法)。 - * 骨(ボーン)の入れ方も状況によって異なっていたり(ボーンの識別方法、親子、リグ)。 -* 3Dモデルデータを取り扱うフォーマットは、各社各様で仕様が必要以上に複雑であったり、必要な情報が足りなかったりしている。 - * 対応ソフトが多い「FBXファイル」はアプリケーションごとに読めたり読めなかったり。どのアプリケーションのどのバージョンで出力したFBXなのか…というのを気にしたかたも多いと思います。 - * ゲームエンジンはアセットとして取り込むことはできても、ランタイムロードは想定されていないことが多い。 -* 3Dモデルデータを「アバターとして使用する」という観点で見ると、必要な情報が整備されていません。 - * たとえば一人称視点を実現するための視点の位置はどこか、一人称視点から表示するためには頭部の表示を消さなければならないが、具体的にはどこを消すのか、など。 - -VRでのアバター表現が急速に盛り上がるなか、こういった状況が続くとアプリケーション開発者にとっても、3Dモデルクリエイターにとっても二度手間三度手間になってしまいます。 +- 3D モデルを作成したクリエイターや使用したモデリングツールによって「作法」が違いデータの状況がひとつひとつ異なっている。 + - 座標系が異なっていたり (Y-UP, Z-UP, 右手系、左手系)。 + - スケールが異なっていたり(メートル単位、cm 単位)。 + - 初期姿勢が異なっていたり(T-Pose, A-Pose, Z+向き、Z-向き)。 + - 表情の表現方法が異なっていたり(Morph, Bone, 識別方法)。 + - 骨(ボーン)の入れ方も状況によって異なっていたり(ボーンの識別方法、親子、リグ)。 +- 3D モデルデータを取り扱うフォーマットは、各社各様で仕様が必要以上に複雑であったり、必要な情報が足りなかったりしている。 + - 対応ソフトが多い「FBX ファイル」はアプリケーションごとに読めたり読めなかったり。どのアプリケーションのどのバージョンで出力した FBX なのか…というのを気にしたかたも多いと思います。 + - ゲームエンジンはアセットとして取り込むことはできても、ランタイムロードは想定されていないことが多い。 +- 3D モデルデータを「アバターとして使用する」という観点で見ると、必要な情報が整備されていません。 + - たとえば一人称視点を実現するための視点の位置はどこか、一人称視点から表示するためには頭部の表示を消さなければならないが、具体的にはどこを消すのか、など。 + +VR でのアバター表現が急速に盛り上がるなか、こういった状況が続くとアプリケーション開発者にとっても、3D モデルクリエイターにとっても二度手間三度手間になってしまいます。 この状況を改善するために -* 「人型のキャラクターやアバター」において -* 細かいモデルデータの差違を吸収・統一し -* アプリケーション側の取り扱いを簡単にする +- 「人型のキャラクターやアバター」において +- 細かいモデルデータの差違を吸収・統一し +- アプリケーション側の取り扱いを簡単にする -**「VRM」は、このような特徴のある「プラットフォーム非依存の3Dアバターファイルフォーマット」を提案する** ものです。 +**「VRM」は、このような特徴のある「プラットフォーム非依存の 3D アバターファイルフォーマット」を提案する** ものです。 -## VRMファイルを投稿する・探す +## VRM ファイルを投稿する・探す -* [The Seed Online](https://seed.online/) -* [VRoid Hub](https://hub.vroid.com/) -* [ニコニ立体](https://3d.nicovideo.jp/) +- [The Seed Online](https://seed.online/) +- [VRoid Hub](https://hub.vroid.com/) +- [ニコニ立体](https://3d.nicovideo.jp/) -でVRMファイルの投稿ができます。 -ニコニ立体では[こちら](https://3d.nicovideo.jp/search?word_type=tag&word=VRM)から投稿されたVRMモデルデータのリストが見られます。ライセンスなど確認して使ってみてください。 +で VRM ファイルの投稿ができます。 +ニコニ立体では[こちら](https://3d.nicovideo.jp/search?word_type=tag&word=VRM)から投稿された VRM モデルデータのリストが見られます。ライセンスなど確認して使ってみてください。 -なお、ニコニ立体にご自分でVRMファイルを投稿する際、「バーチャルキャスト連携」を有効にすると[バーチャルキャスト](https://virtualcast.jp/)から利用できます。 +なお、ニコニ立体にご自分で VRM ファイルを投稿する際、「バーチャルキャスト連携」を有効にすると[バーチャルキャスト](https://virtualcast.jp/)から利用できます。 -## VRMを使うアプリケーションを開発する +## VRM を使うアプリケーションを開発する - ➡️ [VRMで開発する](/vrm/vrm_development) +➡️ [VRM で開発する](/vrm/vrm_development) diff --git a/docs/vrm1/index.md b/docs/vrm1/index.md index e0c734c50..6d7bdf542 100644 --- a/docs/vrm1/index.md +++ b/docs/vrm1/index.md @@ -14,12 +14,18 @@ date: 2021-08-05 VRM 1.0 は、2022 年 9 月にリリースされました。 VRM 0.x の構成が整理されてまとまり毎に分割されました。 -コアとなり humanoid, meta などを含む [VRMC_vrm-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm-1.0) 、トゥーン表現マテリアルの [VRMC_materials_mtoon-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_materials_mtoon-1.0), +コアとなる humanoid, meta, expression などを含む [VRMC_vrm-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm-1.0) 、トゥーン表現マテリアルの [VRMC_materials_mtoon-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_materials_mtoon-1.0), ゆれものの [VRMC_springBone-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_springBone-1.0) です。 また、新規に [VRMC_node_constraint-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0) を追加しました。 :::info + +[VRMC_vrm_animation-1.0](/vrma/) を開発中です。 + +::: + +:::note [VRMC_materials_hdr_emissiveMultiplier-1.0](https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_materials_hdr_emissiveMultiplier-1.0) は内容が [KHR_materials_emissive_strength](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md) とほぼ同じであったため、 こちらを使うことにして利用されていません。 ::: diff --git a/sidebars.ts b/sidebars.ts index c4303b1ba..f12676d28 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -245,6 +245,7 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Sample", + link: { type: "doc", id: "api/sample/index" }, items: [ { type: "doc", id: "api/sample/SimpleViewer" }, { type: "doc", id: "api/sample/RuntimeExporterSample" }, @@ -260,19 +261,38 @@ const sidebars: SidebarsConfig = { }, { type: "category", - label: "Load", - link: { type: "doc", id: "api/load/index" }, + label: "RuntimeImport", + link: { type: "doc", id: "api/runtime-import/index" }, items: [ - { type: "doc", id: "api/vrm1_load" }, - { type: "doc", id: "api/vrm1_migration" }, - { type: "doc", id: "api/vrm1_controlrig" }, - { type: "doc", id: "api/0_87_runtime_import" }, - { type: "doc", id: "api/0_82_runtime_import" }, - { type: "doc", id: "api/0_82_glb_import" }, - { type: "doc", id: "api/0_79_runtime_import" }, - { type: "doc", id: "api/0_77_runtime_import" }, - { type: "doc", id: "api/0_68_runtime_import" }, - { type: "doc", id: "api/0_44_runtime_import" }, + "api/runtime-import/gltfdata", + "api/runtime-import/RuntimeGltfInstance", + "api/runtime-import/import_glb", + "api/runtime-import/import_vrm0", + { + type: "category", + label: "vrm-1.0", + link: { type: "doc", id: "api/vrm1_load" }, + items: [ + { type: "doc", id: "api/vrm1_migration" }, + { type: "doc", id: "api/vrm1_controlrig" }, + ], + }, + "api/runtime-import/import_vrma", + "api/runtime-import/import_urp", + "api/runtime-import/await_caller", + { + type: "category", + label: "api更新情報", + items: [ + { type: "doc", id: "api/0_87_runtime_import" }, + { type: "doc", id: "api/0_82_runtime_import" }, + { type: "doc", id: "api/0_82_glb_import" }, + { type: "doc", id: "api/0_79_runtime_import" }, + { type: "doc", id: "api/0_77_runtime_import" }, + { type: "doc", id: "api/0_68_runtime_import" }, + { type: "doc", id: "api/0_44_runtime_import" }, + ], + }, ], }, { @@ -312,16 +332,10 @@ const sidebars: SidebarsConfig = { }, { type: "category", - label: "Update", + label: "Other", items: [ { type: "doc", id: "api/api_update" }, { type: "doc", id: "api/0_36_update" }, - ], - }, - { - type: "category", - label: "Other", - items: [ { type: "doc", id: "api/runtime_resource_management" }, { type: "doc", id: "api/0_95_dispose" }, { type: "doc", id: "api/0_95_highlevel" }, From 117bf6fd6e5b6cd9a3d7655951607f55e3650999 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 15 Feb 2024 18:59:09 +0900 Subject: [PATCH 2/9] update --- docs/site/kick_action.jpg | Bin 0 -> 45162 bytes docs/site/translation.md | 10 ++++ docs/vrma/index.md | 79 +++++++++++++++++++----------- docs/vrma/univrm-vrma/index.md | 4 -- docs/vrma/univrm-vrma/retarget.md | 2 + docusaurus.config.ts | 12 ++--- sidebars.ts | 1 - 7 files changed, 69 insertions(+), 39 deletions(-) create mode 100644 docs/site/kick_action.jpg delete mode 100644 docs/vrma/univrm-vrma/index.md diff --git a/docs/site/kick_action.jpg b/docs/site/kick_action.jpg new file mode 100644 index 0000000000000000000000000000000000000000..067f2016879ded5041c575598db1af639db0afa3 GIT binary patch literal 45162 zcmeFZ2{@bEw>TVibfBdzYA8CWk|?S*rfBONQE>#B5K~o^NMoL9X-fw+oD#GoREbC; z)DSamwX`Togo>f27-FcYsuW+^^Sk%{@BQv~pL?JCyU+K#|L5#H&-=bvYY%I$cdh;I zz4lsr`{VX7U_TUM1_1~N0008~A7Hy5@GD@y$X?OC!uv({i5@(#UtC&6R{GE(X-!2X zc@^+kLj(P@db$@bIlwObW@DnOXN9-6alYd2;cjH%8|rg4#KFzo^+zQF2M!*TmXy|z zmDO-H)-!hfFQ@I7fCIY)vw!(0C~zFG@+tyLJlh68vR{fDqsZ?!ZAI@nf3SaKxje>`sZ}XD+(=+V&29Nth6a}c;x2wX1o-~V)H zad{C~z09LKMP;eYq_XJE-Y5V7e5!!{2_3)~B`e8WYRK)-e|0u4Ti@9H;KSDr@1vgn z6C-vNV|YP_QfbkbnJo6HqDZmRiE;|#G#;jY zvKyo=-s#-?R^-#Y@sMGFF4-**BOJh>Bkzn8u;o!NrRWgGo+$<_fZL{5)*{3gZe}=i zb!8e!w`h_?=NlBNy!ofb`FBGwa!zHIhno2isHD@o$0&IGH-)y!q+BX2j{M48-)?UA z@njn3^;T8VDm-fBxv{oy=)gc*6Tyvg zz`nq!a2tb(%@fP>&iOJwn*a!UuBOaQcTv$9aUh0OsDt(WA1(8f zXiNFZSjm))`G#3@-tzL&?lFLn07E3K;-D{i*U41pm+t^VY*0cnjoQYt6b%Wn%s6TV z;8%xEnXzXV!7@@nw!Nnc0apNkeV+ZO9B2yWk2j#a;ibyqcSixjf3_i**VDx0B`j#R|hI;w;p=( ziAlu~)u$IJXjP3T(O6t5c5rshLRYvd;zq}V$$|dva@sW8+(u(pO8}gM^58&XPCV=J zKOZ^lrvzpmv?Gph;h!6d^w#$UF}ZVj!=KJ;JetT%?P?Ukg=;OVsKLLz`0k$mOK!i} zsfu?uNVWNWHI9i|nX7Tk@1M3VecJ|%^jktXgn=|F|0Ug&%Tx|*>g`K<5qz+e4*rlP z9Gl}nB%Z-4$Tu>fQpx4ms-`fw)0S&@xNyquMrXV%`pebQnx=vfQie60%$(K9+Sll) zZuw++_2%8f-dBeP@W9?|iyn%N=$VHOZ#vvI0=5C7ef@~wGd5bhHf1@L4WJIweKd5{ z9(P;H*hSX%2g zAgl7Dy$-Ks-A31Ez?!m)2FKlh=ybEKPn;v+r6gNZ)wvB&O;jEG+#&iac2))2&Iq^X z1s}{U)q@yhCBPUN*2w4mD3@0j`WngIh&9*s@LxBJG$UV*7WWxF!m8Fhd~9#uIEKJv zL@K7QbK;qonquC29aG`4CF3Gw4b_s-TPc~3`&4VdNvpCQNBS2bk#BU+tASHBA@hTm zJX20hnr{O-KEMs41SI$)4*g-Q7G6!ahgTYqdS)?U_oAgKb{h~>ybZwKysubjqcd~O zn9h8dHyLATAU^hHd}ZeRHX!j{_!KDe7GfI^{C+vsknXvHvm5flv*i$>uiHb;HX6!5 z+3ecbEb7bj1*}dwF<&gS<>sTP7S&xA4HoWcj~B&mN>v;>|2n9&ocat-KQTmD^PN0m zTyd6RzlMixsMBaEGL{_Nr;W$vSFLj(@wkksP6|4m7+H!h-~4Df*s-XmUZk#ZlH!j> z$&Pm%|E5^urJLhkuz-H9(G$m5y((Ye<*lBBhj{OQ??Bdg6@I_AuO+_Bi&3cP?=_UB z*Vx#&tUV9@JjeTVyVuM&En$A9EavhwaXRO&8 z(W>&v1GY-~VlmXrEZSp^1kr=l%r^R+mPQRcuD3p!ld)4FqcwW)3+7qlI80O1{>;zV z2J$5h_kgZQ<l09Ry&7#GJNp?2uuw`-o|WxT`#?z_QmDvBVJPvx#w*~%qgAR{?@m3#2Gio z2J6)5E?knyZ}_amJvX|YT_SI!ZFqlyY(N@DCsq*@A<7=N+VF?7HNvYE>SUCp{63#Z z38N0meZcX$haH~N6z;Z>chAy-4w{FCLj%t%$VP~rcQNgna=N~{ z4WJ9@-576vQHPAYk8RIrJm)Tp8?TD=cjjg-6u#aDun={1X}ch)k0*1#i8?l#77sRU z+1G8w_txmOheo=x`^&~$TtWLIhv+RuqKTRfFXn=`0be4wPI&5a4l%tIT5}*^imJ!= zq)B%}5tVI#9tDRBS93rxc8`gP>5aYlGT5ku#ks@7A2?tdA=O;VC*NfzW-~D5k#CS5 zy$MemUnJW`So?1|uXnJT^NF5jx~Umwn? zx7sdu)j#`mvMk_wRYR_4Uw25n8?WA-Kfq+ar>cfCMe+?bZ z$JA&&Q9=1^ZlU^s+A%e?b?U~WPNuT3FWKFKB5U4*BlAn=D}(@4r`)GeL2C5Avq>>} z+W@?q4lI07R%|qTJ2NoHAuu z8+-N9dCiy}Bt5sTxj+Y}Q@S#`h46;udN|-^0}7qamm&v}ya%}N{C~aX(BaY2Yyv92 zS?Yb;VH=>>#}Tii+&~1E;BgIbwlHn56@GKIx3;Oh&YnTJ0p%LUv%}Ph@L@vnI};z9 z;t~ophg>#-E;tn6m2SyZhq#5iO%dkEwY@KLX|B?&EMM`y-m>mNb4+pEAvd7uo}0=! zWemFG$LqYFZVCnzd#6)wr0CJEEPuDkVrJEl=SsX&Arbp}@+&F$oI-pqvQT5p0xE1} zUp|nje>zKOQLA6e-Md5w4|*sbn`xsf`Lbgzz9QVj-|F7H{iScv!?}x|Kc>yt&Vn;G+9izQ80PWNYtWeOTJ_q&=*P5sK`fUlvl>+Llbi@ z>XQjC4r~Lu6AsS+`#!;X!5pj!Io@vkFr>|P5G-7{WF6~=b=|j-=*7|c4D6c&S2pIJ zphq~|$m;&a`QqkO%j@6}iCLrObF;-40Q?!vir4v9YBx7F?IsoCZyr9#-mF-EexF%N zh9%~Hx~BE1R4n2FwS)p%TnPnQWl0*vt`XC8wY~BvXgjQn(z|GNIwA*jI=@?~C2FRo znqr*x%x>ZK>g4BSgJFO|-H{E<3qG+LoeCFc_}?xjeH*Z8yt#k<#pk}&_RN+$#o3{l zc`YomCD{j`mwC|4Z@hiu8r@S1_o1**1r-w49Z5hdxppsS)pic?ru1XmOh^8{NllkJ*%h; zM882Vog}2Mq)180X@rlvOA?Slke=AEq`};8o7XH)xZ+D)R80ay0}p#5LhfE3=dNk^ z;utBy=M0D7)$yKQo|-H<_sRELyG*{+*$*a{@;D7BSC}YqOejqz;sG6x?p?cL&5##Q z2~-nHITijbX5;wRLuE6wqzv%a0~O@mX8L+nI{o8jenj1HokQ(I&#L3iF`r}HcD>G0 z>Gh0^o@K5ouRrTOzuK6!(Y4w5jcTNrgX_1Wi$ID_kNmo!T@}gse)GtKrgBGNt?6?! zYyI7HNxfGH|KV?EdXJTNXQK<-`q)?&VY=zAl1f4TSk_}sr^CR!TF~7#lBcb8jN4AK z(EOLQozZt1=#s*v(O2_wP7=}-*HUz9$-+{BR77T_u@}f;;)KVK;d#1GJFt|-;Wqia zXE|*Hp4ejoT-;S#^Q&tEn)J0xqRAyZ)k}@Ngt88UO4WU<9nYp6KcLhmmR~KMd6uR% z4Qtm;El$y}|9$icu89#8c+R1!JrAVwP3ql~&*d?a(5~AQ?_C`&tp*=!Z)Q=eas7WLcYVV+r*WX{+HCYWm}? zc_YmTa>it=bISy%bPOp zoi{&zoLx^#q3p9J3!7^z8(mT?|Kw`#g!E-{tf^$(Q(eBe@r+SCc9*X?j?>k&<Qo&Hy|6r69#&aF^>?bp&rLI>bfr#yI&-OMDMt8g zV$PuIeKU9TJvpQ6XN#_(>d3~PDLK{U#A2|QsJSZlT@$A)=lUGangUWU(}u=nI!Nb+ zM(t4f_f{W&!UFp~oeP+52a#p`UTwWSx_iYT2xUqSMW^+>?M$9dO?|K~sSHZIyL5A` z4S?}aF{^5;02-9HL`jlWW4pDza7YUMPUp#zYXDj3XxTJ`FoR6d+c@oq*GSTUE%69i z@G8b`jisiXOD}(MlJrDSYbkKwEa(~RYT8OGWA$qn&f7OWY{<7QdA|^WD?@FvFf-s; zCRl(52YM6IdnG+h)BW+%QH*0w3_X|xuYG^k9>^K2`D8oLhGAj`r-Q>%mGUgyC$0fF zDT8ghr*nMK#L#S=v|GeUP_jRfnETBk(;oD*s|tCmO*~Gt7pR>$Z3;WcU074F-MuQe ziYtq+$nE&ejShB-{B>Vb%QgUIQ~fvyk=fsjw6YlcM!m890q`rA~@GkpN&Jqs*OyvTR^Q%gD*nk9cE}MYfZDf3hEwp9Zjg3>D9FCJWW8TvbO5t0eP}3+X#4~^f zCH9_pw$Rc7gZm|WS#T>_-T|=aIt(Y6>5hQD2{fzKxOJG5!RV>-TBbun+_QuLKR6(P zf+nTkeiLXg;(vU8p4%=SEa~vHSOyoG*!uX*FNg8m+VVfw3Y^lA)PYfx3zzUHG%wodZw8GutDtvlKUoJ?>f0h`N8TW`S`&=NQuj=;L;8!V{oC;~G<5KWR9^t5fP zH%N6D3uA^o;>!q3E4PaUWD30Mg8uk;pDzBpvq1NAap>uMn;N*bOrKkN3k;kJ{ zZ3lW|r1%SENHX_!hS`=-oz5I$kWS-h#-Do|7ZC@z0QkA6@PGvjxd2U;DR;_Sco{k9 zp?SZ-j@UGHnU^~ZMf$5fV^ncwt-+#pex7>n`fU__sO@AZUq5%0=LGv3gFOaN6sh@W zj?+$mBF~~dm#lAOqnz3jrArA7gv#>8I2x>(ap^6R>Dm3oUB5%_j~!YJU#Ag@6BAk; zs@+^0lu8ZsMVTOr(4JzN@Qjde(oxzrl5BT7bUv-#ju)0S3MZL$rIYkq#2u0zzBajF z;~1}TsR(%Poju#B%pGpww)xqY2d9S3t#8PBab{mj9b)F}* z6(8BWVsPP{gTawx_VV}e$S*s#0gxBt>tgG-B6FOVZiwv{?G@WK{v~1?pz!~$R*?Dn z)i*=u^KUD*0ah9-xGl@4+kkwjb?t3{@`pvhoX^5PLYqEwB2&(=gF!r5w4OO(RET6` z;MEiwShf75g^_;4c|wN5-n#O%KdFy@cliMT0m`voA|GGNviTMprS>mbM1DZ-{y^pL z_$%{Y-1uK68Z@hhgS(_P9Iq7AT$H@kiNdq-mX@V& z--sT?!){acN3n=|r#PDrNVUOUWLa9S>zvQ)3ztRj_nUOa*s-mmOH+G%CtOYt(k)dD zj_B>*hqE4>dcy=ZYAs+!`#um|NtiU<7mxP}e3*021#2dSq1}{U9Y-$D0bCg&eM zwEKQxLJdZwng4#sjw}*vA5uzw<^F(Ka7?6<7O0y^Z*9_iDSBolzq^1#kvdsr-f-8W znyK{6;L%8$@&XuWoc7dG`#CX{LS9%CXa=2)b0Etpsc9tEW_K-=hrezaTH5*r!T}vf z@uX#v9~Za{i~4xOKmB?K0jKCTU~j%T7gSgwGe&e*nD^1#xfQpm;YyyG;kh9$?=~d57vum}gw-W=m_O?R7sUeFuXKCh*MBTBpY3$kcwI70S&T z0)D*6PN&Br&q38+!_)t|=8+{^g!-k;mRof%O3$Znw(XtUeDb|_-UBI6$0#dwJCXY=r=^c{35-(O?-23(J>*ZX2}-JJo+or z@Z>&3K_yIHt2f@&}2f5(*9T;)tlRe!bU#2f?Pi@xu7bxzT z`xB$zSg&Ns-y*0UNG6m*DoRk^<9RyQ& z!jK(N+{Aal#juCGs7+^RqWpho+~t0o>+wIkhT-=JHQ<@o*Le!6J?s06tr8 z2>E|TuG}=p%AQQ7VFGwz{zUg%fPmKT;Pdn6KV*bdr>2ZZKJf{e)MuK*h;{nyXJ10# z58vBcl1_uC;6$}TxzVx53zm0)8VggAmD_+{rO-L;?#h{B8iYbBmX$`)Zwe9U{Mj*C z_z=>Hf*EX=JD4hqjc7N7Tl;pe)T_DQa>LLPQs7~sOalNzh;OWQf`|P6^ruzjKa%G| z&RuCk&QSJ2MYt@m5FuUcm-R^6AKtFo=bQ0`_GFqm3OvR|@asCP;UKo(YK z$Fd^y$BzGopo8IT80^&39bJ4u%w77V3Ia&~scOR80CuF(`i{MS8g~9868^KeLk`%n zPf|&_d8`($GSd0fIR!wz+T#GXq4mA5bJV|n5Wd}a590Xw>3i^*&o}-;{jcE$Te4ZS z_YbicgYfYsWNLqCM6Lj{W<+V}8s*g0krSOCXs-%2EZ-l08P7FJpLGqj%&U?4?Y1sq z9asDla@kBN_{SeYiU*nJ8!_zeI8jg|aKYq1D^`Ey`-=nrw{yTA&Knz>&{i)rGIG0c zsJpsy?OVJ#Ju&f#l@Rj>(Df%CDS-b0eEbui0{E-YUyS%mBL4TP2Glz1m$KGZ1b~2N z=1^$YO@MIJKkPWiw8Y+EuL~eJ&Ve_hgrkC-8XB}b&Vf^utlw^!D7|aY`&ZM*pxL=J z-!eC4%l(uio_^z|o*z?_!hmz02dVQ3Qc|1)qj$=iNC~S2K`~~pOththS~i3+w&=Qe ztTihyiLI<0rGK%%q&#w2^@;V+{G!yU>5h3n7+6_lQV%a+6+9=OF{Op)c?V}q@tTOP z$zzLp072+}lsb@=>I*!vxaf}lSVD2RIRz(hB_)=X--zx9SSggZe)Q)YDk-WTJh904 zX{xmZ`T7vEl^&Rk6y5&~5b&`N{i3Kkn*z7??kb6aC zpYb!DeVt?kB1eM4VwYPF;Bpi*cMsEUNB{(E6=m(X5$i@uC zlhV_2_`X+KRaal~>ihmkTNIKF$d-hZE8j0Tk)|;{ii5TEd(5@)v|J8{yTwa%B~+|M z_^Ac873kpgyR)`R;`NP1%tI%}n&(Y3ip%4!d*#hEwx`%mXX@X)98M??uNktg?nC0K zOdc|CjCwvnj6ie%LB&$la##%S;+(>O&$QM%EDJy)=g_Sf7D#I>&167>88w%+et*EPZoIC zKT_P9Y`jYF=!(&r&g(v&R=0eh+&kZ)zYh{)0VnS@!{Ws5>9fKEOUemAn@R?nWNUhm zB3+Sn*Ei}gI!0D|)t(HM7kBT9mWrn0Z}c1=Il~0g+5?RC@oYm02D`ZflI5 zvSgFz7#i%+db!YjK{5FFGH+d`x+kJ5i7jnl5#)2(Z*BuB;aJyJrW-Kx7A$o-*tZjF=fAH#8N%1Jqy@SekNV_tc}nlSgUj*< zXX&A^qOI!aWV6P_@4gAwteJD>^6@H|hL)5@M-YO9N_HNZX+eFaLr7#0I62+d!RGke z)*=5vhwBXbv${6VRCaejvr3in$AlYcq1e*Z+DVyqbh|nT@B7vF<>5YdPGkiZf(|&g zn+Map{iZ6Urvu8Z8jZ_OX6?ZTa{`qhq&Bv`ws7E)z5c^vTSscL-OJ?dA57hyD;TNQcX(qD zX~?Ca=;3fq;bLXwtFqoU+p0RDR=(aHj2)!`_o_cwW)0zW=pUGcKa$!GEUFx&RyB|9&tribA6?dQVo#t0op{D`g}JuuI-#S~O$da=DJ!MG5O1=E{Zye#)hlimpZ(*NOUr0o*=2IP>(kwt zhDq#@js* zqg~L9C;5c+^wwcT`Kp;NhZ6TFL%?A?7Iy zCZHNqo>R;VTgX6M6B>z0-Wqslz3W9G)+G3+>Vx2klLru|1OAyco;dF{5INE49@LrL7Q9n*Ns`DQH1 z)-zEXKsrgOe$D8&@$F;2D9v5bE7WWc+4%Ny`Bnd8`+oi?7|lcB*IPlV9CkLA;N+LyQ8`skI{ctJ=Uj*iMBUogHcjllg3q~Z6^DKs zSiBzCmn|i9Z*4iPB02|_PExfs+2C!!1(Ra-t$5bi4!*Wg20q}yD_DV{#_9ZU1Z%s= zR~=4TBPtwttRMS9H|}AiSd`r5FN3vIHZmIrLE7vBYEzeMCvQy*u#kly#KV?{4VNuM zJX2VNfF_YtzmQ8zdsA3OIs@{|p;|dLUc)|K#M5_GH>@7NLtL+-dL{HZq)HlPM_U3Tks&Ycx)^&f>i3)91?#PuQW>mL3Q)C}5GM zR%hV+QVi^=nPHWhPie4if|539KKw{iD|kHc%IU9eB|xauAM`!els!$Nz68YtOMk&= z`DGILP$~TEpgzXPP#67EEN)Qh_ptHVT?W&-t^s|U)2S>ZIO6L59(Bb(U zUs#<-CyA*9^MH>4a6e}bgQCXjwhwNa6y-Nh?8+niXLe)VAbL*8e#lS%Pf zyu5DoLEEp2u@hwdW=Na__Vw+M(XCTL!iT5WVZ}9f3tue`W-THz`XMz$DGe6lQIc<$Ui!|Zsr60soPWuci=AUWunq68HSR@figmGSke zC?E`#4-I0vVPZh=d(zeTQ_F>W8ROH|amR!u1}J8p$%)FXqq}}V5Rx1i!<>m|wV`+( z>9<9d{1J^ejDi)1i_>wH6Iz)C zpO4X#|9G?Fr3#5ZY*QUQKCOXwQ(8LxB3coBkRmAw7sl8ee2owa0+k{xEEn+gts$^S5-qT$!Dx!HCWbDe|dPwsEX94l`GLJ|(68S5t}o(zpzzBSXrLDE20%p9<}Fgyd3b&fmi4r?GjR+1Jh|{QIoqJ=dtSCi-Unxx4fX4?|bx)pKA$ z-AE_j`%6BHr+pHarp=-3x+dSZ(t?CK+lI5AB#ZGd+gCNwk*N(~XbP%eEa7wjvLbgi z#?cB&(!=>C?p?SL+G&^MFxxeeFj_n9$)dmd94mL_?H z0<7gnI6Dvv#8h@J^-oTmqeBmQl2ke=`g&9tA|d33kKECf0U&g#!$PG={I-`KSATXy z1}`aNqQ_mp-K!P75O%2ib0^6I9)n4+P||sxHi}^iV?R)Rcf;9g+KM}i6K={yg_0+s z0o`&v5Aur?0)zVoGS#yLC3c^qg zTZ+a~&6+$#L_~&m?KTu?R56C?bO&pEqzYw;cL4r~>a z2;4myVQv8V&)4yLOhre=MkHRiX2uVONs>GRWvNQ{lpE_=fSrHP!GS5Z=HiyX@8%AJ z=$d?rQ`mT_c!P8HeL>nMk3r6B6WMmn39MGl@AF=CM+;b;slHN7mhb%?ABfp{?HUIk zwnQHMDkbUV`59-4T#Osh`0$S3t)fVn@PWz@hiP3-XWO)7@W$qNMOAyj;u%1&CGJzZ z=)uYmoY(>L)zjrQm1W5RAU*fAp{(Ke0Qp2ur{=cmxfzTbq3WETOlMtX1sQ~-RT^8W zov6C$t|wSHhIJfZ4fYgrMXx4xxE$Jm%=cu@$Gc1WyPWUl0s_!=RYfLnI;wpS_hg#J z`>wmJx{5q%S7Eo!ajZcQ@v`V+=K&T2UglZHHF;o`yJW)THqw%E5YVi$=jk^ndOPe} zn*jovt7-4Y&WXS7&=vo=$^eL`#qmQ_|F$v^L9V6^IzN^CX_5j=k%J#LqYE8TN#x8kSznk^1K{M_&vpeJG1?TlP$=ZmXCCpV~~Q$6C46&Wbrh>+Z&@r z?Tt(J%GD}3+%mz*%|_>fypJb!6_bZY06{HF8Ablqz|jKDBX@x42}vph0k_#do<5$m zMtmyTlEP5!2uEw@SZ_e3U%Q`3_w!N}F_6*(h|+>3$Pg_r7a+vw{nJg4?|b+$nE@a~ zMLe2!A|u1$oalvJCb;_@odbwAmE7ge9$k#aJ&p~d!q39KSQv!JT^8v{r(*o=-sEzc zKYW(J*>^|V4_-8(eAWlZuXtUbLI(mH=y>fJS9XUc>2NHl^8;f~9fJLM?4IBs0xV3O z(yzYWGWiuWc$O*Dd3OvhtnJ#I)}F9` z=ND38oHfcJgPW| zVbLLHWP6&d3oSTVb%mt@n4^a73WqWDni2Q*X{0Ieoy-f0G{fkKM5-j&WW_g5E=u%W zPbt}OP6g%f;3}g{KCA6RVtD$slFX>?1O8E9tiwFRQBNO~(Wup{e9WF!M%RWP@X6m~ zChS|z0qn9My;1QFe&mO^OFZ6ES10Sg62hmO^<<3wgKp9M-fVOe+J&*t|Ay#$i7Ge z(UZS+>`{LejM1LlCDHR(rIz2e5VaYSd-a?6?^7$x!@QI+xrR`f#?X@%z-$Z-b8yHi z-Uji#dh!0MjQ8j)Ns8o^SFlmF7a;f{8^!7?C8S9VU|(bbCn@&`ILs&`sG^je0F!%DQJ{==ZWPB`rA+oTZMZng8Pb`DwsiNG9vw%o2xhm=yt+RxG-c7RU<0x;+p86--A z2r_A$=Kl7X3K^=C29El{)W!ze{Q_#7zi09xWZE|nfvP!O%@-#2XIO&x>AI!YZnQN>&Mk_HDN7bf$ET|&OZdZ zic@H{cPF$RGH=vgF%S*Yo(5^F*u)LUF_rhaofSqYL!Xg!AE=w&jtcCl%u%(qBFiw& zvY&)Er_A2aLFMcM`6oPqIGlOz8wFNYy;RVJB9_$Ex&$4Du8S9;ka1*hL_$_r2-kG? z4!3wqb9{J7AYXn$E)GCw)ZNqXH6Lia83Tk#p(;>#Rb!wE%ffWnL^T7fdv3~@?yYYr zoe-L!&nB5j>ZS&J0G|lgb=l9rmG3g|cYrJY*=d9?_Vgc~B+^5O>B1(y ze*a^jw5c|5mV#yY%K zqJ)|kR-nI7e{th4+4#R+9i*h9?SHDjGCc8lX6VNQi2iRbJD&cx2b%xM3UuCpMVN8F z@?$9=NBj5lqbW2+Z_i!6vagtbbN%su=U?Ezc=DG({GGJnsvgAQq4|Q~QF9BOERX;u zYRCVia{qVgR<%jhAPLxf&kFu}S>(S{(f@2&20wQB)8MVY(J44oUEY@(w92Gg6G@lc z8qVA-Z5UnKB2Jt$ckkEum4QnSD3rBLZYPdC@YNo>GgM#Rw_)U&VlT@|IA6qAjLaT> zbm8wxuV5aDNP%cOVyxn-v|D#+4&{F?50tE>?1efF6elG>yMxu#xcZaXr-tA2$Pl9X z2&^C*e(-C9-KE$=eYF9!@YDF#@u-PiZo>PCo;HIpANU*WTZ5Zddn)1>WVDv@#a9JQ zcCVf9%Uzfws!e^!h6fCA^%fHflowSo60Wkk`}4l~w_oOdcHXZ~fgx9BY`aV9O<)`A zgff;`e&cFGDg=Kzgguhv+yJ5K^7+rP@lx%hTeb#YsK24k@iG|}Hbs##f zXq88+ttRJ=P$$``z6pTPIhV3;R_Bi9_tr;C${%QjV=|g!R3J9icbw>%nhWn_1j|WG z{UP+-!|?{pU)EmSiV20|_CKArFw#$s%$L4>g=wa&B)9SD__@@U!XD(b>%{k{;hhx{ zj>73mdM)N@=Hq9M{`u0UDel0|cpEf9QQgAt6)8OQLsNlXYm#;7?=u6R%Wnwr-Gtj7WTm|tXDB|N5auyR19-BoIurY@v)RmHy?Go*x8kq11sCyDz%*zd@LWV zvq14RgQywjDLnBjx)s*a74x22t&THr$}9UGHL~k!K`#Xivb~KdeIE-W=P5~Br77>J zs$CTz=1-T$;GMeDoAxG5&G)pCLDXhot%<=^vS)z1C%y9yM<4viEc`*U4! zx5qq)HgJBka{Yx4rf79_KeZKP`Fp+7DBno^feh1<51Ve$XGv4yf4_(BYf-b;POzN` zx$FujQd@uTIiiVpfrVxi3{xXL7H4>o+0aMj%+&b+5|%t;XmMf-;CqKwCyWb3rv?We zQT%FjrT0;JHk_=|<>fR-BdA`l zBbnIbr8i{CddcZy46N+ujZ)hSuIFe6mQ6X>V;k}^^R@xYkH1xwO)5*?uXyEuobO!m zCu9Cj*Lkb>aA7MH)z})()W19;B-@iy<=cqy?=ZG|)$7F6^#(mp8tRFSONv12Tk<2) za40ATsoVdA$Ch#5^IZnY%LR@Gd*(&9%2dg{6wRPQkZOdh8CIcYOX6tXaHD8sGXG$r z4hg@gbLs?DYYJN1g~zh?@$Tt(H^#SR>az1c1Uy>{&)`028FF$~`Q^`E2|gp$fy>5J z1`u&C+GJ`kPXdA*VEdVri%67`j2rV^{qBrL82QowBv)xy+*_jxmp8(O;8HdUru!&f zR65%2ZkooP zWIQ3^D!tz6*R{Nn86sFcpR0uKYkHO*Ylr8bF(s80R|JBpX?@!HBubFK#Q{6~tGy?Z zyHBlga=_)BtqBx5ksLeveC@@{2|z$M!Ks5RsYJCXFMad4{d}wYK6CV`r{Q)6-jQW>+ zZaPQBe`fhnQs%EhwRitw#9tEeQ-%I_sYWb{f0WSR=10j?Ih(%Ck4OIyDEr47ul}S6 zT~x8A@j`oQI@ z`)>SvaQ(+cU-OTiu7#a>IDzAzQpVrvXY)@S7Frju>HjV@wHNeK(Br?vUkn*cNJkx0 z(J3LMo{7r;FO~g|G7EI#U~1rGJL}=(ucgGm|e*gq9KZOjm5qW!4ASMX&5jK%QtP;LfBJLwK%ymAuOfbpxrem@((>d(zG1&rV}+lUT}9^C5z?o`ztFio!bK)9vDP z1kCv*nVVv---z@jTq~7%HF3syXCP##r>iNZtqqjIb=He>%LA$hw|kc-Z8?^%bOxZ6 z?&}OmiG@pKewG&e@G((05O{u*bN1fd$jb%`;i>1q67-KfaIdgZw8r-$7%ya;_49%}N zet61?QEoc3Rv!@y#JPJG+)!T)L@F8Xk3UiJY1B=OJCtI0Gi7S+izdbCrqR5AH@!@= z*aN+C&Xh*S$ZMb?;2ppbHnpAsNZ52CR_qAbaKc9Qgw0*C?5dn!R#WPvRc0tK+U>6fizXg@ z#toxnPlSIQp62!uu!PvB>wDL^O<)8GQHeBD~J+q7x&sYPrvnEFZsJ3tJl1En}c8XRnSA_*7-R zASk{|)i%^nH8^~e(`M3sxq5g*LpkdX}!ouyHV=* zvB_7noIz;EWl-7JF2v1lHzksRzRjD5ZQM;#OejQsqF~TqOm=PIooPbA?1pK0Kt6S< z#aplA*a{LvbqZ4o=b`)`w{UdUVn^ORdG)+-rr`?*LRl5Dw{GBmTe>xJr*P6^@DoI9 z9_JaGYC}ssGMxCUhjUL~n$d%6+0YcN7cH6faz)3SZji|59@is!PZ@ZhbN#i$^%+q}* z%^#%7Q#)zZL?icDPlRZgDCUFLw~C(pu<}kFI{Aif3YWNUR}6c=vd~rY4bRSblFJg- z93@Z7@vLlKKWRES;p63h2#Ocik{g)21s^VwdEQBzw1LdIV$2_0A>!eoo+#*w+KkOo(rScdY!x^)2BOY=)^v1e6Bp zO{+X&5)UfHr1Gp~ls;NM`#~Bmm~Qc^RlLL;8;Loo);Kv7$Y18chb%xO4rz5PZrxIz zzUX8=Ac;h?%I@5V_B3NfRWUFUMW4Db+F?I}^d0qNhKpEE$R9^l*R;cPWhc$nsNkiR z!irepMDBYg+14z1o~i>Q1$YQUth%E70GB9qsW}q1xLf$*;&-Lo;lPY`Pj^R2rN)oT zOTUgb+H@Pnhj%SHUbizQb~Ghu?3L6@wwgn;4Be~G$LS5tE+?a9D3qKy+&f$T85f%e z7rHfm;ws462E|VC)pd3%%~&+gv5obcugO~uEMctpI-zDSUpg2O4RtVIAdW+zo2S`MKiv1|KM@qOWuJbzKDT++LkO)=qWz>}7zF>#Mk4U2HqXfWuf=JSj`KKGI~h!1>yCGfDEeyEqViJr zO0sqA=1Hz(fJ@FfjZ=fd+ecz-6D^&4dcndK1d}JSQ8G{W5^S>idOK-JU-A4Ag}}Vp z(-k#IYH$nV@2#1us{3y29wO<=qKKM-lh0#WI(N>}6oM?vCd@4$Wp}2eRLoSQz~ly= z_-RKjCtVBA)!;p0e9jYBUt1K_B5cx6w3wgG3%rb#BAQUVi61k(CT+)(hTW_pCng(@ z7 zRF57_sJT_T$z}4h)=Mb-amin6G~0cX>>|xO4=W6*$9|wZU14@_gETs>S2^9CpeH+G zY#@CD0Tk(Y);al8$1!*G|1pI-uocbV?@kQEUg9f;}6aRhi0G(+^j zs{BP^%rQ!4KZ)3o{UD)zHO0j&pJLdNHGkpcH4xGSOAQ_a_z%i|qGy=bK!*PtJu@X) z3U%d_RQgahayXZRmYd`B@e&!)41wuN*lN6PIfg6A{KDXpD1tJ_0l7(?C45{cNQF|6 z%%n*5ADO&AVg(}lZl{|gl1gwxUWz45>Jf<2&hvurk1_q= zz6LbMt3^7WG=gtYOBPIZrp1vRdEsw666)Wx^#{_#0uS=XFSW(hV1=2KV0dE!c%9F4Q`q?{y{g2JTIJid2IoyCb-nYzp|M_yuY zvum$%w{L^=R!2q=pDVsB61$Vt`cmMHdg?wOupo9wpxv-H2_6OJ9PfyT2t5;4H`v$! zZ*+t;oHU-I;Kj$dM1N|GsS`W2Hz)HmHV4%mc7)Sj|E1BBQ>%#`j72=mouJ8hoLEhO zrkw9?ntw0cOlwUClxK+3C`5CWnPVONo07CbR838Q4_=fEx)7B!CUt2b+^_ICmQl9ih5R z6kUY)pjfdR`hb2QY%Tkom!Q^~egR`;?AM$9Fa@sysEU~Ah0RsSX+V8#noyt+rs9Zo zwZ*%ehP%;l(LQ2u98pA&-2HBN#&W{JDy5fnAm=Qj? zWXEpII2gm7fj%b|8oTVt3sV2pu-7vjZ&gBY`vlH0TnY{%>|eBo^-A^XX-h#)xd}!j zh+#o%;y0X?>*y0CWE-jlW@xJ0kEx#hkyF?Up)^YDt-+D77S+5_ojV6y`-zWe>bjXJ>zWI{d}8J=Z~p_kqrz0R6S#9vdF9s@dRg2Nbc? zirpC^$`$D52iA6y(97WSCyt!`@7P`Mw($_q!2jG*`iB+RMIbTnRwrgDHiW2-F-Z}b ztpmn%B_1*Mbi-p#`2Vq(i#gyCsT%vZb){9_8k>lX6G1mAmd*EO`mVm5JJ-&duPPQf zi{%I0_beD@rtldS;yZt9M#7&O_FIf3yc`aaeJPTr?!qR?AZkrFXG{W z&;K;${OyE05Zc2g8-2gxXXBEs#MQTA5}sNzRp(4Ts&!mDOW6674?5TX^Pa<>ok!Ki$dq+|&V(Hn34^mQ!~S!G8x4431^WlD%OWDrlXf!%wHpkd~iJEl#`_n zDn{nCAZTLC(sDr35yoZLg$H{!d9=pqM#Wi$9Y!L=yF!JV5qfL0ZSa@f*BGg6ed z!R>J4i|=XgrX>eDXc3Q+Raq`&!J&fJSok|g%GKwiCy`qNnd>Lp^zT}ZwoOwbr>iQ_gjjx%oO%r?5LYyB}m;_c%ZXWEygB+1dkgo zpB#(+SmFrw5jP?N`tDwUzWc#f$Ll8>pKCJ9Wigd}A1X9{Jqa*f@|gkD>GavivU#@p zL~U`!J;f>J0(8)M+Q3|KjCLFnYbX;@1ues5}rfRwAfoGDk|Ds|Gs*cTm8@C z2^;h`B$T5xvX`#sU)uNLCV~{G`)${31Mqv&zzV}pV`fH4bi`kIrd9YAG9B1F@Z70I zZY0|OEti1{yk#^}zO#UGXaRrV<+FeGvwtt$p2MfvXd2@(W!oT|Q;s3+*8W=`I6$C4 z^JCy8lY*Bh1o5XD4gcXdJ}3t~6nn3j|GopR|4RW6x1VQm$rDzxl4`M>t&LS#RtG_n z&(aK$HE=e?XoFpv(plp$PPU@loQJxkK}UxpEl?&zJq>TW&m!6=7dKn##OI7TR$J2@ zi90zyadClH&7EG+drqbC-S~wGj>>Th7-^hV)%(`3H(Kn};$t5jY=@D~k<`{RTeKHO z=~4HKcX*REGyLy}o_`=eb<0#@&?v~&R$oN4CiUVUeaD=etocN(xc1;Uz5mPScx7o< z&cXg$&SSku6BBbydCGVLMdhWLsIY{;uspQWF^fdAm*;xMio3tcP4MvmT$yx}4=vaz zyb$??z!!4j^P^bw_-BtKi!sbQ^Mu(0=8c}I!t^Er5-%}9fV=PbOL~SN!ZPQ$MEMrt zs;2f1Fkbp~U0%=*bAy{RBnRfF1ZM#6ZlsX%bzDPOjiVQOyo-2Pmw~=V54o(^=?9CS z3oMu$B93UBR_kfuoK*OkzIypTO@$RMu2) z0&F0Ei>RF*opqr?~rPeMl`QLs>9`r};b=+E>{oUB-1Gt;5?OLTcTwsk1W6Yi@um zNtwK)OqE~(&u^^p& zVLLV&bQkvQ{;~VATi~KKFZiVPP7+dF*i&;o$-g^HZ>#x688BWTMC`$en=-{`VC3v?lgWCb) z%hYshq5ae8vl`4r)&)uXozzRuCq)t@E_KP&e1?s91BXYfqweEhCKyt+c(7CG9hj0_2}Wp91v4b! zl%9HAxKK&hA8*Em(&QitLY!p%nOD>tzvQ|Jgv^6wiR_8YYyRHAx}bIFVuJ+-*BP)8 z`a+&~nVjz}sU{)6hHu2G(N*i)xeyWQ(w-?(U#fS82 zZ*SufOS$J`))qM~_T7`*s;DM8BNxWy=H~-bZqF)sckn1q)Q!K#%vOxEeAM32!(9Dw z7VSpRT*cnDa~pL&z|xXzz2Sdtct1(0B-Y)`CgtdBAASNF&1 zOK1s1C@Nd*P+{GGH`z?2DOpU=s10j7570UVXsMht@DmwBO4l2%bYe%61+Ss3BD3@$ zdJ4n%s$o08%w8G{uLzGLi@{Xodh>C zRZD1$Hbmk@nAFOJiQ{k`#~=|Uz+4UfsG|ZE42#3Ev}QWGhi&|zoSi~P`H4hz)$HT$ zex*vVX^fH>Zwb`1j%OB-o2Kx;L}DD2YKmG+M`FC{h28(bUSRLf^aHm`UVY~KHBeC#N#UT9-g#Ql+(!67TOlS{ zfE?f&U942%YF4Z^o^%V@=N$2Rdc33N<{IrB=8INe`4u||%Nw9v1J2?w+!aUr4$3Y0 z^s9Jbzti}gF8f;?HkV$c54Z};Vr}h3q>Tv9P88~RTW8p_8n27V3NO>Nogo99U}N&Z zTI%Thr^bh>;oN>aC%kZa%@@*Vx+N49Ot?wX<%(R=+GzUZ)kT#+MF(+JyLT4K@9eJ= zoslFBLyH`1&$<)J-zR$;Iy!F}23Vi-)Kw!u^OIc?wBYHD4Z+pUz%uR=JGLb z)wRBuqA1^3aeWk-2v5=%-ny7fFeA(bidb2_YaD3|J^1>nZn)o(0q+b_#m%{IT@_7b zg&8cwn+_gHJyl=fnwrwGvb<)U>(dr^@iN{1PYkWcILW{-Z3W3n;#8(`A#rw@ZKQXy zw=prWK~6BOg<(3S;_Rzt9`1ujUXDh0a5zOK6fp*90&Cn$ikHaH43j0Vr{_i+r1HPR zqVxz5c()SWNp<6mfA~k1$>l<0bF#2;;?T<6Ne>$@7o}R77?1kN;lz;VEN7bjs#FW! zq<3-oR%f)}sAp+`uiR9Y=1>hHB9esJ7*k+gnCk`f(*RWu4Vk{QfU>;RVCD{&^q;&W%;QD;mhJ2?#dnrNeCjd5{l1GPw_#{@0C#vbDp8^Ove57~Mp%= zXteslOM5^28C!0mlmUAN-Yng?U(GxV(lpD?nRcLuLKmnN+K2X*copQrB9c)z{J41Z zb^TX)h&~V#pHTv1yI zN~5;@og$-`NrcTLLg>t@yZ`&+5#YCYm1wuabhHV(e+x)x`FQ)NL0pk{-|e_XflnBx zjA_6mougcAq*ud?XX59a?>e6}IfAF0lvdg3R3>kW9BL-KiLsKO$S4>d=8{d82_MrE zQ#MY*4%{0s2Oo5d!h%VpGOSSt@w@-3{R?<80nrC3qk>yiVq5sCK~w0d@h=@X7#Yhv zKabB&z#+q^_d1(MA8IIFPx9A=@9)h)e{cEJMl|vhRnr-FQ{86|!AGKCna}BQD3lu# z2AIugz6A>_yE`|;jjxJ(p3QXgfW#3^>B&mtPC&;BUSrqvL*oKrc-4|X+F>u8N-Tj_ zr*7zuX7O47JKp;I)tZ6w3< z)3X}wn-nf@D7J-|TsfcfAGZw7q_K{*fj{0~M6;ec$e^ zdMHawcJu)bxYG;{H~FVJ?A#~*9r_pb!OwfVgzXt>R`v|8ecX#c*Y4b0zjJbJt6nc9 zR;}p@iLLLu`5yr3-%t8SfIA1g{=PLyIBw6_$DvPdTGs|{&CK1=b0no3kTd>QY?Obi z%U>NmLP%uFOEHN8VqJppa+7CDORJ8lQC+1>%`2AYr^z~_gv>y>DB7WH@TCo#)Q;pD z;mlMIo`XqF%{0B;@Uh=w_By&4d1w;}eK&T0wca!SFFpSZWrW5H@dlr)`|fa{lQAdb zq9zPAbfG6)c+kXDOMVmgj+p8z60T}Pr!!e8KlJqzNP!Rcx;*^*;QEWV|A6>8`{rL{ zZuQsp6;mKWXjge=4BcgHPD%BBAiT1gt65T=ibGcWTTRVeQcn+?s;+!4cD*AI zgTeLJ-xq*@1vH0cZ$WV%H+1ZRt~5r**{H-X5*uWRfFhcVEmTTz?l_~&31Go%A?B{v zutI)aprUHG;+snogt~mTjyChxX$6u5^pF1Rpi|fc2u~F_eI9g~%PYtQXo(~8qDpf$ z*9$85fDI^6pcOEVpm0M}{s7qnIe1%hxM!Sbh4T>;M#OJ}HjhnCZ-btWAej@yBcC+g zFl+TGuTq}PirV|^7n5{sGc=9Ay&~-!AmI2BQ|{zoW{B!|VqxUzk}Oi)?UUwp^u94# zqQpNoqBfi9F{u_XqeEKwO0uBiHnAcs)7rpV!r>pn2kLt`a=m1JNkhsF2@ciN8I67_ zbEY_%4I+H66k@>sq4pBCs_Lq`+o0opCS*Uaa-u??MWV})>O5DEk0Y|@Dioj}GN|&e zRVyIpU+G*9>8-)LSylMSIU3hVKP!xWPa&6-;x#kp6Ch7hs`?lR))(heann!q(2>_L z_2sZ13Pdkar*}V`LQKpe@%4RX_ZDg&oEn;cTS$R>hN;MlDXkkunmdjD?9ho7Rf1!2 z?5L~)+`M|ui6^aP#YG9C0dGS?gsnS<8Jydo1n1IMV$Us1?ynxLI!do!{ml0C0?#(6 zkF+I1QZ-^!ZZS<}HVubUq7zsP3zY^SAD_P%JpbSU{u`I5`FExf+j$Ny)GohJY)U3} z6Qo^S=<>b2SK%$7F?~iHAdn?!~y?& zvRfAcTfz9PL4d=0$;lC&^PPB}jy2LBtX{LEs3qr1euULx%;KUs<+5s|gJE!X%)vIs zt+v7*)*2FCN--VfMEi&nWRZmmK^HP@<>(MEL# z>per*+X?25AGuJq85Y)LQB3{8M0Q)}?^Yovk%c-&I6j3An=Hf6IEz%UsGz2z47-$-9=9SlTg|RO zw>K$G16&+}Ig$6iZSg6ylfM*tkG+%TrxCayys^4#ShWrI;{X-}7=@J_P4 zSqt}SoJah4t&uhNDy%%=T{a0CW|pwPRDAAgq%)R;X4i0>Ty>tHbl`KO93%50aXECG zHl*VZl!Xc>ezGR;7nee-5odZ>jZ}xZ;iDEW!MSgX1KJjRHuzXJA zq40sWw0t5xG+WvpQTSXUM}MDBuXBVM(x8L^9PaU_RNpSzip*^9;iPW8ITQ6Ufs1>V@p?W(c(jUI zfK=pJmczJod4HI5H&tz1PxSLUf|qnKuY;PM`85AcyM1zWcl>*AsFkxnb=AHt!x>IC7I%>KY-^noKAhZ; zb%WBJUUlP+B;I{X;G9{Rf4vPl@`*xf4-!&L-P`uX!;rBKm5ei)Zcw)h5|eo?ccwfS zmb490Mc)rHoi-nIuD6u5X3iulN?jcv`cx6D-&Y09zCB5v(ZY%RIHMRLN!1X|<4Kf+ zyo(dAInvW-0Hb(B4zxJ6Ay9;zh=K=-fHK8sb&L;*ME)($$VB z=Q`w`Xke8OSo6F-Z#!;;aePbI|5`62CXLZq5ZqcshH%TVI*EdXp=c%dI`-;sTLNi9 zo92u%iQbyBjgU>Y)&ghBq~ymiz7{WfVzk~Jji-BC)S6?wpv%t4g%V>{0K~$lMpb^= z`q!wG=GNK0G_2PVFHh9^a8d3T_VXfo_D6Mdhb6;33UI}QgIq$4S|ba0k15F{{;Ly` zf#S-JBc>w~W6?^Ufe&Y|FPdAg2DkJfFj3&RSk!e<-VO7i>WGr7vZioGbf+l(ZsY^R zh0UfSC+4pU7*x-c+EX(YCPRv4*!nj1+sHKYtADA&C?o7b@>6`DvU_KZ=-lx2(Z}O% zF5;Gxru}O?XmMPev7=2XjG6e|~!@`VDMrZkDSMY8HRbX0>@{eN-EW%Zhyq#gS3@m)1Gu3>0; z*prRAXp-hao0gjDJa_~_%(>Yaoy|LF-Cc>bHOB*0vG_Ie9uFI#MdUlLJ`V4~Hvfc)Hl2?MWX7#O6#s&rM%gsYF zr|Q+zWID&kgWrI@v;M)d{}-=+-vlQjclAPhUhTPg9!%fmE9x_>Mb|(vZ??{Cg9P(e zwYNceF|+n7VKRUyn(zJF$FjFU6$U_6G>8)++#%24+aR}P`zN3^GXH$#mk!G0H0CHt z;-X?CeqAtOp#V=w*6E)*G?Wc?H1+!Ql?^wZMJE&#a0xgfY>tNWF5X)$@)el8x<8-k zaRig5GA(I*doDdDR;_g?alyg3*oQZ+D8dA9f{I>sdhM0p<5fa0LC3VYb6 zFLOP;&?~uCaW3*OS+~n8sj@Ptjr!ATM@-O@+n{i1QPc6zZ(o_s^}ZH8Q>ZSCu4NjJ zroODJMa0|HOO~<|Yf}Bw9Yh#U8__J>%+awnSTCscPD$7L#?Q2m z>7o~iF6bPEFjQYhb$aI^yIU)AeCa zeOH77``j=4G!ybj-I?vjRQQ66ucgpy2#Ksz)|{iY4T`K709>c{Y=Z!@a8ccxZNWHX zl9lQY(1;=*w?X~6fG-BV`8T}6OCNI~cYsCCrp-o6Rj{6x*RwhkNE9vZob%Q7(;YD8@@_Nd?4>L|a@*bwm(o1$`25GB3S$ z$~frtNcHSPfLz?TYBn&+mE$U28>K9vkg+)^=ixH(#mYs-ul0ZEuyX>i4XSkt!mXWqw+-3`O_d&q zN*pp9=_bx?gPP7&;f;KdT%0yiQmVQyldK1k3?2a%!#FP#SO0>~ybDuaqw;wv4UndJ z&=1($mYgzkaU?@zV_N&yeMNY8pd4l%2*U-L1A0Nm{t2nW@<2Bwu)H1u7?;n;Uw^mx zykZ+foeK8YY)u9|;Qj<`!`v!YLl(6mEm6>_mr(hr`Q%|53- zayS|62{>aHJUJh~4qNJq#cP&^o@(LHKE1c2rxfPoL@zEQk|l4%EuSlOm=rT(;rpZ= zY8h_kX#A(v`5nN8RIhPG#ZMLf6hN83BkbDVWA&?>W^RUN&Z4Jir2DKk7PR2|q;WyO zjBE2OmtrMTH|}XE)_O8m^Ie+9_z7Zp9VtQVr!7F(9<<|h=adL)pXK?7DiS>w#*eTP zirnu~OwJTbt=RRbTYP0uC;{N(cttJ^`(Z0z9)rv=u$0!tx!lhcDOT*pbIb#12Sn}# z;`L8CaC;XsE*qEu;Hb}(dBHl)=G4t?kWSFxq&Ffji%4(N@2cvaIF~HOduNU)zjoZh zdDYZ*1$2N@2Aci78OHw8o4uc-JMJ%LWo~hN&}il{01*F1%YmywL9)FgL*D^EWtKO7 zY#yA~>QLVXeV%_fH9OY8U@#3ka(QfE4i8U5S4qssqdk9Kz@LW?$55Xg z9tw2`o4yI`7BE z@c<8s527T%@42n`u-a2SEhGkW)3Wihi|dGlE#ZglDJz<}TJzN)$nhhlwLb3(ksbZL zFpqS+zLkiEtU|-4Vf3__Lj@S_bU3(1k`U-83f0NF@i>lo^SEeD@*?>vA6Q`=f|By8 zH4oO_bKhU>$b#qtQLA1KbZqxe8N>C;Ol0}gP0d^A`Ouj-Ii$C(T8C>oYfcnDRN)-w z21A;7_t(A}lgQ5Ou1@roM*+r`7D$Hilu>*nr!Az_AC^64Xw)x`D|qXv=9F_Xe;}tPV_wjuSq2Ny24jn)l(S`QoIYQ1&@MYGrO?1+QTTD z%{4;*YqQiL9N-20bxYpA(PynE;dZpNxK-uJB?Zz=wr22%Rg(R%Ruq z!!w2uuw;`kxxA-y3f^MY_U5Gfo-nJN`xR&P%-Rcah7=ECj*jZMmLO?RF(rn)vF3BT zUEyVo4uX^hJJm*pnTMPsDPXwU5h=;^6ufHo6&1i+h_x3?9#s-!Ec&F_|6v5Lrecd6 z$?eqR>bw|_#Qf0l=Jp~Z;{F67DPIl$HYn%#)CJ<55W8NTG2J?@xK#TPcw=Z?Lv}H43FS!%(%;oYRWN zo7!ABz>NC)2!2i*z!?nF8103@=lT_|x2jmtS5u;*lFbxfV2sn_J!%5_)asIV2w}CO z;l^VS2EqyK(SN=i_!^(2V0V-}La8GHqbxcVq<)}~yHoOWfp=`2alB26}5+B8T%jw0tLPK1jjt)dNad@*ndrDNYdCgy|=8G|QZ^>J81x$4Nb&R#Ocqfpilp0$t+BfaWI z?P0ad@5Fs*EB+LG=ss71r3n$PAE+Oh-p$hj=ae^xQSqS}>G8^@-IC#Mj>Q*}l_?xS z8?ted%wppyqn00$70!>Oorjz=2$oJCJ)%=&>c6Qhr7rhuBz*S-f%gBO)9fjy7s>kA zhbL81l{!}IL9k3nCg`WUgqCZ2^%lxmGNX!vfWm{_?PH3qX@ELT#e+jDtFK=iC>{F@ zD9sG2hXw^TJ>>t9stG7;1g!yj8ka#%yJ@24zXPf{^=vt-3xFEOZssee|G&xhT>qH* zZAG&Df!I*5Xw`HMG_XS$PS6m!EN%0gC}XGlSh6CJ!f$fn^8O)tiK6kC53}4U6I~eij9p`)#2XwQlm&8ow=YxQOdPc`OKu?xd_Kb zKvjZTbAIqp4s!4( zHoXbAlLVgLQ8R>GjorzP&Ay-pai~`uemZ#6EZrjmr#Lb8R9J!yrKc^CaYC{qXNIDXh+SuRSGY45)#58r;k@M6O#2u zt!!3p$Bb4JUf1tY*#^a1`DncMkNNG5{pr2AzrB35W$NFtWjpE#`rBzkPcP@Uzey6QoD{M#{-|Q8TicYbOqauAOHCz4&hl{`S>0UI>HwJ(TmyXSuajVwXx literal 0 HcmV?d00001 diff --git a/docs/site/translation.md b/docs/site/translation.md index c02f7d17f..b9e5a12b1 100644 --- a/docs/site/translation.md +++ b/docs/site/translation.md @@ -28,6 +28,16 @@ https://github.com/vrm-c/vrm.dev.en ::: +:::danger 英語版の反映方法 + +英語版を merge した `次回の日本語版 の github action` でビルドされます。 +即座に反映したい場合は、日本語版の reposity の `Actions` - `Docusaurus` - `Run workflow` ボタンを +手動で押してください(緑のボタン)。 + +![action](./kick_action.jpg) + +::: + ## 翻訳手順 - vrm.dev の内容が更新される diff --git a/docs/vrma/index.md b/docs/vrma/index.md index 52c17d222..a668c1497 100644 --- a/docs/vrma/index.md +++ b/docs/vrma/index.md @@ -4,54 +4,62 @@ url: /vrma_about/ weight: 1 --- +https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm_animation-1.0 + # VRM Animation -## 「VRMアニメーション」とは? +## 「VRM アニメーション」とは? -VRMアニメーションは、VRMで定義された人型モデルのアニメーションを記述できます。 +VRM アニメーションは、VRM で定義された人型モデルのアニメーションを記述できます。 -- 同じVRMアニメーションファイルが**あらゆるVRMファイルで利用できます。** +- 同じ VRM アニメーションファイルが**あらゆる VRM ファイルで利用できます。** - フォーマットは**glTF**で記述され、**クロスプラットフォーム**で取り扱うことができます。 -- UniVRMを通じて、**UnityでVRMアニメーションを読み書きする標準実装が提供されます。** +- UniVRM を通じて、**Unity で VRM アニメーションを読み書きする標準実装が提供されます。** ## ファイルの内容 -- アニメーションは**glTFのアニメーション**として記述されます。 -- **VRMの各コンポーネントととアニメーション対象のglTFノードを対応付ける情報**が拡張内に定義されています。 - - `VRMC_vrm_animation` という拡張で定義されます。 - - 拡張子として `.vrma` を利用することが推奨されます。 -- **Humanoidボーンアニメーション**を記述可能です。 - - glTFノードがどのHumanoidボーンに対応するかを拡張内で記述します。 - - アニメーションで定義されたボーン回転を宛先となるVRMに適切に反映するよう、回転の変換を行うことを実装に期待します。 -- **表情アニメーション**を記述可能です。 - - 表情のウェイトをglTFノードの座標に変換した状態で保持します。 - - VRMで定義されたプリセット表情のほか、宛先VRMに相当する表情が定義されていればカスタム表情についても反映が可能です。 -- **視線制御アニメーション**を記述可能です。 - - 視線がどの方向に向くべきかを表すglTFノードを拡張内で指定します。 +- アニメーションは**glTF のアニメーション**として記述されます。 +- **VRM の各コンポーネントととアニメーション対象の glTF ノードを対応付ける情報**が拡張内に定義されています。 + - `VRMC_vrm_animation` という拡張で定義されます。 + - 拡張子として `.vrma` を利用することが推奨されます。 +- 🦴 **Humanoid ボーンアニメーション**を記述可能です。 + - glTF ノードがどの Humanoid ボーンに対応するかを拡張内で記述します。 + - アニメーションで定義されたボーン回転を宛先となる VRM に適切に反映するよう、回転の変換を行うことを実装に期待します。 +- 😄 **表情アニメーション**を記述可能です。 + - 表情のウェイトを glTF ノードの座標に変換した状態で保持します。 + - VRM で定義されたプリセット表情のほか、宛先 VRM に相当する表情が定義されていればカスタム表情についても反映が可能です。 +- 👀 **視線制御アニメーション**を記述可能です。 + - 視線がどの方向に向くべきかを表す glTF ノードを拡張内で指定します。 -## VRMアニメーションでできること +## VRM アニメーションでできること -VRMアニメーションを利用することで、人型モデルに対するアニメーションを**アプリケーションやモデルをまたいで利用できます。** +VRM アニメーションを利用することで、人型モデルに対するアニメーションを**アプリケーションやモデルをまたいで利用できます。** 例えば、以下のような使い方が想定されます。 -- VRMアニメーションに対応したオーサリングツールを利用して、アニメーションを作成する +- VRM アニメーションに対応したオーサリングツールを利用して、アニメーションを作成する - モーションキャプチャで記録したアニメーションをさまざまなアプリケーションで利用する - 作ったアニメーションを配信アプリや撮影アプリで再生する - 作ったアニメーションをメタバースに持っていって再生するほか、他のユーザとシェアして一緒に使う -- VRMアニメーションファイルをゲームエンジンで読み込み、ゲーム等の開発で利用する +- VRM アニメーションファイルをゲームエンジンで読み込み、ゲーム等の開発で利用する -## VRMアニメーションが使えるアプリケーション +## VRM アニメーションが使えるアプリケーション :::warning -VRMアニメーションの仕様を検討するにあたり、多くのアプリケーションにdraft仕様への対応にご協力いただきました。VRMアニメーション仕様は正式リリースされたばかりです。draft版に対応したアプリケーションを利用する場合、正式版の仕様と動作が異なったり、想定通りの動作をしない場合があります。 +VRM アニメーションの仕様を検討するにあたり、多くのアプリケーションに draft 仕様への対応にご協力いただきました。VRM アニメーション仕様は正式リリースされたばかりです。draft 版に対応したアプリケーションを利用する場合、正式版の仕様と動作が異なったり、想定通りの動作をしない場合があります。 ::: :::info -このリストにアプリケーションを追加したい場合、[GitHub上のレポジトリにPull Requestを送ってください。](https://github.com/vrm-c/vrm.dev) +このリストにアプリケーションを追加したい場合、 + +[GitHub の issues](https://github.com/vrm-c/vrm.dev/issues)か +[GitHub の Pull Request](https://github.com/vrm-c/vrm.dev/pulls)を +送ってください。 + +名前と URL が必要です。 ::: @@ -63,13 +71,28 @@ VRMアニメーションの仕様を検討するにあたり、多くのアプ - [AnimationClipToVrmaSample](https://github.com/malaybaku/AnimationClipToVrmaSample) - [VMagicMirror](https://malaybaku.github.io/VMagicMirror/) - [VRM Posing Desktop](https://store.steampowered.com/app/1895630/VRM_Posing_Desktop/) -- [VRMスプリングボーン調整ツール](https://napharmonia.com/vrmtool/) -- [VRMA, BVHをアップロードして VRMを動かすやつ](https://tfuru.github.io/vrma-loader-sample/) +- [VRM スプリングボーン調整ツール](https://napharmonia.com/vrmtool/) +- [VRMA, BVH をアップロードして VRM を動かすやつ](https://tfuru.github.io/vrma-loader-sample/) + +## VRM アニメーションを利用したアプリケーションを開発する -## VRMアニメーションを利用したアプリケーションを開発する +VRM-1.0 の方に、VRM-Animation サポートが実装されています。 -:::note +### import -TODO: UniVRMへのリンクを貼る +[import](/vrma/univrm-vrma/vrma-import) +と +[retarget](/vrma/univrm-vrma/retarget) +を参照してください。 +### export + +また、Unity 上に humanoid のアニメーションがある場合に、 +コマ送りして VRM-Animation として export することが可能です。 + +:::warning editor 専用です ::: + +[export](/vrma/univrm-vrma/vrma-export) + +を参照してださい。 diff --git a/docs/vrma/univrm-vrma/index.md b/docs/vrma/univrm-vrma/index.md deleted file mode 100644 index baab0830e..000000000 --- a/docs/vrma/univrm-vrma/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# UniVRM の VRM-Animation - -import, export, `初期姿勢の差異の解決` を実装しています。 - diff --git a/docs/vrma/univrm-vrma/retarget.md b/docs/vrma/univrm-vrma/retarget.md index 8f4f86619..e0437708e 100644 --- a/docs/vrma/univrm-vrma/retarget.md +++ b/docs/vrma/univrm-vrma/retarget.md @@ -27,3 +27,5 @@ UniVRM 以外でもアニメーション変換を実装できます。 https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm_animation-1.0/how_to_transform_human_pose.ja.md +モデルとモーションのスケルトンが、 +HumanoidBone 仕様を満たしていて TPose であることが必要条件です。 diff --git a/docusaurus.config.ts b/docusaurus.config.ts index b04e429a0..8521d29b1 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -74,6 +74,12 @@ const config: Config = { sidebarId: "vrmSidebar", position: "left", }, + { + label: "🎉VRM Animation🎉", + type: "docSidebar", + sidebarId: "vrmaSidebar", + position: "left", + }, { to: "/showcase", label: "ShowCase", position: "left" }, { label: "VRM-1.0", @@ -93,12 +99,6 @@ const config: Config = { sidebarId: "univrmSidebar", position: "left", }, - { - label: "VRM Animation", - type: "docSidebar", - sidebarId: "vrmaSidebar", - position: "left", - }, { label: "glTF", type: "docSidebar", diff --git a/sidebars.ts b/sidebars.ts index f12676d28..a77c88de7 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -178,7 +178,6 @@ const sidebars: SidebarsConfig = { label: "VRM Animation", link: { type: "doc", id: "vrma/index" }, items: [ - "vrma/univrm-vrma/index", "vrma/univrm-vrma/vrma-import", "vrma/univrm-vrma/vrma-export", "vrma/univrm-vrma/retarget", From 60956ca6de62dadecd1a9cc2c8cd03dffcc3a96f Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 15 Feb 2024 19:05:21 +0900 Subject: [PATCH 3/9] fix links --- docs/api/load/index.md | 3 +-- docs/api/runtime-import/import_glb.md | 2 +- docs/api/runtime-import/import_vrm0.md | 2 +- docs/api/runtime-import/import_vrma.md | 2 +- docs/api/vrm1_load.md | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/api/load/index.md b/docs/api/load/index.md index b3ab5519b..7bafa2c07 100644 --- a/docs/api/load/index.md +++ b/docs/api/load/index.md @@ -2,5 +2,4 @@ `v0.118` -[RuntimeImport](/api/runtime-import/index) - +[RuntimeImport](/api/runtime-import/) diff --git a/docs/api/runtime-import/import_glb.md b/docs/api/runtime-import/import_glb.md index 4715516f3..555185821 100644 --- a/docs/api/runtime-import/import_glb.md +++ b/docs/api/runtime-import/import_glb.md @@ -1,6 +1,6 @@ # load glb -[GltfData](/docs/api/runtime-import/gltfdata) から Unity ヒエラルキーを構築します。 +[GltfData](/api/runtime-import/gltfdata) から Unity ヒエラルキーを構築します。 diff --git a/docs/api/runtime-import/import_vrm0.md b/docs/api/runtime-import/import_vrm0.md index 955e619f8..05ef141c7 100644 --- a/docs/api/runtime-import/import_vrm0.md +++ b/docs/api/runtime-import/import_vrm0.md @@ -1,6 +1,6 @@ # load vrm-0.x -[GltfData](/docs/api/runtime-import/gltfdata) から vrm-0.x ヒエラルキーを構築します。 +[GltfData](/api/runtime-import/gltfdata) から vrm-0.x ヒエラルキーを構築します。 diff --git a/docs/api/runtime-import/import_vrma.md b/docs/api/runtime-import/import_vrma.md index 2f46fdecd..7abd3f68f 100644 --- a/docs/api/runtime-import/import_vrma.md +++ b/docs/api/runtime-import/import_vrma.md @@ -1,6 +1,6 @@ # load VRM-Animation -[GltfData](/docs/api/runtime-import/gltfdata) から VRM-Animation ヒエラルキーを構築します。ー +[GltfData](/api/runtime-import/gltfdata) から VRM-Animation ヒエラルキーを構築します。ー diff --git a/docs/api/vrm1_load.md b/docs/api/vrm1_load.md index f5588b285..73419a2ea 100644 --- a/docs/api/vrm1_load.md +++ b/docs/api/vrm1_load.md @@ -1,6 +1,6 @@ # load vrm-1.0 -[GltfData](/docs/api/runtime-import/gltfdata) から vrm-1.0 ヒエラルキーを構築します。 +[GltfData](/api/runtime-import/gltfdata) から vrm-1.0 ヒエラルキーを構築します。 From 53b4b86c5d0f1830a3c2844e4f7406648568f976 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 15 Feb 2024 20:54:02 +0900 Subject: [PATCH 4/9] =?UTF-8?q?gltfdata=20=E8=BF=BD=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api/runtime-import/await_caller.md | 39 +++++++++++++++++++++++++ docs/api/runtime-import/gltfdata.md | 38 +++++++++++++++--------- docs/api/runtime-import/import_urp.md | 1 + docs/api/runtime-import/import_vrm0.md | 1 + docs/api/runtime-import/import_vrma.md | 6 ---- docs/api/runtime-import/index.mdx | 8 ++++- sidebars.ts | 2 +- 7 files changed, 74 insertions(+), 21 deletions(-) delete mode 100644 docs/api/runtime-import/import_vrma.md diff --git a/docs/api/runtime-import/await_caller.md b/docs/api/runtime-import/await_caller.md index a8e889e1e..c8aac8050 100644 --- a/docs/api/runtime-import/await_caller.md +++ b/docs/api/runtime-import/await_caller.md @@ -1,2 +1,41 @@ # import の最適化について +## GltfData + +:::tip UniGLTF.GltfData の生成はスレッドセーフです +Unity にアクセスしません。 +Parse を別スレッドで実行可能です。 + +```cs +// 使用例 +var task = Task.Run(()=>{ + // スレッド OK + return new GlbBinaryParser(bytes, path).Parse(); +}); + +using(var data = await task){ + +} +``` + +::: + +## IAwaitCaller + +Task を小出しにすることでフレームレートの低下に対策できます。 + +[0_87_runtime_import](/api/0_87_runtime_import) + +### ImmediateCaller + +小出しにせずに普通に処理します。 +UnityEditor や UnitTest など Unity の frame が回っていない環境でも +動くように作られています。 + +### RuntimeOnlyAwaitCaller + +Unity の `yield return` と似た感じです。 +後続の処理を次のフレームに先送りします。 + +:::tip フレーム当りの処理量は減るがトータルで必要な時間は長くなります +::: diff --git a/docs/api/runtime-import/gltfdata.md b/docs/api/runtime-import/gltfdata.md index af217ce1f..dbd5bbbca 100644 --- a/docs/api/runtime-import/gltfdata.md +++ b/docs/api/runtime-import/gltfdata.md @@ -2,24 +2,36 @@ `.glb`, `.vrm`, `.vrma` など から GltfData をロードします。 -## `byte[]` からロードする - -## TextAsset からロードする +GltfData が入手できたら中身に合わせた GameObject 生成へと分岐してください。 -## filepath からロードする +## `byte[]` からロードする -## WebGL で url からロードする +```cs +public sealed class GlbBinaryParser +{ + public GlbBinaryParser(byte[] data, string uniqueName) +} -## GltfData から GameObject を生成する。 +// 使用例 +using (GltfData data = new GlbBinaryParser(bytes, path).Parse()) +{ +} +``` -GltfData が入手できたら中身に合わせた GameObject 生成へと分岐してください。 +## filepath からロードする -:::info UniGLTF.GltfData は vrm-0, vrm-1, glb, gltf で共通です -::: +```cs +public sealed class GlbFileParser +{ + public GlbFileParser(string glbFilePath) +} -:::tip UniGLTF.GltfData の生成はスレッドセーフです -Unity にアクセスしません。 -::: +// 使用例 +using (GltfData data = new GlbFileParser(path).Parse()) +{ +} +``` -## GltfData から vrm-0.x, vrm-1.0 vrma を判別する +## Dispose +- [0_95_dispose](/api/0_95_dispose) diff --git a/docs/api/runtime-import/import_urp.md b/docs/api/runtime-import/import_urp.md index 8fa382002..3771ac8d4 100644 --- a/docs/api/runtime-import/import_urp.md +++ b/docs/api/runtime-import/import_urp.md @@ -2,3 +2,4 @@ オプションで urp material への差し替えができます。 +[0_112_urp](/api/0_112_urp) diff --git a/docs/api/runtime-import/import_vrm0.md b/docs/api/runtime-import/import_vrm0.md index 05ef141c7..7fcdce764 100644 --- a/docs/api/runtime-import/import_vrm0.md +++ b/docs/api/runtime-import/import_vrm0.md @@ -10,3 +10,4 @@ vrm-1.0 のモデルはロードできません。 ::: +[0_82_runtime_import](/api/0_82_runtime_import) diff --git a/docs/api/runtime-import/import_vrma.md b/docs/api/runtime-import/import_vrma.md deleted file mode 100644 index 7abd3f68f..000000000 --- a/docs/api/runtime-import/import_vrma.md +++ /dev/null @@ -1,6 +0,0 @@ -# load VRM-Animation - -[GltfData](/api/runtime-import/gltfdata) から VRM-Animation ヒエラルキーを構築します。ー - - - diff --git a/docs/api/runtime-import/index.mdx b/docs/api/runtime-import/index.mdx index 1c7f702d5..8313ae113 100644 --- a/docs/api/runtime-import/index.mdx +++ b/docs/api/runtime-import/index.mdx @@ -6,10 +6,16 @@ glb vrm vrma などのファイルを入力、 UnityEngine.GameObject のヒエラルキーを出力とする手順です。 2ステップに別れています。 -はじめにファイルか中間データ[UniGLTF.GltfData](/api/runtime-import/gltfdata) の生成をします。この手順は glb, vrm-0.x, vrm-1.0, vrm-animation で共通です。 +はじめにファイルから中間データ[UniGLTF.GltfData](/api/runtime-import/gltfdata) の生成をします。この手順は glb, vrm-0.x, vrm-1.0, vrm-animation で共通です。 次に glb, vrm-0.x, vrm-1.0, vrm-animation などの glTF 拡張に応じた GameObject 構築手順を実行します。 +:::info 便利関数 + +[0_95_highlevel](/api/0_95_highlevel) + +::: + diff --git a/sidebars.ts b/sidebars.ts index a77c88de7..6a3c67f97 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -276,7 +276,7 @@ const sidebars: SidebarsConfig = { { type: "doc", id: "api/vrm1_controlrig" }, ], }, - "api/runtime-import/import_vrma", + "vrma/univrm-vrma/vrma-import", "api/runtime-import/import_urp", "api/runtime-import/await_caller", { From f7c6a74b07829b0c44d7b0be37b0106fd29e2b97 Mon Sep 17 00:00:00 2001 From: Fuji Sunflower Date: Sat, 17 Feb 2024 08:38:12 +0900 Subject: [PATCH 5/9] Update univrm_secondary.md --- docs/univrm/springbone/univrm_secondary.md | 50 ++++++++++------------ 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/docs/univrm/springbone/univrm_secondary.md b/docs/univrm/springbone/univrm_secondary.md index 600350338..8b1d1f9b9 100644 --- a/docs/univrm/springbone/univrm_secondary.md +++ b/docs/univrm/springbone/univrm_secondary.md @@ -11,49 +11,45 @@ tags: ["unity"] 揺れモノ設定に関するコンポーネント群です。 -## コンポーネントが追加される場所 -### VRMSpringBone - -VRMのインポートの際は、自動的生成される```secondary```という名前のゲームオブジェクトに追加されます。 - -### VRMSpringBoneColliderGroup - -VRMのインポートの際は、エクスポートの際に追加したゲームオブジェクトにそのまま追加されます。 - -![figure](/images/vrm/vrm_settings.png) - -VRMSpringBoneが見つからない場合には``secondary``という名前のゲームオブジェクトをご確認ください。 - ## VRMSpringBone -揺れモノとして尻尾・髪の毛・衣装などの動きに合わせて揺れて欲しい部位の設定です。 -揺らしたい部位の一番親のGameObjectをRootBonesに指定してください。 +尻尾・髪の毛・衣装など揺れモノとして動きに合わせて揺れて欲しい部位の設定です。 +揺らしたい部位の一番親のボーンをRootBonesに指定してください。 +そうすることでRootBonesに指定した部位の子ボーンも動きに合わせて揺れます。 ![RootBonesに髪の毛とリボンの根本を指定](/images/vrm/VRMSpringBone.png) -RootBonesに指定した部位の子ボーンも含めて動きに合わせて揺れます。 +### 移動する際の揺れ防止 +VRMSpringBoneは通常ワールド原点を基準に揺れ計算をします。 +一方で、VRMSpringBoneのCenterを活用すると揺れ計算の基準点をボーンなどに変更できます。 +以下のような場合にCenterの活用が効果的です。 +- モデルが歩行などによって平行移動した場合にSpringBoneが揺れ過ぎてしまう +- 頭を動かした場合のみに髪の毛や髪飾りなど頭についているSpringBoneが動いてほしい -## [オプション] VRMSpringBoneColliderGroup +なお[VRM 1.0ではCenterに設定出来るノードの制約が決まりました](https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_springBone-1.0/README.ja.md)が、VRM 0.Xの段階ではCenterに設定出来るノードの制約が決まっていませんでした。 +> Centerノードは、そのSpringChainの0番目のJointもしくは、その祖先nodeである必要があります。 また、Centerノードには、他のSpringChainのJointノードおよびその子孫を指定することはできません。 -揺れモノが特定の部位を貫通しないように当たり判定を追加できます。 +## VRMSpringBoneColliderGroup + +揺れモノが特定の部位を貫通しないようにボーンに当たり判定を追加できます。 +1つのボーンに追加したVRMSpringBoneColliderGroupで複数の当たり判定を設定することが可能です。 ![頭に当たり判定(VRMSpringBoneColliderGroup)を追加](/images/vrm/collider.png) -当たり判定を入れたいボーンにVRMSpringBoneColliderGroupを追加した後にVRMSpringBoneのColliderGroupsで指定してください。 +VRMSpringBoneColliderGroupを追加した後はVRMSpringBoneのColliderGroupsに登録してください。 ![headにVRMSpringBoneColliderGroupを追加して、VRMSpringBoneのCollierGroupsに指定](/images/vrm/set_collider.png) ![動作時のGizmo](/images/vrm/spring_gizmo.png) -## 設定したVRMSpringBoneが無い - -VRMSpringBoneはインポート時に```secondary```ノードに追加されます。エクスポート時と違う場所に現れるのでご注意ください。 +## コンポーネントが追加される場所 +### VRMSpringBone -## 複雑な当たり判定の設定 +VRMのインポートの際は、自動的生成される```secondary```という名前のゲームオブジェクトにVRMSpringBoneが追加されます。 +エクスポートの際と異なっていてVRMSpringBoneが見つからないことがあるのでご注意ください。 -複雑な当たり判定の設定をする際は、追加した1つのVRMSpringBoneColliderGroupで複数の球を設定します。 +### VRMSpringBoneColliderGroup -## 移動する際の揺れ防止 +VRMのインポートの際は、エクスポートの際に追加したゲームオブジェクトにVRMSpringBoneColliderGroupがそのまま追加されます。 -通常のVRMSpringBoneはワールド原点を基準に計算しています。VRMSpringBoneのCenterにゲームオブジェクトを指定すると揺れモノの基準点を変更できます。 -例えば、歩行の際に移動する親ゲームオブジェクトを指定すると揺れモノの不要な揺れが防止できます。 +![figure](/images/vrm/vrm_settings.png) From 9575b7c6cc5edbec0586ff9e9cb8173786d67de1 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Feb 2024 16:30:44 +0900 Subject: [PATCH 6/9] =?UTF-8?q?install=20=E3=81=BE=E3=82=8F=E3=82=8A?= =?UTF-8?q?=E3=81=AE=E5=8F=A4=E9=81=8E=E3=81=8E=E3=82=8B=E8=A8=98=E4=BA=8B?= =?UTF-8?q?=E3=81=AA=E3=81=A9=E3=82=92=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api/index.md | 2 - docs/api/index.mdx | 6 ++ docs/api/sample/sample_install.md | 44 ++++++++++ docs/api/upm.md | 79 +++++++++++++++++ docs/release/055/index.md | 8 +- docs/release/056/index.md | 51 ++++++++--- docs/release/068/index.md | 20 +++++ docs/release/079/index.md | 23 +++-- docs/release/index.md | 2 - docs/release/index.mdx | 18 ++++ docs/univrm/index.md | 66 -------------- docs/univrm/index.mdx | 10 +++ docs/univrm/install/index.mdx | 4 + docs/univrm/install/install_error.md | 22 +++++ docs/univrm/install/univrm_install.md | 29 +++--- docs/univrm/install/univrm_install_samples.md | 44 +--------- docs/univrm/install/univrm_uninstall.md | 4 +- docs/univrm/install/univrm_upm.md | 85 +----------------- docs/univrm/install/univrm_version.md | 88 +------------------ docs/univrm/programming/index.md | 10 +-- sidebars.ts | 11 +-- 21 files changed, 297 insertions(+), 329 deletions(-) delete mode 100644 docs/api/index.md create mode 100644 docs/api/index.mdx create mode 100644 docs/api/sample/sample_install.md create mode 100644 docs/api/upm.md delete mode 100644 docs/release/index.md create mode 100644 docs/release/index.mdx delete mode 100644 docs/univrm/index.md create mode 100644 docs/univrm/index.mdx create mode 100644 docs/univrm/install/index.mdx create mode 100644 docs/univrm/install/install_error.md diff --git a/docs/api/index.md b/docs/api/index.md deleted file mode 100644 index a880a7f98..000000000 --- a/docs/api/index.md +++ /dev/null @@ -1,2 +0,0 @@ -# UniVRM API - diff --git a/docs/api/index.mdx b/docs/api/index.mdx new file mode 100644 index 000000000..3a69c67c9 --- /dev/null +++ b/docs/api/index.mdx @@ -0,0 +1,6 @@ +import DocCardList from '@theme/DocCardList'; + +# UniVRM API + + + diff --git a/docs/api/sample/sample_install.md b/docs/api/sample/sample_install.md new file mode 100644 index 000000000..97ff625cb --- /dev/null +++ b/docs/api/sample/sample_install.md @@ -0,0 +1,44 @@ +# UniVRM サンプルをインストールする + +このセクションでは、[UniVRM パッケージをインストール](/univrm/install/univrm_install)したことを想定しています。 + +## UniVRM サンプルのパッケージ + +`v0.81.0` から UniVRM サンプルは UniVRM パッケージに含まれています。 +最新の UniVRM バージョンがインストールされている場合は、[UniVRM サンプルのシーンを実行する](#univrmサンプルのシーンを実行する)セクションをご覧ください。 + +### ~ v0.80.0 + +https://github.com/vrm-c/UniVRM/releases + +`UniVRM-samples-0.XX.X_XXXX.unitypackage` + +です。 + +### インポート + +メニューから `Assets -> Import Package -> Custom Package` で `UniVRM-samples-0.XX.X_XXXX.unitypackage` を選択します。 + +以下の画像ようにインポートウィンドウを見たら、`Import`ボタンをクリックしてください: + +![sample_package_import](/images/vrm/sample_package_import.jpg) + +## UniVRM サンプルのシーンを実行する + +`VRM.Samples`フォルダは`Assets`にあります。プロジェクトウィンドウに`SampleViewer`を選択します: + +![sample_scene](/images/vrm/sample_scene.jpg) + +`Game`タブをクリックして、`SampleViewer`のインタフェースを表示させます: + +![sample_viewer](/images/vrm/sample_viewer.jpg) + +`Play`ボタンをクリックして`SampleViewer`を有効になります。実行時に`Open`ボタンをクリックして VRM モデルをシーンにインポートします: + +![play_mode](/images/vrm/play_mode.jpg) + +![sample_viewer_activate](/images/vrm/sample_viewer_activate.jpg) + +`VRM.Samples`に[ランタイム VRM エクスポート](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/RuntimeExporterSample)と[一人称レンダリング](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/FirstPersonSample)のサンプルがあります。 + +Alicia モデルは[こちら](https://github.com/vrm-c/UniVRM/blob/master/Tests/Models/Alicia_vrm-0.51/AliciaSolid_vrm-0.51.vrm)。 diff --git a/docs/api/upm.md b/docs/api/upm.md new file mode 100644 index 000000000..2f7bfa61e --- /dev/null +++ b/docs/api/upm.md @@ -0,0 +1,79 @@ +# Unity Package Manager + +:::info git が必要です + +https://git-scm.com/ + +Unity Manual [Requirements](https://docs.unity3d.com/Manual/upm-git.html#req) を参照してください。 + +> To use Git dependencies in a project, +> make sure the [Git client](https://git-scm.com/) +> is installed on your machine and that you have added the Git executable path +> to the PATH system environment variable. + +- powershell からバージョンを確認した例 (20201130) + +```sh +> git --version +git version 2.29.2.windows.2 +``` + +::: + +:::danger git 未インストール + +> An error occurred while resolving packages: +> Project has invalid dependencies: +> com.vrmc.vrmshaders: No 'git' executable was found. +> Please install Git on your system then restart Unity and Unity Hub + +というようなエラーが出ます。 + +::: + +:::warning 他の git のトラブル + +https://git-scm.com/ からインストールした +git.exe (デフォルトは、 `C:\Program Files\Git\cmd\git.exe`) が、 +環境変数 PATH の中で最初に見つかるように設定してください。 + +::: + +## UniVRM の UPM package + +`v0.119` の例 + +https://github.com/vrm-c/UniVRM/releases + +| name | url | note | +| ------------------- | -------------------------------------------------------------------- | ------------- | +| com.vrmc.vrmshaders | https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.119.0 | material 周辺 | +| com.vrmc.gltf | https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.119.0 | UniGLTF | +| com.vrmc.univrm | https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.119.0 | VRM-0.x | +| com.vrmc.vrm | https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.119.0 | VRM-1.0 | + +## UnityPackageManager ウインドウによるインストール + +![UnityPackageManagerのWindow](/images/vrm10/menu_packagemanager.jpg) + +![add package from git URL](/images/vrm10/from_git.jpg) + +Project ウィンドウの Packages フォルダにインポートしたパッケージを確認する + +![figure](/images/vrm/upm_package.jpg) + +## packages/manifest.json 直接編集によるインストール + +以下の内容を追記してください。 + +```js title="v0.119の例" +{ + "dependencies": { + // ... + "com.vrmc.gltf": "https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.119.0", + "com.vrmc.univrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.119.0", + "com.vrmc.vrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.119.0", + "com.vrmc.vrmshaders": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.119.0", + // ... +} +``` diff --git a/docs/release/055/index.md b/docs/release/055/index.md index 12b5658cc..759a92b7d 100644 --- a/docs/release/055/index.md +++ b/docs/release/055/index.md @@ -1,8 +1,12 @@ -# ~v0.55 (Unity-5.6 .NET-3.5) 推奨バージョンv0.55 +# ~ v0.55 (Unity-5.6 .NET-3.5) 推奨バージョン v0.55 + +| date | version | +| ---- | ------------------------------------------------------------- | +| 2019 | [0.55.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.55.0) | ## UnityPackage -* `UniVRM-0.XX.0_YYYY.unitypackage` +- `UniVRM-0.XX.0_YYYY.unitypackage` ## Releases diff --git a/docs/release/056/index.md b/docs/release/056/index.md index fae93d6d9..8273a0018 100644 --- a/docs/release/056/index.md +++ b/docs/release/056/index.md @@ -1,18 +1,47 @@ -# v0.56~v0.67 (Unity-2018.4) 推奨バージョンv0.66 +# v0.56 ~ v0.67 (Unity-2018.4) 推奨バージョン v0.66 + +- 更新で入った新しいバグ: バージョンアップで新規に混入したバグ。迅速にバグフィックス + +| date | version | 安定性・バグ | 更新内容・備考 | +| ---------- | ------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------- | +| 2020 | [0.56.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.0) | x | Unity-2018.4 に変更 | +| | [0.56.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.1) | x | | +| | [0.56.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.2) | x | | +| | [0.56.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.3) | | | +| | [0.57.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.57.0) | | ボーン名重複時にに自動でリネームするようになりました | +| | [0.57.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.57.1) | | | +| | [0.58.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.58.0) | [^firstperson_import] | エクスポートダイアログの作り直し | +| | [0.58.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.58.1) | | | +| | [0.59.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.59.0) | | springBone の Missing を検知してメッセージ | +| | [0.60.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.60.0) | | null check 的なものが増えて、モデル改変してもエラーが出にくくなりました | +| | [0.61.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.0) | [^springcollider] | UniUnlit の頂点カラー。AOT 問題を修正 | +| | [0.61.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.1) | | | +| | [0.62.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.62.0) | | BlendShape bake の動作が正しくなった | +| 2021 01/05 | [0.63.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.0) | [^jpg] [^kwmap] [^upm] | jpg 問題あり。UniGLTF 分離 | +| 01/07 | [0.63.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.1) | [^jpg] [^kwmap] | jpg 問題あり | +| 01/08 | [0.63.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.2) | | | +| 01/15 | [0.64.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.64.0) | [^asmdef] | メッシュの一部を削除したときのエクスポートエラーを回避。vrm-1.0 Experimental | +| 01/26 | [0.65.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.0) | [^build] | | +| 01/28 | [0.65.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.1) | [^build] | トルコ語の Export を修正[\#696](https://github.com/vrm-c/UniVRM/issues/696) | +| 01/28 | [0.65.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.2) | | | +| | [0.65.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.3) | | UniGLTF のバージョン。UPM 専用。パッケージリリース無し | +| 02/03 | [0.66.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) | 安定 ✅ | 未正規化ヒエラルキーにスプリングボーンがあるときの警告メッセージ | +| | [0.67.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.0) | | UPM 専用。パッケージリリース無し | +| | [0.67.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.1) | | UPM 専用。パッケージリリース無し | ## ReleaseNote ```{toctree} :glob: :maxdepth: 1 - + v* ``` ## Download | date | version | 安定性・バグ | 更新内容・備考 | -|------------|----------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------| +| ---------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------- | | 2020 | [0.56.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.0) | x | Unity-2018.4 に変更 | | | [0.56.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.1) | x | | | | [0.56.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.2) | x | | @@ -23,20 +52,20 @@ v* | | [0.58.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.58.1) | | | | | [0.59.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.59.0) | | springBone の Missing を検知してメッセージ | | | [0.60.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.60.0) | | null check 的なものが増えて、モデル改変してもエラーが出にくくなりました | -| | [0.61.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/20?closed=1) | [^springcollider] | UniUnlit の頂点カラー。AOT問題を修正 | +| | [0.61.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/20?closed=1) | [^springcollider] | UniUnlit の頂点カラー。AOT 問題を修正 | | | [0.61.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.1) | | | | | [0.62.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.62.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/21?closed=1) | | BlendShape bake の動作が正しくなった | -| 2021 01/05 | [0.63.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/25?closed=1) | [^jpg] [^kwmap] [^upm] | jpg問題あり。UniGLTF分離 | -| 01/07 | [0.63.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.1) | [^jpg] [^kwmap] | jpg問題あり | +| 2021 01/05 | [0.63.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/25?closed=1) | [^jpg] [^kwmap] [^upm] | jpg 問題あり。UniGLTF 分離 | +| 01/07 | [0.63.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.1) | [^jpg] [^kwmap] | jpg 問題あり | | 01/08 | [0.63.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.2) | | | | 01/15 | [0.64.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.64.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/23?closed=1) | [^asmdef] | メッシュの一部を削除したときのエクスポートエラーを回避。vrm-1.0 Experimental | | 01/26 | [0.65.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.0) | [^build] | | -| 01/28 | [0.65.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.1) [Milestone](https://github.com/vrm-c/UniVRM/milestone/28?closed=1) | [^build] | トルコ語のExportを修正[\#696](https://github.com/vrm-c/UniVRM/issues/696) | +| 01/28 | [0.65.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.1) [Milestone](https://github.com/vrm-c/UniVRM/milestone/28?closed=1) | [^build] | トルコ語の Export を修正[\#696](https://github.com/vrm-c/UniVRM/issues/696) | | 01/28 | [0.65.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.2) [Milestone](https://github.com/vrm-c/UniVRM/milestone/29?closed=1) | | | -| | [0.65.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.3) | | UniGLTFのバージョン。UPM専用。パッケージリリース無し | -| 02/03 | [0.66.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/26?closed=1) | 安定✅ | 未正規化ヒエラルキーにスプリングボーンがあるときの警告メッセージ | -| | [0.67.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/27?closed=1) | | UPM専用。パッケージリリース無し | -| | [0.67.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.1) | | UPM専用。パッケージリリース無し | +| | [0.65.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.3) | | UniGLTF のバージョン。UPM 専用。パッケージリリース無し | +| 02/03 | [0.66.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/26?closed=1) | 安定 ✅ | 未正規化ヒエラルキーにスプリングボーンがあるときの警告メッセージ | +| | [0.67.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/27?closed=1) | | UPM 専用。パッケージリリース無し | +| | [0.67.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.1) | | UPM 専用。パッケージリリース無し | [^springcollider]: スプリングボーンのコライダーの座標変換バグ。 [\#576](https://github.com/vrm-c/UniVRM/issues/576) [^jpg]: エクスポートダイアログのスクリーンショットボタンの jpg バグ。[\#639](https://github.com/vrm-c/UniVRM/issues/639) diff --git a/docs/release/068/index.md b/docs/release/068/index.md index 08925ad66..8c3326e2b 100644 --- a/docs/release/068/index.md +++ b/docs/release/068/index.md @@ -5,6 +5,26 @@ * glb/gltf に `ScriptedImporter` の導入 * `Standard` マテリアルの import/export や mipmapパたメーター などの改修 +- [API](https://vrm-c.github.io/UniVRM/ja/) + +| date | version | 安定性・バグ | 更新内容・備考 | +| ----- | -------------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | [0.68.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.0) | [^material_import] [^import_bug] | glb/gltf 座標軸オプション。ImporterContext API | +| 03/16 | [0.68.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.1) | [^import_bug] | | +| 03/17 | [0.68.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.2) | | | +| 03/22 | [0.69.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.69.0) | [^MetallicOcclusion][^EncodeToPng] [^NotUnique] | SmoothTexture 変換の修正[\#388](https://github.com/vrm-c/UniVRM/issues/388), Unity2020 対応 | +| 03/23 | [0.69.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.69.1) | [^MetallicOcclusion][^EncodeToPng] | | +| 03/31 | [0.70.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.70.0) | [^MetallicOcclusion] | impl `WEIGHTS_0` not float4 | +| 04/05 | [0.71.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.71.0) | IOS build | | +| 04/13 | [0.72.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.72.0) | | 頂点バッファを分割するオプション。T-Pose | +| 04/22 | [0.73.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.73.0) | | _ [OtherPermissionUrl 欄の修正](https://github.com/vrm-c/UniVRM/pull/897) _ [正規化するときに BlendShape を使う LookAt が Export されない](https://github.com/vrm-c/UniVRM/pull/894) | +| 05/12 | [0.74.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.74.0) | | \* [Runtime ロード後の  SpringBone  スケーリング挙動の修正](https://github.com/vrm-c/UniVRM/issues/922) | +| 05/25 | [0.75.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.75.0) | | 正規化時に LookAt のパラメーターが落ちてしまうのを修正 | +| 06/08 | [0.76.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.76.0) | | namespace MeshUtility が UnityEditor.MeshUtility class と競合するのを修正 | +| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) | | [API 更新](https://vrm-c.github.io/UniVRM/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | +| 06/23 | [0.78.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.78.0) | | https://github.com/vrm-c/UniVRM/pull/1049 | + + ## ReleaseNote ```{toctree} diff --git a/docs/release/079/index.md b/docs/release/079/index.md index f301e2596..e9b7a6c6d 100644 --- a/docs/release/079/index.md +++ b/docs/release/079/index.md @@ -1,21 +1,34 @@ -# v0.79~ (Unity-2019.4) 最新版をご利用ください +# v0.79 ~ + +`Unity-2019.4` 最新版をご利用ください + +- `0.80.0` からサポートする Unity の最低バージョンを `2019.4LTS` に更新しました。[Unity Version](/univrm/install/unity_version)。 +- `0.80.0` から `VRM-1.0β` のパッケージ提供を開始しました。 + +| date | version | 安定性・バグ | 更新内容・備考 | +| ----- | ------------------------------------------------------------- | ------------- | ------------------------------------------- | +| 07/20 | [0.79.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.79.0) | | pre release 運用終了 | +| 08/12 | [0.80.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.80.0) | | `Unity-2019.4LTS` 以降 | +| 08/20 | [0.81.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.81.0) | | 3パッケージ構成(UniGLTF, VRM, VRM-1.0beta) | +| 09/01 | [0.82.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.82.0) | glb の import | URP API | +| 09/03 | [0.82.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.82.1) | | URP API | ## ReleaseNote -* `0.80.0` からサポートする Unity の最低バージョンを `2019.4LTS` に更新しました。 -* `0.80.0` から `VRM-1.0β` のパッケージ提供を開始しました。 +- `0.80.0` からサポートする Unity の最低バージョンを `2019.4LTS` に更新しました。 +- `0.80.0` から `VRM-1.0β` のパッケージ提供を開始しました。 ```{toctree} :glob: :maxdepth: 1 - + v0.* ``` ## パッケージ(v0.81~) | unitypackage | folder | contents | -|--------------------|-----------------------------------|-----------------------| +| ------------------ | --------------------------------- | --------------------- | | VRMShaders_UniGLTF | Assets/VRMShaders, Assets/UniGLTF | VRMShaders と UniGLTF | | UniVRM | Assets/VRM | VRM-0.X | | VRM | Assets/VRM10 | VRM-1.0(β) | diff --git a/docs/release/index.md b/docs/release/index.md deleted file mode 100644 index 3705a2511..000000000 --- a/docs/release/index.md +++ /dev/null @@ -1,2 +0,0 @@ -# Release Note - diff --git a/docs/release/index.mdx b/docs/release/index.mdx new file mode 100644 index 000000000..7f925c5bf --- /dev/null +++ b/docs/release/index.mdx @@ -0,0 +1,18 @@ +# UniVRM Version + +import DocCardList from '@theme/DocCardList'; + + + +[^springcollider]: スプリングボーンのコライダーの座標変換バグ。 [\#576](https://github.com/vrm-c/UniVRM/issues/576) +[^jpg]: エクスポートダイアログのスクリーンショットボタンの jpg バグ。[\#639](https://github.com/vrm-c/UniVRM/issues/639) +[^kwmap]: シリアライザのバグ。エクスポートしたファイルの互換性。 [\#654](https://github.com/vrm-c/UniVRM/issues/654) +[^upm]: MeshUtility フォルダの移動と参照の問題。 +[^asmdef]: 他のパッケージと併用するときに install で問題が出る? [\#687](https://github.com/vrm-c/UniVRM/pull/687) +[^build]: build すると Exception( `#if UNITY_EDITOR` )。 [\#701](https://github.com/vrm-c/UniVRM/issues/701) +[^firstperson_import]: VRMFirstPerson のエディターインポートのバグ [/#515](https://github.com/vrm-c/UniVRM/issues/515) +[^material_import]: [\#786](https://github.com/vrm-c/UniVRM/issues/786) [\#788](https://github.com/vrm-c/UniVRM/issues/788) +[^import_bug]: [\#790](https://github.com/vrm-c/UniVRM/issues/790) [\#794](https://github.com/vrm-c/UniVRM/issues/794) +[^NotUnique]: [\#812](https://github.com/vrm-c/UniVRM/pull/812) +[^EncodeToPng]: [\#831](https://github.com/vrm-c/UniVRM/pull/831) +[^MetallicOcclusion]: [\#836](https://github.com/vrm-c/UniVRM/issues/836) diff --git a/docs/univrm/index.md b/docs/univrm/index.md deleted file mode 100644 index f976de1bf..000000000 --- a/docs/univrm/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -weight: 2 -menu: - main: - weight: 11 -aliases: ["/univrm/"] ---- - -# UniVRM - -## Install 方法 - -* `v0.81.0` から `unitypackage` が2つ必要です。 -* `v0.80.0` 以前のインストールは [こちら](/univrm/install/univrm_install) -* [Download](https://github.com/vrm-c/UniVRM/releases) - -### UnityPackage を使ったインストール - -https://github.com/vrm-c/UniVRM/releases から `unitypackage` をダウンロードしてください。 -`UniGLTF_VRMShaders` 、 `UniVRM` という順番で2つのパッケージをインストールしてください。 - -| | UniGLTF_VRMShaders | UniVRM | VRM | -|----------|--------------------|---------|---------| -| for GLTF | install | | | -| for VRM | install | install | | -| for VRM1 | install | | install | - -* `Sample` パッケージは廃止になり中に含まれます。 -* `UPM` の `Sample` 機能でインストールできます。 -### UPM を使ったインストール - -`v0.81.0` から `com.vrmc.unigltf` が `com.vrmc.gltf` に変更になしました。(`com.vrmc.unigltf` が独自のバージョンを持っていたのをやめるため)。 - -```js -{ - "dependencies": { - "com.vrmc.vrmshaders": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.81.0", - "com.vrmc.gltf": "https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.81.0", // <= unigltf から変わりました(v0.81.0) - "com.vrmc.univrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.81.0", - // for VRM-1.0 - "com.vrmc.vrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.81.0",} // <= univrm1 から変わりました(v0.81.0) -} -``` - -### エラーが出る場合 - -コンソール画面の内容をご確認ください。 -コンソール画面はメニューから表示できます。 - -![コンソール画面を表示するメニュー](/images/vrm/window_console.png) - -表示されたコンソール画面にエラーメッセージ(赤い)が表示されている場合、なんらかの不具合がある可能性があります。 - -![エラーの例](/images/vrm/error.png) - -エラー報告は、起こった現象に - -* OS(Windows10 64bitなど) -* Unityのバージョン(Unity-5.6.3p1など) -* UniVRMのバージョン(0.40など) - -を添えて - -* https://github.com/vrm-c/UniVRM/issues/new/choose - -にお知らせください。 diff --git a/docs/univrm/index.mdx b/docs/univrm/index.mdx new file mode 100644 index 000000000..fe2a27825 --- /dev/null +++ b/docs/univrm/index.mdx @@ -0,0 +1,10 @@ +--- +aliases: ["/univrm/"] +--- + +import DocCardList from '@theme/DocCardList'; + +# UniVRM + + + diff --git a/docs/univrm/install/index.mdx b/docs/univrm/install/index.mdx new file mode 100644 index 000000000..6c007a542 --- /dev/null +++ b/docs/univrm/install/index.mdx @@ -0,0 +1,4 @@ +import DocCardList from '@theme/DocCardList'; + + + diff --git a/docs/univrm/install/install_error.md b/docs/univrm/install/install_error.md new file mode 100644 index 000000000..6160737e0 --- /dev/null +++ b/docs/univrm/install/install_error.md @@ -0,0 +1,22 @@ +# エラーが出る場合 + +コンソール画面の内容をご確認ください。 +コンソール画面はメニューから表示できます。 + +![コンソール画面を表示するメニュー](/images/vrm/window_console.png) + +表示されたコンソール画面にエラーメッセージ(赤い)が表示されている場合、なんらかの不具合がある可能性があります。 + +![エラーの例](/images/vrm/error.png) + +エラー報告は、起こった現象に + +- OS(Windows10 64bit など) +- Unity のバージョン(Unity-5.6.3p1 など) +- UniVRM のバージョン(0.40 など) + +を添えて + +- https://github.com/vrm-c/UniVRM/issues/new/choose + +にお知らせください。 diff --git a/docs/univrm/install/univrm_install.md b/docs/univrm/install/univrm_install.md index b6b775d7b..9e412e53e 100644 --- a/docs/univrm/install/univrm_install.md +++ b/docs/univrm/install/univrm_install.md @@ -5,11 +5,19 @@ aliases: ["/univrm/univrm_install/", "/univrm/install/univrm_install/"] tags: ["unity"] --- -# UniVRMをインストールする +# .unitypackage ファイル -## Unity Version +https://github.com/vrm-c/UniVRM/releases から `unitypackage` をダウンロードしてください。 +`UniGLTF_VRMShaders` 、 `UniVRM` という順番で2つのパッケージをインストールしてください。 -* Unity-2019.4 が推奨バージョンです。その他のバージョンは、[Unityのバージョン](/univrm/install/unity_version) を参照してください。 +| | UniGLTF_VRMShaders | UniVRM | VRM | +| -------- | ------------------ | ------- | ------- | +| for GLTF | install | | | +| for VRM | install | install | | +| for VRM1 | install | | install | + +- `Sample` パッケージは廃止になり中に含まれます。 +- `UPM` の `Sample` 機能でインストールできます。 ## unitypackage の入手 @@ -21,22 +29,22 @@ https://github.com/vrm-c/UniVRM/releases ## インストール前の準備 -* Unityで新規のプロジェクトを作成します +- Unity で新規のプロジェクトを作成します -* `ProjectSettings` - `Player` - `Other Settings` - `Rendering` - `ColorSpace` を `Linear` に設定します(推奨) +- `ProjectSettings` - `Player` - `Other Settings` - `Rendering` - `ColorSpace` を `Linear` に設定します(推奨) ![linear setting](/images/vrm/linear_setting.jpg) :::warning Unity-2018.3, Unity-2018.4, Unity-2019.1 で作業する場合 -* `ProjectSettings` - `Player` - `Other Settings` - `Scripting Runtime Version` を `.Net4.X equivalent` にしてください +- `ProjectSettings` - `Player` - `Other Settings` - `Scripting Runtime Version` を `.Net4.X equivalent` にしてください ::: :::warning 既存のプロジェクト 事前に、古いバージョンの VRM を削除することを推奨しています。 -[UniVRMをアンインストール](/univrm/install/univrm_uninstall) を参照してください。 +[UniVRM をアンインストール](/univrm/install/univrm_uninstall) を参照してください。 ::: @@ -62,7 +70,7 @@ VRM menu が表示されていれば動作しています: menu が出てこない場合は、 -* Console を表示させます。左上の clear ボタンを推して、エラー(赤いメッセージ)が無いことを確認してください +- Console を表示させます。左上の clear ボタンを推して、エラー(赤いメッセージ)が無いことを確認してください ![show console](/images/vrm/show_console.jpg) @@ -70,6 +78,5 @@ menu が出てこない場合は、 ## 関連セクション -- [VRMファイルを作ってみたい](/vrm/how_to_make_vrm) -- [VRMをインポートする](/univrm/import/univrm_import) - +- [VRM ファイルを作ってみたい](/vrm/how_to_make_vrm) +- [VRM をインポートする](/univrm/import/univrm_import) diff --git a/docs/univrm/install/univrm_install_samples.md b/docs/univrm/install/univrm_install_samples.md index 800a13da2..174766daa 100644 --- a/docs/univrm/install/univrm_install_samples.md +++ b/docs/univrm/install/univrm_install_samples.md @@ -4,47 +4,5 @@ weight: 4 tags: ["api"] --- -# UniVRMサンプルをインストールする +[sample_install](/api/sample/sample_install) -このセクションでは、[UniVRMパッケージをインストール](/univrm/install/univrm_install)したことを想定しています。 - -## UniVRMサンプルのパッケージ - -`v0.81.0` からUniVRMサンプルはUniVRMパッケージに含まれています。 -最新のUniVRMバージョンがインストールされている場合は、[UniVRMサンプルのシーンを実行する](#univrmサンプルのシーンを実行する)セクションをご覧ください。 - -### ~ v0.80.0 - -https://github.com/vrm-c/UniVRM/releases - -`UniVRM-samples-0.XX.X_XXXX.unitypackage` - -です。 - -### インポート - -メニューから `Assets -> Import Package -> Custom Package` で `UniVRM-samples-0.XX.X_XXXX.unitypackage` を選択します。 - -以下の画像ようにインポートウィンドウを見たら、`Import`ボタンをクリックしてください: - -![sample_package_import](/images/vrm/sample_package_import.jpg) - -## UniVRMサンプルのシーンを実行する - -`VRM.Samples`フォルダは`Assets`にあります。プロジェクトウィンドウに`SampleViewer`を選択します: - -![sample_scene](/images/vrm/sample_scene.jpg) - -`Game`タブをクリックして、`SampleViewer`のインタフェースを表示させます: - -![sample_viewer](/images/vrm/sample_viewer.jpg) - -`Play`ボタンをクリックして`SampleViewer`を有効になります。実行時に`Open`ボタンをクリックしてVRMモデルをシーンにインポートします: - -![play_mode](/images/vrm/play_mode.jpg) - -![sample_viewer_activate](/images/vrm/sample_viewer_activate.jpg) - -`VRM.Samples`に[ランタイムVRMエクスポート](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/RuntimeExporterSample)と[一人称レンダリング](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/FirstPersonSample)のサンプルがあります。 - -Aliciaモデルは[こちら](https://github.com/vrm-c/UniVRM/blob/master/Tests/Models/Alicia_vrm-0.51/AliciaSolid_vrm-0.51.vrm)。 diff --git a/docs/univrm/install/univrm_uninstall.md b/docs/univrm/install/univrm_uninstall.md index b0c67eae7..a93c6b2c3 100644 --- a/docs/univrm/install/univrm_uninstall.md +++ b/docs/univrm/install/univrm_uninstall.md @@ -1,12 +1,10 @@ --- -linkTitle: "UniVRMをアンインストールする" date: 2020-08-31 -weight: 5 aliases: [] tags: ["unity"] --- -# UniVRMをアンインストールする +# アンインストール 以下のフォルダを削除してください。 diff --git a/docs/univrm/install/univrm_upm.md b/docs/univrm/install/univrm_upm.md index efeb0eea8..28da727ae 100644 --- a/docs/univrm/install/univrm_upm.md +++ b/docs/univrm/install/univrm_upm.md @@ -5,87 +5,6 @@ aliases: ["/univrm/univrm_upm/", "/univrm/install/univrm_upm/"] tags: ["unity"] --- -# UPMでUniVRMをインストールする +# UPM -* `Unity 2019.4以降` が必要です。 -* [Git client](https://git-scm.com/) のインストールが必要です。 - -## Unity 向けの git のインストール - -Unity Manual [Requirements](https://docs.unity3d.com/Manual/upm-git.html#req) を参照してください。 - -> To use Git dependencies in a project, make sure the [Git client](https://git-scm.com/) is installed on your machine and that you have added the Git executable path to the PATH system environment variable. - -未インストールだと - -> An error occurred while resolving packages: -Project has invalid dependencies: -com.vrmc.vrmshaders: No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hub - -というようなエラーが出ます。 - -:::warning 他のgit - -https://git-scm.com/ からインストールした git.exe (デフォルトは、 `C:\Program Files\Git\cmd\git.exe`) が、Path の中で最初に見つかるように設定してください。 -::: - -* powershell からバージョンを確認した例 (20201130) - -``` -> git --version -git version 2.29.2.windows.2 -``` - -## UnityPackageManager ウインドウによるインストール - -![UnityPackageManagerのWindow](/images/vrm10/menu_packagemanager.jpg) - -![add package from git URL](/images/vrm10/from_git.jpg) - -新しいUniVRMバージョンがリリースされる時に、このバージョンに関連するgit urlsを公開します。 - -たとえば、[v0.66.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) のgit urlは次のとおりです: - -* `https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.66.0` -* `https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.66.0` => VRMShaders に依存 -* `https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.66.0` => UniGLTFとVRMShaders に依存 - -パッケージ同士の依存関係を自動でダウンロードしてくれる機能は無いので、以上の git url を順に追加してください。 - -ProjectウィンドウのPackagesフォルダにインポートしたパッケージを確認する: - -![figure](/images/vrm/upm_package.jpg) - -バージョン番号を変更することで、お好きなバージョンに切り替えることができます。 - -## packages/manifest.json 直接編集によるインストール - -以下の内容を追記してください([v0.66.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.66.0)の例)。 - -```js -{ - "dependencies": { - // ... - "com.vrmc.vrmshaders": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.66.0", - "com.vrmc.unigltf": "https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.66.0", - "com.vrmc.univrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.66.0", - // ... -} -``` - -### gitの特定コミットを指定する場合 - -`dependencies` に特定のコミットを指定します。 - -例: - -```js -{ - "dependencies": { - // ... - "com.vrmc.vrmshaders": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#39d54ce7d3b0061d2d9ee236017dca129c7cdc51", - "com.vrmc.unigltf": "https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#39d54ce7d3b0061d2d9ee236017dca129c7cdc51", - "com.vrmc.univrm": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#39d54ce7d3b0061d2d9ee236017dca129c7cdc51", - // ... -} -``` +[upm](/api/upm) diff --git a/docs/univrm/install/univrm_version.md b/docs/univrm/install/univrm_version.md index cb84ffc8e..e80874f86 100644 --- a/docs/univrm/install/univrm_version.md +++ b/docs/univrm/install/univrm_version.md @@ -2,90 +2,4 @@ tags: ["unity"] --- -# UniVRM Version - -## v0.55.0 (Unity-5.6 対応最終版) - -| date | version | -|------|---------------------------------------------------------------| -| 2019 | [0.55.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.55.0) | - -## v0.56.0 ~ - -* 更新で入った新しいバグ: バージョンアップで新規に混入したバグ。迅速にバグフィックス - -| date | version | 安定性・バグ | 更新内容・備考 | -|------------|----------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------| -| 2020 | [0.56.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.0) | x | Unity-2018.4 に変更 | -| | [0.56.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.1) | x | | -| | [0.56.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.2) | x | | -| | [0.56.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.3) | | | -| | [0.57.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.57.0) | | ボーン名重複時にに自動でリネームするようになりました | -| | [0.57.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.57.1) | | | -| | [0.58.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.58.0) | [^firstperson_import] | エクスポートダイアログの作り直し | -| | [0.58.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.58.1) | | | -| | [0.59.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.59.0) | | springBone の Missing を検知してメッセージ | -| | [0.60.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.60.0) | | null check 的なものが増えて、モデル改変してもエラーが出にくくなりました | -| | [0.61.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/20?closed=1) | [^springcollider] | UniUnlit の頂点カラー。AOT問題を修正 | -| | [0.61.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.61.1) | | | -| | [0.62.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.62.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/21?closed=1) | | BlendShape bake の動作が正しくなった | -| 2021 01/05 | [0.63.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/25?closed=1) | [^jpg] [^kwmap] [^upm] | jpg問題あり。UniGLTF分離 | -| 01/07 | [0.63.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.1) | [^jpg] [^kwmap] | jpg問題あり | -| 01/08 | [0.63.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.2) | | | -| 01/15 | [0.64.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.64.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/23?closed=1) | [^asmdef] | メッシュの一部を削除したときのエクスポートエラーを回避。vrm-1.0 Experimental | -| 01/26 | [0.65.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.0) | [^build] | | -| 01/28 | [0.65.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.1) [milestone](https://github.com/vrm-c/UniVRM/milestone/28?closed=1) | [^build] | トルコ語のExportを修正[\#696](https://github.com/vrm-c/UniVRM/issues/696) | -| 01/28 | [0.65.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.2) [milestone](https://github.com/vrm-c/UniVRM/milestone/29?closed=1) | | | -| | [0.65.3](http://github.com/vrm-c/UniVRM/releases/tag/v0.65.3) | | UniGLTFのバージョン。UPM専用。パッケージリリース無し | -| 02/03 | [0.66.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/26?closed=1) | 安定✅ | 未正規化ヒエラルキーにスプリングボーンがあるときの警告メッセージ | -| | [0.67.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/27?closed=1) | | UPM専用。パッケージリリース無し | -| | [0.67.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.1) | | UPM専用。パッケージリリース無し | - -## v0.68.0 ~ (VRM-1.0 作業 pre release) - -VRM-1.0 作業中 - -* [API](https://vrm-c.github.io/UniVRM/ja/) - -| date | version | 安定性・バグ | 更新内容・備考 | -|-------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| | [0.68.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/30?closed=1) | [^material_import] [^import_bug] | glb/gltf 座標軸オプション。ImporterContext API | -| 03/16 | [0.68.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.1) | [^import_bug] | | -| 03/17 | [0.68.2](http://github.com/vrm-c/UniVRM/releases/tag/v0.68.2) | | | -| 03/22 | [0.69.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.69.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/31?closed=1) | [^MetallicOcclusion][^EncodeToPng] [^NotUnique] | SmoothTexture 変換の修正[\#388](https://github.com/vrm-c/UniVRM/issues/388), Unity2020対応 | -| 03/23 | [0.69.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.69.1) | [^MetallicOcclusion][^EncodeToPng] | | -| 03/31 | [0.70.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.70.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/32?closed=1) | [^MetallicOcclusion] | impl `WEIGHTS_0` not float4 | -| 04/05 | [0.71.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.71.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/33?closed=1) | IOS build | | -| 04/13 | [0.72.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.72.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/34?closed=1) | | 頂点バッファを分割するオプション。T-Pose | -| 04/22 | [0.73.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.73.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/35?closed=1) | | * [OtherPermissionUrl欄の修正](https://github.com/vrm-c/UniVRM/pull/897) * [正規化するときにBlendShapeを使うLookAtがExportされない](https://github.com/vrm-c/UniVRM/pull/894) | -| 05/12 | [0.74.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.74.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/36?closed=1) | | * [Runtime ロード後の SpringBone スケーリング挙動の修正](https://github.com/vrm-c/UniVRM/issues/922) | -| 05/25 | [0.75.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.75.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/37?closed=1) | | 正規化時にLookAtのパラメーターが落ちてしまうのを修正 | -| 06/08 | [0.76.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.76.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/38?closed=1) | | namespace MeshUtilityがUnityEditor.MeshUtility classと競合するのを修正 | -| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/39?closed=1) | | [API更新](https://vrm-c.github.io/UniVRM/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | -| 06/23 | [0.78.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.78.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/40?closed=1) | | https://github.com/vrm-c/UniVRM/pull/1049 | - -## v0.79.0 ~ - -* `0.80.0` からサポートする Unity の最低バージョンを `2019.4LTS` に更新しました。[Unity Version](/univrm/install/unity_version)。 -* `0.80.0` から `VRM-1.0β` のパッケージ提供を開始しました。 - -| date | version | 安定性・バグ | 更新内容・備考 | -|-------|----------------------------------------------------------------------------------------------------------------------------------|---------------|---------------------------------------------| -| 07/20 | [0.79.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.79.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/41?closed=1) | | pre release 運用終了 | -| 08/12 | [0.80.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.80.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/42?closed=1) | | `Unity-2019.4LTS` 以降 | -| 08/20 | [0.81.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.81.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/43?closed=1) | | 3パッケージ構成(UniGLTF, VRM, VRM-1.0beta) | -| 09/01 | [0.82.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.82.0) [milestone](https://github.com/vrm-c/UniVRM/milestone/44?closed=1) | glb の import | URP API | -| 09/03 | [0.82.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.82.1) [milestone](https://github.com/vrm-c/UniVRM/milestone/45?closed=1) | | URP API | - -[^springcollider]: スプリングボーンのコライダーの座標変換バグ。 [\#576](https://github.com/vrm-c/UniVRM/issues/576) -[^jpg]: エクスポートダイアログのスクリーンショットボタンの jpg バグ。[\#639](https://github.com/vrm-c/UniVRM/issues/639) -[^kwmap]: シリアライザのバグ。エクスポートしたファイルの互換性。 [\#654](https://github.com/vrm-c/UniVRM/issues/654) -[^upm]: MeshUtility フォルダの移動と参照の問題。 -[^asmdef]: 他のパッケージと併用するときに install で問題が出る? [\#687](https://github.com/vrm-c/UniVRM/pull/687) -[^build]: build すると Exception( `#if UNITY_EDITOR` )。 [\#701](https://github.com/vrm-c/UniVRM/issues/701) -[^firstperson_import]: VRMFirstPerson のエディターインポートのバグ [/#515](https://github.com/vrm-c/UniVRM/issues/515) -[^material_import]: [\#786](https://github.com/vrm-c/UniVRM/issues/786) [\#788](https://github.com/vrm-c/UniVRM/issues/788) -[^import_bug]: [\#790](https://github.com/vrm-c/UniVRM/issues/790) [\#794](https://github.com/vrm-c/UniVRM/issues/794) -[^NotUnique]: [\#812](https://github.com/vrm-c/UniVRM/pull/812) -[^EncodeToPng]: [\#831](https://github.com/vrm-c/UniVRM/pull/831) -[^MetallicOcclusion]: [\#836](https://github.com/vrm-c/UniVRM/issues/836) +[release](/release/) diff --git a/docs/univrm/programming/index.md b/docs/univrm/programming/index.md index d48ccd005..5c4b4980b 100644 --- a/docs/univrm/programming/index.md +++ b/docs/univrm/programming/index.md @@ -11,12 +11,4 @@ aliases: weight: 30 --- -# Programming - -## お知らせ - -プログラミング関連のドキュメントは、 [UniVRM Programming Document](https://vrm-c.github.io/UniVRM/) に移動・整理中しましたが、当サイトに合流しました。 - -- [API](/api/) -- [ReleaseNote](/release/) - +[API](/api/) に移動しました。 diff --git a/sidebars.ts b/sidebars.ts index 6a3c67f97..5a5f5c94f 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -48,14 +48,14 @@ const sidebars: SidebarsConfig = { items: [ { type: "category", - label: "Install方法", + label: "Install", + link: { type: "doc", id: "univrm/install/index" }, items: [ { type: "doc", id: "univrm/install/unity_version" }, { type: "doc", id: "univrm/install/univrm_install" }, - { type: "doc", id: "univrm/install/univrm_upm" }, - { type: "doc", id: "univrm/install/univrm_install_samples" }, + "univrm/install/univrm_upm", { type: "doc", id: "univrm/install/univrm_uninstall" }, - { type: "doc", id: "univrm/install/univrm_version" }, + "univrm/install/install_error", ], }, { @@ -241,11 +241,13 @@ const sidebars: SidebarsConfig = { label: "UniVRM API", link: { type: "doc", id: "api/index" }, items: [ + "api/upm", { type: "category", label: "Sample", link: { type: "doc", id: "api/sample/index" }, items: [ + "api/sample/sample_install", { type: "doc", id: "api/sample/SimpleViewer" }, { type: "doc", id: "api/sample/RuntimeExporterSample" }, { type: "doc", id: "api/sample/FirstPersonSample" }, @@ -354,7 +356,6 @@ const sidebars: SidebarsConfig = { label: "ReleaseNote", link: { type: "doc", id: "release/index" }, items: [ - { type: "doc", id: "release/unitypackage" }, { type: "category", label: "~v0.55", From 48d03da5dc3db3fdd0ab0759fcd27d5eaac224d4 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Feb 2024 17:36:56 +0900 Subject: [PATCH 7/9] fix link to https://vrm-c.github.io/UniVRM/ that merged --- docs/_templates/language.html | 15 --------------- docs/release/068/index.md | 8 ++++---- docs/release/079/v0.83.0.md | 8 +++++++- docs/univrm/firstperson/univrm_firstperson.md | 2 +- docs/vrm/vrm_development.md | 13 ++++++------- 5 files changed, 18 insertions(+), 28 deletions(-) delete mode 100644 docs/_templates/language.html diff --git a/docs/_templates/language.html b/docs/_templates/language.html deleted file mode 100644 index 0956c36bc..000000000 --- a/docs/_templates/language.html +++ /dev/null @@ -1,15 +0,0 @@ -{% if language == "ja" %} -{% set href = "https://vrm-c.github.io/vrm.dev.en/" + pagename %} - -{% elif language == "en" %} -{% set href = (pathto(root_doc)[:-10] + "../" + pagename) if root_doc!=pagename else "../" %} - -{% else %} -unknown {{language}} -{% endif %} diff --git a/docs/release/068/index.md b/docs/release/068/index.md index 8c3326e2b..fcbb9ad67 100644 --- a/docs/release/068/index.md +++ b/docs/release/068/index.md @@ -5,7 +5,7 @@ * glb/gltf に `ScriptedImporter` の導入 * `Standard` マテリアルの import/export や mipmapパたメーター などの改修 -- [API](https://vrm-c.github.io/UniVRM/ja/) +- [API](/api/) | date | version | 安定性・バグ | 更新内容・備考 | | ----- | -------------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -21,7 +21,7 @@ | 05/12 | [0.74.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.74.0) | | \* [Runtime ロード後の  SpringBone  スケーリング挙動の修正](https://github.com/vrm-c/UniVRM/issues/922) | | 05/25 | [0.75.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.75.0) | | 正規化時に LookAt のパラメーターが落ちてしまうのを修正 | | 06/08 | [0.76.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.76.0) | | namespace MeshUtility が UnityEditor.MeshUtility class と競合するのを修正 | -| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) | | [API 更新](https://vrm-c.github.io/UniVRM/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | +| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) | | [API 更新](/api/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | | 06/23 | [0.78.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.78.0) | | https://github.com/vrm-c/UniVRM/pull/1049 | @@ -37,7 +37,7 @@ v* ## Download -* [API](https://vrm-c.github.io/UniVRM/ja/) +* [API](/api/) | date | version | 安定性・バグ | 更新内容・備考 | |-------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -53,7 +53,7 @@ v* | 05/12 | [0.74.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.74.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/36?closed=1) | | * [Runtime ロード後の SpringBone スケーリング挙動の修正](https://github.com/vrm-c/UniVRM/issues/922) | | 05/25 | [0.75.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.75.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/37?closed=1) | | 正規化時にLookAtのパラメーターが落ちてしまうのを修正 | | 06/08 | [0.76.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.76.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/38?closed=1) | | namespace MeshUtilityがUnityEditor.MeshUtility classと競合するのを修正 | -| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/39?closed=1) | | [API更新](https://vrm-c.github.io/UniVRM/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | +| 06/17 | [0.77.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.77.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/39?closed=1) | | [API更新](/api/) https://github.com/vrm-c/UniVRM/issues/1022 https://github.com/vrm-c/UniVRM/issues/496 | | 06/23 | [0.78.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.78.0) [Milestone](https://github.com/vrm-c/UniVRM/milestone/40?closed=1) | | https://github.com/vrm-c/UniVRM/pull/1049 | [^material_import]: [\#786](https://github.com/vrm-c/UniVRM/issues/786) [\#788](https://github.com/vrm-c/UniVRM/issues/788) diff --git a/docs/release/079/v0.83.0.md b/docs/release/079/v0.83.0.md index 1b3b904a2..597186481 100644 --- a/docs/release/079/v0.83.0.md +++ b/docs/release/079/v0.83.0.md @@ -4,10 +4,16 @@ https://vrm.dev/ のプログラミング関連のドキュメントを -https://vrm-c.github.io/UniVRM/ +~~https://vrm-c.github.io/UniVRM/~~ に引越ししました。 +:::warning 移動しました + +[api](/api/) + +::: + ## [v0.83.0](https://github.com/vrm-c/UniVRM/tree/v0.83.0) (2021-09-10) | 09/03 | [0.82.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.82.1) [Milestone](https://github.com/vrm-c/UniVRM/milestone/45?closed=1) | | URP API | diff --git a/docs/univrm/firstperson/univrm_firstperson.md b/docs/univrm/firstperson/univrm_firstperson.md index e06aef759..a003d0286 100644 --- a/docs/univrm/firstperson/univrm_firstperson.md +++ b/docs/univrm/firstperson/univrm_firstperson.md @@ -66,7 +66,7 @@ HMD以外に出力される映像・配信用映像・鏡・マルチプレイ 可視設定がAutoの場合はインポート時にメッシュが `Both` と `ThirdPersonOnly` に自動分割されます。 分割されない場合はメッシュの全てが `Both` か `ThirdPersonOnly` になります。 -UniVRMでは [VRMFirstPerson.Setup()](https://vrm-c.github.io/UniVRM/ja/vrm0/firstperson.html#setuplayermask) を呼び出します。 +UniVRMでは [VRMFirstPerson.Setup()](/api/firstperson#setuplayermask) を呼び出します。 Autoによる自動分割は重めの処理になります。 ### 分割基準 diff --git a/docs/vrm/vrm_development.md b/docs/vrm/vrm_development.md index a926118ad..181745a57 100644 --- a/docs/vrm/vrm_development.md +++ b/docs/vrm/vrm_development.md @@ -6,20 +6,19 @@ weight: 6 # VRMで開発する -* [programming](https://vrm-c.github.io/UniVRM/) -* [samples](/univrm/install/univrm_install_samples) +* [programming](/api/) ## VRMの特徴(開発者的な視点) -* 右手系Y-UPである ➡️ [Coordinate](https://vrm-c.github.io/UniVRM/ja/implementation/coordinate.html) +* 右手系Y-UPである ➡️ [Coordinate](/api/coordinate) * メートル単位である ➡️ 1が、1メートルなのか、1cmなのか心配がありません * 人型モデルでありボーン構成が決まっている ➡️ 汎用の人型モーションやモーションキャプチャーが使いやすい * 初期姿勢が決まっている(Z-向きのT-Pose) ➡️ TPS的な用途でそのまま使えます * 初期姿勢で回転・スケールが無いことが保証されている ➡️ 初期姿勢を加味したコードを書く負担が軽減できます * 初期姿勢でボーンとMeshが重なることが保証されている(スキニングのBind行列に移動しか含まれていない) ➡️ Meshを加工する前にBakeするなどの負担が軽減できます -* 表情・視線操作が統一されている ➡️ [BlendShapeProxy](https://vrm-c.github.io/UniVRM/ja/vrm0/0_58_blendshape.html) +* 表情・視線操作が統一されている ➡️ [BlendShapeProxy](/api/0_58_blendshape) * 物理でない揺れものがセットアップ済み ➡️ 物理と干渉せずに揺れるのでゲームのギミックと干渉したり、暴れたりしません -* VRの設定が含まれている ➡️ [FirstPerson](https://vrm-c.github.io/UniVRM/ja/vrm0/firstperson.html) +* VRの設定が含まれている ➡️ [FirstPerson](/api/firstperson) * ライセンス情報が定義されている ➡️ モデルの持ち主の意思にそぐわない使用を回避できます 従来のゲーム開発のようにプロジェクトにアセットとして作り込むというよりは、 @@ -31,14 +30,14 @@ weight: 6 UniVRM は Asset(Prefab) を作成せずに、シーン上に直接 GameObject を作ります。 ロードした GameObject は、Instanciate した Prefab と同様に扱うことができます。 -* [runtime load](https://vrm-c.github.io/UniVRM/ja/) +* [runtime load](/api/runtime-import) ## UniVRMで ランタイムエクスポートする ランタイムで UniVRM の エクスポート機能 を使うことができます。 この機能を使って、キャラクタークリエーションツール を実装することができます。 -* [samples](/univrm/install/univrm_install_samples) +* [samples](/api/sample/) `Assets/VRM.Samples/Scenes/VRMRuntimeExporterSample.unity` From 4881cbd1f6c2548a658af680a9f152c7679fb26e Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Feb 2024 19:33:51 +0900 Subject: [PATCH 8/9] add highlevel_import --- blog/2024-02-19-api.md | 10 +++++ docs/api/0_95_highlevel.md | 67 ++++++++++++++++++++++------ docs/univrm/install/install_error.md | 42 ++++++++++++++++- 3 files changed, 105 insertions(+), 14 deletions(-) create mode 100644 blog/2024-02-19-api.md diff --git a/blog/2024-02-19-api.md b/blog/2024-02-19-api.md new file mode 100644 index 000000000..25d8e2a21 --- /dev/null +++ b/blog/2024-02-19-api.md @@ -0,0 +1,10 @@ +--- +title: 開発ドキュメントの移動 +authors: [vrmc] +tags: [maintenance] +--- + +https://vrm-c.github.io/UniVRM/ のドキュメントを本サイトに移動しました。 +おもに [/api/](/api/) フォルダー配下になります。 + +今後はこちらで更新していきます。 diff --git a/docs/api/0_95_highlevel.md b/docs/api/0_95_highlevel.md index 795b38fc9..7c05b229a 100644 --- a/docs/api/0_95_highlevel.md +++ b/docs/api/0_95_highlevel.md @@ -3,26 +3,67 @@ API が複雑化してきたので、よくある用途を簡単にできる高レベル API を追加しました。 `GltfUtility` と `VrmUtility` が中で using してくれるので await で呼び出すだけで使えます。 +:::warning 以下の例は Unity-2023.1向けです + +古いUnityでは GetAwaiter を自前で用意すると動きます。 + +[UnityWebRequestでasync awaitする メモ](https://qiita.com/satotin/items/579fa3b9da0ad0d899e8) + +::: + ## GLTF -```{gitinclude} v0.95.0 Assets/UniGLTF/Runtime/UniGLTF/IO/GltfUtility.cs -:language: csharp -:linenos: +```cs title="SendWebRequest から bytes を得る例" +using System.IO; +using UniGLTF; +using UnityEngine; +using UnityEngine.Networking; + +public class VrmLoader : MonoBehaviour +{ + public string Url = "https://raw.GithubUserContent.com/KhronosGroup/glTF-Sample-Assets/main/./Models/DamagedHelmet/glTF-Binary/DamagedHelmet.glb"; + + // Start is called before the first frame update + async void Start() + { + var req = UnityWebRequest.Get(Url); + await req.SendWebRequest(); + + var bytes = req.downloadHandler.data; + var loaded = await GltfUtility.LoadBytesAsync(Path.GetFileName(Url), bytes); + + loaded.ShowMeshes(); + } +} ``` ## VRM -```{gitinclude} v0.95.0 Assets/VRM/Runtime/IO/VrmUtility.cs -:language: csharp -:linenos: +```cs title="SendWebRequest から bytes を得る例" +using System.IO; +using UnityEngine; +using UnityEngine.Networking; +using VRM; + +public class VrmLoader : MonoBehaviour +{ + public string Url = "https://raw.GithubUserContent.com/vrm-c/UniVRM/master/./Tests/Models/Alicia_vrm-0.51/AliciaSolid_vrm-0.51.vrm"; + + // Start is called before the first frame update + async void Start() + { + var req = UnityWebRequest.Get(Url); + await req.SendWebRequest(); + + var bytes = req.downloadHandler.data; + + var loaded = await VrmUtility.LoadBytesAsync(Path.GetFileName(Url), bytes); + + loaded.ShowMeshes(); + } +} ``` ## 使用例 -```{gitinclude} v0.95.0 Assets/VRM_Samples/SimpleViewer/ViewerUI.cs -:language: csharp -:linenos: -:lines: 370-392 -:emphasize-lines: 10, 20 -:caption: -``` +`Assets/VRM_Samples/SimpleViewer/ViewerUI.cs` diff --git a/docs/univrm/install/install_error.md b/docs/univrm/install/install_error.md index 6160737e0..aae36a76e 100644 --- a/docs/univrm/install/install_error.md +++ b/docs/univrm/install/install_error.md @@ -1,5 +1,45 @@ # エラーが出る場合 +## Multiple scripted importers + +```txt +Multiple scripted importers are targeting the extension 'glb' and have all been rejected: UniGLTF.GlbScriptedImporter (assembly: \My project\Library\ScriptAssemblies\UniGLTF.Editor.dll), GLTFast.Editor.GltfImporter (assembly: \My project\Library\ScriptAssemblies\glTFast.Editor.dll) +UnityEditor.AssetImporters.ScriptedImporter:RegisterScriptedImporters () +``` +:::warning + +`glb` や `gltf` 拡張子を処理できる plugin が重複しています。 + +::: + +:::tip UniGLTF の glb / gltf 処理を止めることができます。 + +`UnityMenu` - `Projeoct Settings` - `Player` - `ScriptingDefineSymbols` + +- UNIGLTF_DISABLE_DEFAULT_GLB_IMPORTER +- UNIGLTF_DISABLE_DEFAULT_GLTF_IMPORTER + +UniGLTF の editor importer が無効になります. + +::: + +## Shader error in 'VRM10/Universal Render Pipeline/MToon10': Couldn't open include file + +```txt +Shader error in 'VRM10/Universal Render Pipeline/MToon10': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl'. at /My project/Library/PackageCache/com.vrmc.vrmshaders@c684b72477/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_depthnormals_vertex.hlsl(5) +``` + +:::warning Universal RP がインストールされていません +::: + +:::tip URP を使っていない場合は無視して問題ありません + +URP版MToon の参照するファイルが見つからないエラーです。 + +::: + +## エラーの報告 + コンソール画面の内容をご確認ください。 コンソール画面はメニューから表示できます。 @@ -17,6 +57,6 @@ を添えて -- https://github.com/vrm-c/UniVRM/issues/new/choose +- https://github.com/vrm-c/UniVRM/issues にお知らせください。 From 157fbce63546e3bd878a9bb6a06b5e4445c59451 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Feb 2024 19:37:11 +0900 Subject: [PATCH 9/9] fix link --- docs/api/sample/sample_install.md | 2 +- docs/univrm/firstperson/univrm_firstperson.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api/sample/sample_install.md b/docs/api/sample/sample_install.md index 97ff625cb..04fd14aa2 100644 --- a/docs/api/sample/sample_install.md +++ b/docs/api/sample/sample_install.md @@ -5,7 +5,7 @@ ## UniVRM サンプルのパッケージ `v0.81.0` から UniVRM サンプルは UniVRM パッケージに含まれています。 -最新の UniVRM バージョンがインストールされている場合は、[UniVRM サンプルのシーンを実行する](#univrmサンプルのシーンを実行する)セクションをご覧ください。 +最新の UniVRM バージョンがインストールされている場合は、**UniVRM サンプルのシーンを実行する**セクションをご覧ください。 ### ~ v0.80.0 diff --git a/docs/univrm/firstperson/univrm_firstperson.md b/docs/univrm/firstperson/univrm_firstperson.md index a003d0286..08b65cbd6 100644 --- a/docs/univrm/firstperson/univrm_firstperson.md +++ b/docs/univrm/firstperson/univrm_firstperson.md @@ -66,7 +66,7 @@ HMD以外に出力される映像・配信用映像・鏡・マルチプレイ 可視設定がAutoの場合はインポート時にメッシュが `Both` と `ThirdPersonOnly` に自動分割されます。 分割されない場合はメッシュの全てが `Both` か `ThirdPersonOnly` になります。 -UniVRMでは [VRMFirstPerson.Setup()](/api/firstperson#setuplayermask) を呼び出します。 +UniVRMでは [VRMFirstPerson.Setup()](/api/firstperson) を呼び出します。 Autoによる自動分割は重めの処理になります。 ### 分割基準