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/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/load/index.md b/docs/api/load/index.md index 6291424c9..7bafa2c07 100644 --- a/docs/api/load/index.md +++ b/docs/api/load/index.md @@ -2,38 +2,4 @@ `v0.118` -`UniGLTF.GltfData` の生成、 -`UniGLTF.GltfData` からシーンを構築するの 2 ステップになっています。 - -## `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) +[RuntimeImport](/api/runtime-import/) 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..c8aac8050 --- /dev/null +++ b/docs/api/runtime-import/await_caller.md @@ -0,0 +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 new file mode 100644 index 000000000..dbd5bbbca --- /dev/null +++ b/docs/api/runtime-import/gltfdata.md @@ -0,0 +1,37 @@ +# GltfData + +`.glb`, `.vrm`, `.vrma` など から GltfData をロードします。 + +GltfData が入手できたら中身に合わせた GameObject 生成へと分岐してください。 + +## `byte[]` からロードする + +```cs +public sealed class GlbBinaryParser +{ + public GlbBinaryParser(byte[] data, string uniqueName) +} + +// 使用例 +using (GltfData data = new GlbBinaryParser(bytes, path).Parse()) +{ +} +``` + +## filepath からロードする + +```cs +public sealed class GlbFileParser +{ + public GlbFileParser(string glbFilePath) +} + +// 使用例 +using (GltfData data = new GlbFileParser(path).Parse()) +{ +} +``` + +## Dispose + +- [0_95_dispose](/api/0_95_dispose) diff --git a/docs/api/runtime-import/import_glb.md b/docs/api/runtime-import/import_glb.md new file mode 100644 index 000000000..555185821 --- /dev/null +++ b/docs/api/runtime-import/import_glb.md @@ -0,0 +1,17 @@ +# load glb + +[GltfData](/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..3771ac8d4 --- /dev/null +++ b/docs/api/runtime-import/import_urp.md @@ -0,0 +1,5 @@ +# import URP + +オプションで 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 new file mode 100644 index 000000000..7fcdce764 --- /dev/null +++ b/docs/api/runtime-import/import_vrm0.md @@ -0,0 +1,13 @@ +# load vrm-0.x + +[GltfData](/api/runtime-import/gltfdata) から vrm-0.x ヒエラルキーを構築します。 + + + +:::warning + +vrm-1.0 のモデルはロードできません。 + +::: + +[0_82_runtime_import](/api/0_82_runtime_import) diff --git a/docs/api/runtime-import/index.mdx b/docs/api/runtime-import/index.mdx new file mode 100644 index 000000000..8313ae113 --- /dev/null +++ b/docs/api/runtime-import/index.mdx @@ -0,0 +1,21 @@ +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 構築手順を実行します。 + +:::info 便利関数 + +[0_95_highlevel](/api/0_95_highlevel) + +::: + + + 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/sample/sample_install.md b/docs/api/sample/sample_install.md new file mode 100644 index 000000000..04fd14aa2 --- /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 サンプルのシーンを実行する**セクションをご覧ください。 + +### ~ 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/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..73419a2ea 100644 --- a/docs/api/vrm1_load.md +++ b/docs/api/vrm1_load.md @@ -1,4 +1,8 @@ -# RuntimeLoad +# load vrm-1.0 + +[GltfData](/api/runtime-import/gltfdata) から vrm-1.0 ヒエラルキーを構築します。 + + `Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs` 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..fcbb9ad67 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](/api/) + +| 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 更新](/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 | + + ## ReleaseNote ```{toctree} @@ -17,7 +37,7 @@ v* ## Download -* [API](https://vrm-c.github.io/UniVRM/ja/) +* [API](/api/) | date | version | 安定性・バグ | 更新内容・備考 | |-------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -33,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/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/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/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/site/kick_action.jpg b/docs/site/kick_action.jpg new file mode 100644 index 000000000..067f20168 Binary files /dev/null and b/docs/site/kick_action.jpg differ diff --git a/docs/site/translation.md b/docs/site/translation.md index fbffd6542..47d60b555 100644 --- a/docs/site/translation.md +++ b/docs/site/translation.md @@ -28,6 +28,16 @@ It is built in the `/en` directory. ::: +:::danger 英語版の反映方法 + +英語版を merge した `次回の日本語版 の github action` でビルドされます。 +即座に反映したい場合は、日本語版の reposity の `Actions` - `Docusaurus` - `Run workflow` ボタンを +手動で押してください(緑のボタン)。 + +![action](./kick_action.jpg) + +::: + ## Translation sequence - The contents of vrm.dev are updated diff --git a/docs/univrm/firstperson/univrm_firstperson.md b/docs/univrm/firstperson/univrm_firstperson.md index 4560aedfe..ab0ea69af 100644 --- a/docs/univrm/firstperson/univrm_firstperson.md +++ b/docs/univrm/firstperson/univrm_firstperson.md @@ -6,11 +6,12 @@ tags: ["unity"] --- # VRMFirstPerson + ## Overview VRMFirstPerson has two types of settings: headset positioning and VR visibility settings. -__This setting is valid only if the application supports it.__ +**This setting is valid only if the application supports it.** ## Headset Position @@ -39,26 +40,25 @@ Video output to a device other than the HMD, video for distribution, mirrors, an ### VR Visibility Setting -| Setting | First-Person Camera | Third-Person Camera | Note | -|-----------------|--------------|--------------|------------------------------------------------------| -| Auto | △ | △ | Initial setting. Details below | -| Both | 〇 | 〇 | The part with a certain distance from the head (e.g. body, hands and feet) | -| ThirdPersonOnly | | 〇 | Only visible from the external camera (e.g. head, hair, hat) | -| FirstPersonOnly | 〇 | | The setting item itself may not be necessary. | +| Setting | First-Person Camera | Third-Person Camera | Note | +| --------------- | ------------------- | ------------------- | -------------------------------------------------------------------------- | +| Auto | △ | △ | Initial setting. Details below | +| Both | 〇 | 〇 | The part with a certain distance from the head (e.g. body, hands and feet) | +| ThirdPersonOnly | | 〇 | Only visible from the external camera (e.g. head, hair, hat) | +| FirstPersonOnly | 〇 | | The setting item itself may not be necessary. | ### Example of inconvenience -* Model's head gets cut by the near plane -* The view is blocked by the Model's hair -* The contents of your avatar, such as your teeth, are exposed +- Model's head gets cut by the near plane +- The view is blocked by the Model's hair +- The contents of your avatar, such as your teeth, are exposed ## Recommended Structure We recommend dividing the mesh into the head and body at the avatar creation stage. -* Specify `ThirdPersonOnly` for `Head` -* Specify `Both` for `Body` - +- Specify `ThirdPersonOnly` for `Head` +- Specify `Both` for `Body` ![Alicia's `Body` is set as `Both`, while the parts related to `Head` are set as `ThirdPersonOnly`.](/images/vrm/firstperson.png) @@ -66,7 +66,7 @@ We recommend dividing the mesh into the head and body at the avatar creation sta ## VR Visibility Setting -[VRMFirstPerson.Setup()](https://vrm-c.github.io/UniVRM/ja/vrm0/firstperson.html#setuplayermask) +[VRMFirstPerson.Setup()](/api/firstperson) Automatic division using Auto is a heavy process. ### Division criteria @@ -83,4 +83,3 @@ Export may fail when the reference becomes `Missing` when the configuration of t Click the `gear icon ⚙` on the upper right corner of `VRM First Person(Script)` inspector and select `Reset` shown as follow: ![firstperson を reset](/images/vrm/firstperson_reset.gif) - 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..aae36a76e --- /dev/null +++ b/docs/univrm/install/install_error.md @@ -0,0 +1,62 @@ +# エラーが出る場合 + +## 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 の参照するファイルが見つからないエラーです。 + +::: + +## エラーの報告 + +コンソール画面の内容をご確認ください。 +コンソール画面はメニューから表示できます。 + +![コンソール画面を表示するメニュー](/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 + +にお知らせください。 diff --git a/docs/univrm/install/univrm_install.md b/docs/univrm/install/univrm_install.md index e2235873c..bb36e84ea 100644 --- a/docs/univrm/install/univrm_install.md +++ b/docs/univrm/install/univrm_install.md @@ -5,11 +5,21 @@ aliases: ["/univrm/univrm_install/", "/univrm/install/univrm_install/"] tags: ["unity"] --- -# Install UniVRM +# .unitypackage file -## Unity Version +https://github.com/vrm-c/UniVRM/releases から `unitypackage` をダウンロードしてください。 +`UniGLTF_VRMShaders` 、 `UniVRM` という順番で2つのパッケージをインストールしてください。 -* The recommended version is `Unity-2019.4`. Other supported Unity versions [can be found here](/univrm/install/unity_version). +- The recommended version is `Unity-2019.4`. Other supported Unity versions [can be found here](/univrm/install/unity_version). + +| | UniGLTF_VRMShaders | UniVRM | VRM | +| -------- | ------------------ | ------- | ------- | +| for GLTF | install | | | +| for VRM | install | install | | +| for VRM1 | install | | install | + +- `Sample` パッケージは廃止になり中に含まれます。 +- `UPM` の `Sample` 機能でインストールできます。 ## Get unity package in @@ -19,15 +29,15 @@ https://github.com/vrm-c/UniVRM/releases ## Before Installation -* Create a new Unity project +- Create a new Unity project -* "Go to `ProjectSettings` - `Player` - `Other Settings` - `Rendering` - `ColorSpace` and set `ColorSpace` to `Linear` (recommended setting) +- "Go to `ProjectSettings` - `Player` - `Other Settings` - `Rendering` - `ColorSpace` and set `ColorSpace` to `Linear` (recommended setting) ![linear setting](/images/vrm/linear_setting.jpg) :::warning If your Unity version is `Unity-2018.3, Unity-2018.4, Unity-2019.1`: -* "Go to `ProjectSettings` - `Player` - `Other Settings` - `Scripting Runtime Version` and set `Scripting Runtime Version` to `.Net4.X equivalent` +- "Go to `ProjectSettings` - `Player` - `Other Settings` - `Scripting Runtime Version` and set `Scripting Runtime Version` to `.Net4.X equivalent` ::: @@ -60,7 +70,7 @@ Previous versions: If menu does not show up: -* Open Console: click `clear` button on the upper-left corner of the Console window to see if any error (message in red) occurs +- Open Console: click `clear` button on the upper-left corner of the Console window to see if any error (message in red) occurs ![show console](/images/vrm/show_console.jpg) @@ -70,4 +80,3 @@ If menu does not show up: - [How to make VRM file](/vrm/how_to_make_vrm/) - [VRM Import](/univrm/import/univrm_import) - diff --git a/docs/univrm/install/univrm_install_samples.md b/docs/univrm/install/univrm_install_samples.md index eb6513ec5..7834bdcb4 100644 --- a/docs/univrm/install/univrm_install_samples.md +++ b/docs/univrm/install/univrm_install_samples.md @@ -4,47 +4,4 @@ weight: 4 tags: ["api"] --- -# Install UniVRM Samples - -In this section, we assume you have [installed UniVRM package](/univrm/install/univrm_install). - -## UniVRM Samples Package - -Starting with `v0.81.0`, UniVRM Samples are included in the UniVRM package - -### ~ v0.80.0 - -https://github.com/vrm-c/UniVRM/releases - -`UniVRM-samples-0.XX.X_XXXX.unitypackage` - -### Import - -From the menu, go to `Assets -> Import Package` and then click `Custom Package` to import the package `UniVRM-samples-0.XX.X_XXXX.unitypackage`. - -After you see the file information in the package as shown below, click `Import` button: - -![sample_package_import](/images/vrm/sample_package_import.jpg) - -## Run UniVRM Samples - -Now the folder `VRM.Samples` should be in `Assets`. In Project window, please select `SampleViewer`: - -![sample_scene](/images/vrm/sample_scene.jpg) - -Next, select `Game` view. You will see the `SampleViewer` interface: - -![sample_viewer](/images/vrm/sample_viewer.jpg) - -Click `Play` button to enable `SampleViewer`, and then click `Open` button to import a VRM model into the scene at runtime: - -![play_mode](/images/vrm/play_mode.jpg) - -![sample_viewer_activate](/images/vrm/sample_viewer_activate.jpg) - -Other samples such as [Runtime VRM export](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/RuntimeExporterSample) - -and [FirstPerson rendering](https://github.com/vrm-c/UniVRM/tree/master/Assets/VRM/Samples/FirstPersonSample) are available in `VRM.Samples`. - -Alicia model [can be found here](https://github.com/vrm-c/UniVRM/blob/master/Tests/Models/Alicia_vrm-0.51/AliciaSolid_vrm-0.51.vrm). - +[sample_install](/api/sample/sample_install) diff --git a/docs/univrm/install/univrm_uninstall.md b/docs/univrm/install/univrm_uninstall.md index 3f465451e..73d34fad7 100644 --- a/docs/univrm/install/univrm_uninstall.md +++ b/docs/univrm/install/univrm_uninstall.md @@ -1,7 +1,5 @@ --- -linkTitle: "UniVRMをアンインストールする" date: 2020-08-31 -weight: 5 aliases: [] tags: ["unity"] --- @@ -10,19 +8,18 @@ tags: ["unity"] Please delete the folders below: -| folder | Version | Note | -|--------------------|---------------------|----------------------------| -| Assets/VRM | | UniVRM-0.XX.0.unitypackage | -| Assets/UniGLTF | v0.63.0 or later | UniVRM-0.XX.0.unitypackage | -| Assets/VRMShaders | v0.56.0 or later | UniVRM-0.XX.0.unitypackage | +| folder | Version | Note | +| ------------------ | -------------------------- | -------------------------- | +| Assets/VRM | | UniVRM-0.XX.0.unitypackage | +| Assets/UniGLTF | v0.63.0 or later | UniVRM-0.XX.0.unitypackage | +| Assets/VRMShaders | v0.56.0 or later | UniVRM-0.XX.0.unitypackage | | Assets/MeshUtility | v0.59.0 or later ~ v0.63.0 | UniVRM-0.XX.0.unitypackage | | folder | Version | Note | -|------------------------------------|---------|------------------------------------| +| ---------------------------------- | ------- | ---------------------------------- | | Assets/VRM.Samples | | UniVRM-samples-0.XX.0.unitypackage | | Assets/StreamingAssets/VRM.Samples | | UniVRM-samples-0.XX.0.unitypackage | If you want to upgrade UniVRM to the latest version in a Unity project, it is recommended to delete all the folders mentioned above since the locations of files/folders may change between different versions. -* To remove packages installed by Unity Package Window, please click `Remove` button at the lower right of the package interface in UPM window. - +- To remove packages installed by Unity Package Window, please click `Remove` button at the lower right of the package interface in UPM window. diff --git a/docs/univrm/install/univrm_upm.md b/docs/univrm/install/univrm_upm.md index 0ac4a9d09..28da727ae 100644 --- a/docs/univrm/install/univrm_upm.md +++ b/docs/univrm/install/univrm_upm.md @@ -5,84 +5,6 @@ aliases: ["/univrm/univrm_upm/", "/univrm/install/univrm_upm/"] tags: ["unity"] --- -# Install UniVRM with UPM - -* require `Unity 2019.4 or later version` -* require [Git client](https://git-scm.com/) - -## Install git for Unity - -Please refer to [`Git dependencies -> Requirements`](https://docs.unity3d.com/Manual/upm-git.html#req) for more information. - -> 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. - -If git is not installed, the error messages like below will be shown: - -> 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 Check whether git.exe can be found on your machine - -As mentioned above, install [Git client](https://git-scm.com/) and get the directory of git.exe (by default, git.exe is in `C:\\Program Files\\Git\\cmd`). Then, add it to the PATH system environment variable. -::: - -* To check the git version, for instance, open Windows PowerShell and type the command `git --version`: - -``` -> git --version -git version 2.29.2.windows.2 -``` - -## Install using UnityPackageManager window - -![UnityPackageManagerのWindow](/images/vrm10/menu_packagemanager.jpg) - -![add package from git URL](/images/vrm10/from_git.jpg) - -Whenever a new UniVRM version comes out, we will post git urls associated with this release. - -For example, the git urls of [v0.66.0](https://github.com/vrm-c/UniVRM/releases/tag/v0.66.0) are: - -* `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` => depends on VRMShaders -* `https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.66.0` => depends on UniGLTF and VRMShaders - -Since there is no function that can automatically download the dependencies between packages, please add above git urls in order. - -![figure](/images/vrm/upm_package.jpg) - -By changing the version number, you can switch to different version based on your needs. - -## By changing the version number, you can switch to different version based on your needs. - -An alternative way is to add necessary dependencies right in Packages/manifest.json - -```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", - // ... -} -``` - -### Specify git commit - -However, if you want to switch to the specific commit, you can manually change the hash value or append the specific commit in `dependencies`. - -Example: - -```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 +[upm](/api/upm) diff --git a/docs/univrm/install/univrm_version.md b/docs/univrm/install/univrm_version.md index 7fccc5f2e..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 (Last Unity-5.6 compatible version) - -| date | version | -|------|---------------------------------------------------------------| -| 2019 | [0.55.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.55.0) | - -## v0.56.0 ~ - -* If bugs are introduced after version bump, we will fix them as quick as we can and bump the minor version - -| date | version | Bugs | Notes | -|------------|----------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------| -| 2020 | [0.56.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.56.0) | x | The minimum version support for Unity is 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) | | Bones with the same names will be renamed automatically | -| | [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] | Remade export | -| | [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) | | Improved validation checks on VRMSpringBone settings | -| | [0.60.0](http://github.com/vrm-c/UniVRM/releases/tag/v0.60.0) | | Enhanced null-checks on VRM's components when exporting | -| | [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] | Made UniUnlit's vertex color working properly. Fixed AOT compilation issue | -| | [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) | | Fixed bugs when baking BlendShape | -| 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 export bug. Separated UniGLTF from UniVRM | -| 01/07 | [0.63.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.63.1) | [^jpg] [^kwmap] | JPG export bug | -| 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] | Empty submesh will not be exported. vrm-1.0 Experiment kick-off | -| 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] | Fixed export errors when Turkish locale is on [\\#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) | | Updated UniGLTF version number for UPM package. No unity package release | -| 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) | Stable✅ | Warning message when there is a springbone in an unnormalized hierarchy | -| | [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) | | For UPM only. No package release | -| | [0.67.1](http://github.com/vrm-c/UniVRM/releases/tag/v0.67.1) | | For UPM only. No package release | - -## v0.68.0 ~ (VRM-1.0 pre release) - -WIP VRM-1.0 - -* [API](https://vrm-c.github.io/UniVRM/ja/) - -| date | version | Bugs | Notes | -|-------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| | [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 axes options. 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] | Fixed SmoothTexture conversion[\#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) | | Option to split vertex buffer. 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/docs/univrm/springbone/univrm_secondary.md b/docs/univrm/springbone/univrm_secondary.md index c8ed96ac4..a501183fd 100644 --- a/docs/univrm/springbone/univrm_secondary.md +++ b/docs/univrm/springbone/univrm_secondary.md @@ -7,11 +7,13 @@ tags: ["unity"] --- # VRMSpringBone + ## Overview A group of components related to oscillating mono settings. ## Where components are added + ### VRMSpringBone When importing a VRM, it will be added to an automatically generated game object named secondary. @@ -24,7 +26,7 @@ When importing VRM, it will be added to the game object added during export. ## VRMSpringBone -The setting for making objects swaying such as tail, hair, clothes and so on. Please set the target object's parent Gameobject in``Root Bones``. To do that, drag a target object (e.g.``hair1_L``) from``Hierarchy``to the``Element X``field (or click the rightmost icon of``Element X``then you can see a list of selectable components). Adjust``Size``to change the number of``Root Bones``you want to put in. +The setting for making objects swaying such as tail, hair, clothes and so on. Please set the target object's parent Gameobject in`Root Bones`. To do that, drag a target object (e.g.`hair1_L`) from`Hierarchy`to the`Element X`field (or click the rightmost icon of`Element X`then you can see a list of selectable components). Adjust`Size`to change the number of`Root Bones`you want to put in. ![Example: Set the hair and ribbon in `Root Bones`](/images/vrm/VRMSpringBone.png) @@ -36,7 +38,7 @@ The collision detection mechanism can be added to prevent swaying objects from p ![Add the collision detection mechanism on the head (VRMSpringBoneColliderGroup)](/images/vrm/collider.png) -For example, hit `Add Component` to attach VRMSpringBoneColliderGroup script to``head``and drag``head``to the``Element 0``field in``Collider Groups``. You can change its offset and radius value by double clicking the``Element 0``field in``Collider Groups``. +For example, hit `Add Component` to attach VRMSpringBoneColliderGroup script to`head`and drag`head`to the`Element 0`field in`Collider Groups`. You can change its offset and radius value by double clicking the`Element 0`field in`Collider Groups`. ![Attach the VRMSpringBoneColliderGroup script to `head` and set `head` in `Collider Groups`](/images/vrm/set_collider.png) @@ -53,5 +55,3 @@ When setting up complex collision detection, set multiple spheres in one added V ## Prevents shaking when moving Normal VRMSpringBone is calculated based on the world origin. By specifying a game object as the Center of VRMSpringBone, you can change the reference point of the shaking object. -Normal VRMSpringBone is calculated based on the world origin. By specifying a game object as the Center of VRMSpringBone, you can change the reference point of the shaking object. - diff --git a/docs/vrm/how_to_make_vrm/convert_from_humanoid_model.md b/docs/vrm/how_to_make_vrm/convert_from_humanoid_model.md index 946a56d1a..8394a9f0a 100644 --- a/docs/vrm/how_to_make_vrm/convert_from_humanoid_model.md +++ b/docs/vrm/how_to_make_vrm/convert_from_humanoid_model.md @@ -16,7 +16,7 @@ First prepare As there are -* **[license settings](../vrm_meta) embedded in VRM file, users need to set them up according to Author's (yourself or others) permission usage.** +* **license settings embedded in VRM file, users need to set them up according to Author's (yourself or others) permission usage.** Then, ensure the [required bones](https://github.com/vrm-c/vrm-specification/blob/master/specification/0.0/README.md#defined-bones) are included so that the model can be recognized as `Humanoid`. diff --git a/docs/vrm/vrm_about.md b/docs/vrm/vrm_about.md index f82040dbe..63657d010 100644 --- a/docs/vrm/vrm_about.md +++ b/docs/vrm/vrm_about.md @@ -11,39 +11,44 @@ weight: 1 VRM can handle `humanoid` `character avatars`. - **Provides a standard implementation (UniVRM) for reading and writing VRM** - - ➡️ [Download](https://github.com/vrm-c/UniVRM/releases) + - ➡️ [Download](https://github.com/vrm-c/UniVRM/releases) - The format is **glTF based**, so it's **cross-platform**. It can also be handled by other game engines and the Web. - - ➡️ [glTF](https://www.khronos.org/gltf/) + - ➡️ [glTF](https://www.khronos.org/gltf/) ### Contents -* VRM is formulated on top of the 3D standard format **glTF2.0** to handle the humanoid model. The humanoid motion (e.g. from motion capture) can be reproduced based on defined Humanoid bones in VRM -* **Runtime VRM Import**: all data including textures and materials is compacted as one file. To import the VRM model into applications, only one single file is needed -* Standard face operations such as `emotions`, `blinks`, and `aiueo` are defined, and you can do the following. +- VRM is formulated on top of the 3D standard format **glTF2.0** to handle the humanoid model. The humanoid motion (e.g. from motion capture) can be reproduced based on defined Humanoid bones in VRM +- **Runtime VRM Import**: all data including textures and materials is compacted as one file. To import the VRM model into applications, only one single file is needed +- Standard face operations such as `emotions`, `blinks`, and `aiueo` are defined, and you can do the following. - Select facial expressions by user operation - Lip sync from voice - Random blink - Assign facial capture - - ➡️ [BlendShape](/univrm/blendshape/univrm_blendshape) -* It supports 3 types of materials (shaders). - - ➡️ [PBR](/univrm/shaders/univrm_standard) - - ➡️ [Unlit](/univrm/shaders/univrm_unlit) - - ➡️ [MToon](/univrm/shaders/shader_mtoon) + - ➡️ [BlendShape](/univrm/blendshape/univrm_blendshape) + +- It supports 3 types of materials (shaders). + + - ➡️ [PBR](/univrm/shaders/univrm_standard) + - ➡️ [Unlit](/univrm/shaders/univrm_unlit) + - ➡️ [MToon](/univrm/shaders/shader_mtoon) + +- It supports 3 types of line-of-sight control. -* It supports 3 types of line-of-sight control. - ➡️ [Gaze by Bone](/univrm/lookat/lookat_bone) - ➡️ [Gaze by BlendShape](/univrm/lookat/lookat_blendshape) - ➡️ [Gaze by TextureUV](/univrm/lookat/lookat_uv) -* There is a standard implementation of `swaying objects` that does not depend on the physics engine, such as the character's hair. - - ➡️ [SpringBone](/univrm/springbone/univrm_secondary) +- There is a standard implementation of `swaying objects` that does not depend on the physics engine, such as the character's hair. + + - ➡️ [SpringBone](/univrm/springbone/univrm_secondary) -* Avatar's **first-person view** is available in VR - - ➡️ [FirstPerson](/univrm/firstperson/univrm_firstperson) +- Avatar's **first-person view** is available in VR -* Despite the Meta information such as Model Title and Author Name, with the advent of the VR era, Thumbnail and **License Information** are also included in the VRM file. - - ➡️ [Meta](/vrm/vrm_meta) + - ➡️ [FirstPerson](/univrm/firstperson/univrm_firstperson) + +- Despite the Meta information such as Model Title and Author Name, with the advent of the VR era, Thumbnail and **License Information** are also included in the VRM file. + - ➡️ [Meta](/vrm/vrm_meta) As described above, VRM is not just a 3D model data. **It is designed for being able to be used right away once being loaded into applications**. @@ -51,11 +56,11 @@ As described above, VRM is not just a 3D model data. **It is designed for being **The same avatar (VRM model) data can be used in any application that "supports VRM**. As long as various VRM applications are made, the future will look like the one described below for sure... -* Create your own avatar with the character maker in VRM format -* Use your own avatar to host a live streaming event and show up on your friends' live channels -* After the live streaming, start a VR game to explore the VR world with your own avatar -* After the game, move to the chat room in the VR world. Use the same avatar character to hang out with friends -* Tomorrow join the VR study group in VR. Of course, the same avatar appearance +- Create your own avatar with the character maker in VRM format +- Use your own avatar to host a live streaming event and show up on your friends' live channels +- After the live streaming, start a VR game to explore the VR world with your own avatar +- After the game, move to the chat room in the VR world. Use the same avatar character to hang out with friends +- Tomorrow join the VR study group in VR. Of course, the same avatar appearance **By using your own avatar (3D model data) in VRM format, you can access various applications and games that support VRM**. @@ -71,33 +76,35 @@ In the past, handling **3D humanoid avatar (3D model)** in Virtual Reality, Virt Because... -* The output data is depend on how creators make the 3D model and what modeling tools are used - * The coordinate system, scale, initial pose, and the way to express expressions are all different... - * Needless to say, the way bones put into the 3D model is also different - * The initial posture is different (T-Pose, A-Pose, Z + orientation, Z-direction). - * The expression method of facial expressions is different (Morph, Bone, identification method). - * Needless to say, the way bones put into the 3D model is also different +- The output data is depend on how creators make the 3D model and what modeling tools are used + + - The coordinate system, scale, initial pose, and the way to express expressions are all different... + - Needless to say, the way bones put into the 3D model is also different + - The initial posture is different (T-Pose, A-Pose, Z + orientation, Z-direction). + - The expression method of facial expressions is different (Morph, Bone, identification method). + - Needless to say, the way bones put into the 3D model is also different -* Each company has its own specifications for handling the 3D model data, which are way more complex than usual. Also, the necessary information about their file formats is not fully provided - * Whether the FBX file, which is compatible with various software, is viable for an application and which version of the application can process the FBX file are main issues concerned by most of the users. - * Game engines can be captured as assets, but run-time loading is often not expected. +- Each company has its own specifications for handling the 3D model data, which are way more complex than usual. Also, the necessary information about their file formats is not fully provided -* There is not enough necessary information available from the viewpoint of using the 3D model data as Avatar - * For example, in the first-person view, how to get the right viewpoint position, how to exclude head due to the view blocking issue and so on + - Whether the FBX file, which is compatible with various software, is viable for an application and which version of the application can process the FBX file are main issues concerned by most of the users. + - Game engines can be captured as assets, but run-time loading is often not expected. + +- There is not enough necessary information available from the viewpoint of using the 3D model data as Avatar + - For example, in the first-person view, how to get the right viewpoint position, how to exclude head due to the view blocking issue and so on With the use of avatar in VR applications grows exponentially, if the situations mentioned above remain unchanged, application developers and 3D model creators will have to spend double or triple effort. To improve the current situation, based on the humanoid character and avatar, we can do the followings: -* In `Humanoid Characters and Avatar` -* Effectively absorb and unify the differences from the model data -* Make handling the 3D model easy on the application side +- In `Humanoid Characters and Avatar` +- Effectively absorb and unify the differences from the model data +- Make handling the 3D model easy on the application side Here we propose a **platform-independent, 3D avatar file format** called **VRM** that has the above features. ## Upload / Download VRM file -* [The Seed Online](https://seed.online/) -* [VRoid Hub](https://hub.vroid.com/) -* [niconisolid](https://3d.nicovideo.jp/) +- [The Seed Online](https://seed.online/) +- [VRoid Hub](https://hub.vroid.com/) +- [niconisolid](https://3d.nicovideo.jp/) For Nikonisolid, the submitted VRM file [can be found here](https://3d.nicovideo.jp/search?word_type=tag&word=VRM) @@ -105,5 +112,4 @@ Also, when uploading a VRM file to Nikoni 3D, there is an option「バーチャ ## VRM application development - ➡️ [VRM development](/vrm/vrm_development) - +➡️ [VRM development](/vrm/vrm_development) diff --git a/docs/vrm/vrm_development.md b/docs/vrm/vrm_development.md index cb74a6f34..fa04683e5 100644 --- a/docs/vrm/vrm_development.md +++ b/docs/vrm/vrm_development.md @@ -6,23 +6,21 @@ weight: 6 # VRM development -* [programming](https://vrm-c.github.io/UniVRM/) -* [samples](/univrm/install/univrm_install_samples) +- [programming](/api/) ## VRM Features (for Developers) -* Right-handed Y-Up coordinate system ➡️[Coordinate](https://vrm-c.github.io/UniVRM/en/implementation/coordinate.html) +- Right-handed Y-Up coordinate system ➡️[Coordinate](/api/coordinate) +- Metric unit is meter ➡️ You don't have to worry about whether 1 is 1 meter or 1 cm. +- It is a humanoid model and has a fixed bone configuration ➡️ Easy to use general-purpose humanoid motion and motion capture +- T-pose as the initial posture (towards +Z-axis) ➡️ can be used directly for Third-Person-Shooter mode -* Metric unit is meter ➡️ You don't have to worry about whether 1 is 1 meter or 1 cm. -* It is a humanoid model and has a fixed bone configuration ➡️ Easy to use general-purpose humanoid motion and motion capture -* T-pose as the initial posture (towards +Z-axis) ➡️ can be used directly for Third-Person-Shooter mode - -* Guaranteed that there is no rotation or scale in the initial posture ➡️ The burden of writing code that takes initial posture into account can be reduced. -* It is guaranteed that bones and mesh overlap in the initial posture (the skinning Bind matrix only includes movement) ➡️ The burden of baking before processing the mesh can be reduced. -* Expression/eye gaze manipulation are in BlendShapeProxy ➡️ [BlendShapeProxy](https://vrm-c.github.io/UniVRM/en/vrm0/0_58_blendshape.html) -* A non-physical shaking thing has been set up ➡️ It shakes without interfering with physics, so it won't interfere with the game's gimmicks or become violent. -* VR settings are available ➡️ [FirstPerson](https://vrm-c.github.io/UniVRM/en/vrm0/firstperson.html) -* License information is defined ➡️ You can avoid using the model in a way that does not meet the wishes of the model owner. +- Guaranteed that there is no rotation or scale in the initial posture ➡️ The burden of writing code that takes initial posture into account can be reduced. +- It is guaranteed that bones and mesh overlap in the initial posture (the skinning Bind matrix only includes movement) ➡️ The burden of baking before processing the mesh can be reduced. +- Expression/eye gaze manipulation are in BlendShapeProxy ➡️ [BlendShapeProxy](/api/0_58_blendshape) +- A non-physical shaking thing has been set up ➡️ It shakes without interfering with physics, so it won't interfere with the game's gimmicks or become violent. +- VR settings are available ➡️ [FirstPerson](/api/firstperson) +- License information is defined ➡️ You can avoid using the model in a way that does not meet the wishes of the model owner. Rather than packaging it as an asset in a traditional game development project, The intended use is to load it dynamically at runtime. @@ -31,21 +29,21 @@ The intended use is to load it dynamically at runtime. You can use UniVRM's loading functionality at runtime. UniVRM creates GameObjects directly on the scene without creating Assets (Prefabs). A loaded GameObject can be treated like an instantiated Prefab. -* [runtime load](https://vrm-c.github.io/UniVRM/ja/) +- [runtime load](/api/runtime-import) ## Runtime Export with UniVRM You can use UniVRM's export functionality at runtime. You can use this feature to implement a character creation tool. -* [samples](/univrm/install/univrm_install_samples) +- [samples](/api/sample/) `Assets/VRM.Samples/Scenes/VRMRuntimeExporterSample.unity` ## Other VRM Implementations -* https://github.com/ruyo/VRM4U -* https://github.com/saturday06/VRM_IMPORTER_for_Blender -* https://github.com/virtual-cast/babylon-vrm-loader/ -* https://github.com/pixiv/three-vrm/ -* https://github.com/V-Sekai/godot-vrm +- https://github.com/ruyo/VRM4U +- https://github.com/saturday06/VRM_IMPORTER_for_Blender +- https://github.com/virtual-cast/babylon-vrm-loader/ +- https://github.com/pixiv/three-vrm/ +- https://github.com/V-Sekai/godot-vrm diff --git a/docs/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/docs/vrma/index.md b/docs/vrma/index.md index 7b0c1b619..7d410146d 100644 --- a/docs/vrma/index.md +++ b/docs/vrma/index.md @@ -4,6 +4,8 @@ url: /vrma_about/ weight: 1 --- +https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm_animation-1.0 + # VRM Animation ## What is "VRM Animation" ? @@ -18,16 +20,16 @@ VRM Animation is a format for describing animations of humanoid models defined i - Animation is described as **glTF animation**. - **Information that associates each component of VRM with the animated glTF node** is defined in the extension. - - It is defined in the extension `VRMC_vrm_animation`. - - It is recommended to use the extension `.vrma`. -- **Humanoid bone animation** can be described. - - The extension specifies which Humanoid bone a glTF node corresponds to. - - The implementation will transform the rotation of the animation to the destination VRM to apply the animation properly. -- **Expression animation** can be described. - - The file contains the animated weight of an expression as a coordinate of a glTF node. - - In addition to the preset expressions defined in VRM, it also supports custom expressions if the destination VRM has corresponding expressions. -- **Gaze control animation** can be described. - - The extension specifies the glTF node that represents the direction of the gaze. + - It is defined in the extension `VRMC_vrm_animation`. + - It is recommended to use the extension `.vrma`. +- 🦴 **Humanoid bone animation** can be described. + - The extension specifies which Humanoid bone a glTF node corresponds to. + - The implementation will transform the rotation of the animation to the destination VRM to apply the animation properly. +- 😄 **Expression animation** can be described. + - The file contains the animated weight of an expression as a coordinate of a glTF node. + - In addition to the preset expressions defined in VRM, it also supports custom expressions if the destination VRM has corresponding expressions. +- 👀 **Gaze control animation** can be described. + - The extension specifies the glTF node that represents the direction of the gaze. ## Uses of VRM Animation @@ -51,7 +53,12 @@ Thanks to the community, many applications have cooperated in supporting the dra :::info -If you would like to add your application to this list, please [send a Pull Request to the repository on GitHub.](https://github.com/vrm-c/vrm.dev) +If you would like to add your application to this list, please send to + +[GitHub issues](https://github.com/vrm-c/vrm.dev/issues) or +[GitHub Pull Request](https://github.com/vrm-c/vrm.dev/pulls) + +Name and Url is required. ::: @@ -63,13 +70,28 @@ If you would like to add your application to this list, please [send a Pull Requ - [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/) ## Development of applications using VRM Animation -:::note +VRM-1.0 の方に、VRM-Animation サポートが実装されています。 + +### 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 1e0903144..0b7209d3e 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -75,6 +75,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", @@ -94,12 +100,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 fd0a178f3..395ad60ed 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -48,14 +48,14 @@ const sidebars: SidebarsConfig = { items: [ { type: "category", - label: "How to 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", ], }, { @@ -177,7 +177,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", @@ -242,10 +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" }, @@ -260,19 +262,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" }, + ], + }, + "vrma/univrm-vrma/vrma-import", + "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 +333,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" }, @@ -341,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",