docs: documentation updates for resonite support (#1580)
Also marks ALCOM as the recommended installation method
25
docs~/docs/experimental-features/index.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Experimental features
|
||||||
|
|
||||||
|
Modular Avatar (and NDMF) contain a number of experimental features that are disabled by default.
|
||||||
|
These features are still in active development, and their behavior might change in the future.
|
||||||
|
They may not be fully documented yet.
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Experimental features might change in ways that are not backward compatible.
|
||||||
|
This means that if you use an experimental feature, you might need to update your avatar
|
||||||
|
or assets in the future to keep them working.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Enabling experimental features
|
||||||
|
|
||||||
|
Before enabling experimental features, make sure you have the latest (beta) version of Modular Avatar and NDMF. See the [installation instructions](intro#betas) for more information.
|
||||||
|
|
||||||
|
To enable experimental features, open "Tools -> NDM Framework -> Experimental Features" in the menu bar.
|
||||||
|
This will open a window where you can enable or disable experimental features.
|
||||||
|
|
||||||
|
## List of experimental features
|
||||||
|
|
||||||
|
- [Resonite support](./resonite-support.md)
|
||||||
|
- [Portable avatar components](./portable-avatar-components.md)
|
@ -0,0 +1,28 @@
|
|||||||
|
# Portable Avatar Components
|
||||||
|
|
||||||
|
NDMF provides a number of components that can be used to create an avatar that does not depend on a specific platform SDK (e.g. the VRCSDK) for building.
|
||||||
|
|
||||||
|
A minimal setup for a portable avatar consists of three components:
|
||||||
|
- **NDMFAvatarRoot**: This component is required for all avatars. Place it at the root of your avatar.
|
||||||
|
- **NDMF Viewpoint**: This component sets the viewpoint of your avatar. Create an empty gameobject at the position of your viewpoint, and add this component to it. The viewpoint object can be anywhere in the hierarchy, but it is recommended to place it at the root of your avatar.
|
||||||
|
- **NDMF Blendshape Visemes**: This component is required for avatars that use blendshape visemes for lipsync. Use it to configure the face mesh and the viseme blendshapes.
|
||||||
|
|
||||||
|
## Portable Dynamic Bones {#portable-dynamic-bones}
|
||||||
|
|
||||||
|
Portable dynamic bone components let you mark a bone as being physically simulated without depending
|
||||||
|
on any specific SDK. Because each platform has its own way of simulating physics, these components
|
||||||
|
only configure the minimal set of properties that are common to all platforms. Specific configuration
|
||||||
|
is handled by configuring a "settings template" name; you can configure the settings template
|
||||||
|
in a platform-specific way to give it specific settings.
|
||||||
|
|
||||||
|
If you have both a portable dynamic bone component and a platform-specific dynamic bone component
|
||||||
|
referring to the same bone root transform, the platform-specific component will take precedence.
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Portable dynamic bones are not fully functional yet. They might work,
|
||||||
|
but are highly likely to change in incompatible ways in the future.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
<!-- TODO: Details -->
|
91
docs~/docs/experimental-features/resonite-support.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
# Resonite support
|
||||||
|
|
||||||
|
Modular Avatar has experimental support for building avatars for Resonite.
|
||||||
|
Enabling this feature requires that you install the "Modular Avatar - Resonite support" package using ALCOM,
|
||||||
|
and that you enable [experimental feature support](../experimental-features).
|
||||||
|
|
||||||
|
To build an avatar for resonite, open the NDMF Console (Tools -> NDM Framework -> NDMF Console), select your avatar at the top of the window, select "Resonite" as the "Avatar platform", and click build.
|
||||||
|
If all goes well, you'll see a "Build finished!" message. You can then either "copy to clipboard", and then hit Ctrl-V in resonite, or click "Save as..." to save the avatar as a `resonitepackage` file.
|
||||||
|
|
||||||
|
The resonite build process will automatically copy certain avatar features, such as visemes, eye position, and physbones/dynamic bones to the Resonite avatar.
|
||||||
|
|
||||||
|
## Supported features
|
||||||
|
|
||||||
|
| Feature | Supported | Limitations |
|
||||||
|
| ------- | --------- | ----------- |
|
||||||
|
| Avatar viewpoint | ✅ | None |
|
||||||
|
| Visemes | Partial | Blendshape visemes only |
|
||||||
|
| Dynamic bones | Partial | See below |
|
||||||
|
| Reactive Components | ⌛ | Planned |
|
||||||
|
| Unity Constraints | ⌛ | Planned |
|
||||||
|
| Protection against showing partially-loaded avatars | ✅ | None |
|
||||||
|
|
||||||
|
## Supported MA components
|
||||||
|
|
||||||
|
| Component | Supported | Limitations |
|
||||||
|
| ------- | --------- | ----------- |
|
||||||
|
| Blendshape Sync | ⌛ | Planned |
|
||||||
|
| Bone Proxy | ✅ | None |
|
||||||
|
| Convert Constraints | ✖ | VRChat only |
|
||||||
|
| Menu Group | ⌛ | Planned |
|
||||||
|
| Menu Install Target | ⌛ | Planned |
|
||||||
|
| Menu Installer | ⌛ | Planned |
|
||||||
|
| Menu Item | ⌛ | Planned |
|
||||||
|
| Merge Animator | ✖ | VRChat only |
|
||||||
|
| Merge Armature | ✅ | None |
|
||||||
|
| Merge Blend Tree | ✖ | VRChat only |
|
||||||
|
| Mesh Settings | ⌛ | Planned |
|
||||||
|
| MMD Layer Control | ✖ | VRChat only |
|
||||||
|
| Move Independently | ✅ | None |
|
||||||
|
| Parameters | ⌛ | Planned (will be converted to DynVars) |
|
||||||
|
| Physbone Blocker | ✅ | None |
|
||||||
|
| Remove Vertex Color | ✅ | None |
|
||||||
|
| Replace Object | ✅ | None |
|
||||||
|
| Scale Adjuster | ✅ | None |
|
||||||
|
| Sync Parameter Sequence | ✖ | VRChat only |
|
||||||
|
| Visible Head Accessory | ⌛ | Planned |
|
||||||
|
| VRChat Settings | ✖ | VRChat only |
|
||||||
|
| World Fixed Object | ⌛ | Planned |
|
||||||
|
| World Scale Object | ⌛ | Planned |
|
||||||
|
|
||||||
|
## Dynamic bones
|
||||||
|
|
||||||
|
Modular Avatar will detect dynamic bones created using either [Portable Dynamic Bones](./portable-avatar-components#portable-dynamic-bones) or VRChat's PhysBones, and attempt to convert them to Resonite's dynamic bones, including any colliders.
|
||||||
|
|
||||||
|
Since Resonite has its own dynamic bone system, most configuration options are not converted.
|
||||||
|
However, exclusions (including Physbone Blockers), colliders, and collision radius are converted.
|
||||||
|
|
||||||
|
Modular Avatar will group Dynamic Bones into a number of named "templates" based on their bone names.
|
||||||
|
You can override the template name by either adding a portable dynamic bone component with a group name specified. Alternately, in resonite, you can create a new template by cloning an object under the `Avatar Settings` -> `Dynamic Bone Settings` Slot, setting its name to the new template name, and then changing the name found on the `Template Name` slot underneath the slot that defined the dynamic bone.
|
||||||
|
|
||||||
|
All dynamic bones under the same template will share the same settings for Inertia, InertiaForce, Damping, Elasticity, and Stiffness; you can change these settings on any of the dynamic bones in question,and any changes will be reflected on all of them.
|
||||||
|
|
||||||
|
## Avatar Settings copier
|
||||||
|
|
||||||
|
Modular Avatar will set up a system for copying avatar settings between different versions of your Resonite avatar. This lets you set resonite-specific settings, such as dynamic bone settings, and then copy them to a new version of your avatar after reimporting from unity.
|
||||||
|
|
||||||
|
This feature will specifically copy all Slots underneath the `Avatar Settings` slot, overwriting
|
||||||
|
any existing slots with the same name. You can add your own slots to the `Avatar Settings` slot, and they will be copied as well.
|
||||||
|
|
||||||
|
To copy settings, wear your old avatar in resonite, and pick up your new avatar with your laser. From the context menu, select `MA Settings Copier` -> `Copy To Avatar`. This will copy the settings from your old avatar to your new avatar. You can then wear the new avatar, and the settings will be applied.
|
||||||
|
|
||||||
|
|
||||||
|
## Default DynVars
|
||||||
|
|
||||||
|
Modular Avatar defines a number of default Dynamic Variables that can be used by avatar systems.
|
||||||
|
|
||||||
|
Some of these dynvars are still somewhat experimental, and may change in the future.
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
| ---- | ---- | ----------- |
|
||||||
|
| `modular_avatar/AvatarRoot` | `Slot` | The root slot of the avatar (parent of `CenteredRoot`) |
|
||||||
|
| `modular_avatar/AvatarWorn` | `bool` | Whether the avatar is currently worn (detected by the avatar being a direct child of the User slot) |
|
||||||
|
| `modular_avatar/AvatarSettingsRoot` | `Slot` | The `Avatar Settings` object |
|
||||||
|
| `modular_avatar/AvatarPoseNode.[type]` | `Slot` | The Slot containing the `AvatarPoseNode` component for node `[type]` (e.g. `Head Proxy`) |
|
||||||
|
| `modular_avatar/MeshNotLoaded` | `bool` | _False_ if there are any unloaded meshes in the avatar, _missing_ otherwise. _This dynvar is subject to change in the future._ |
|
||||||
|
| `modular_avatar/BoneRef_[name]` | `Slot` | References a humanoid bone by name. _Name is subject to change in the future._ |
|
||||||
|
| `modular_avatar/BonePose_[name]` | `float4x4` | The initial pose of the bone referenced by `BoneRef_[name]`. _Name is subject to change in the future. Values might not be quite correct yet._ |
|
||||||
|
|
||||||
|
Additionally, an `Avatar` Dynamic Variable Space is created on the avatar root for use by other gimmicks.
|
||||||
|
|
||||||
|
<!-- TODO: Screenshots -->
|
@ -2,6 +2,9 @@
|
|||||||
sidebar_position: 1
|
sidebar_position: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
# Modular Avatar
|
# Modular Avatar
|
||||||
|
|
||||||
Modular Avatar is a suite of **non-destructive** tools for modularizing your avatars, and for distributing avatar
|
Modular Avatar is a suite of **non-destructive** tools for modularizing your avatars, and for distributing avatar
|
||||||
@ -13,19 +16,10 @@ you want to use. It can automatically merge outfits onto your avatar, build an a
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Install via VCC
|
The recommended way to install Modular Avatar is using ALCOM. Installation using the VRChat Creator Companion is also supported.
|
||||||
|
|
||||||
The recommended way to install Modular Avatar is using the VRChat Creator Companion. After installing the VCC, click here:
|
<Tabs>
|
||||||
|
<TabItem value="ALCOM" label="ALCOM" default>
|
||||||
* [Add Modular Avatar to VCC](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json)
|
|
||||||
|
|
||||||
Then, go to "manage project" for your project, and click the + next to Modular Avatar.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
To update to the latest version, just click the green arrow in the "Latest Version" column.
|
|
||||||
|
|
||||||
### Install via ALCOM
|
|
||||||
|
|
||||||
If you are using [ALCOM](https://vrc-get.anatawa12.com/en/alcom/) to install Modular Avatar, follow these steps:
|
If you are using [ALCOM](https://vrc-get.anatawa12.com/en/alcom/) to install Modular Avatar, follow these steps:
|
||||||
|
|
||||||
@ -46,48 +40,47 @@ To update to the latest version, click the area with the version number and gree
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Prerelease versions
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="VCC" label="VRChat Creator Companion">
|
||||||
|
|
||||||
|
If you are using the [VRChat Creator Companion](https://vrchat.com/home/download), click here:
|
||||||
|
* [Add Modular Avatar to VCC](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json)
|
||||||
|
|
||||||
|
Then, go to "manage project" for your project, and click the + next to Modular Avatar.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
To update to the latest version, just click the green arrow in the "Latest Version" column.
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
|
## Prerelease versions {#betas}
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Due to bugs in VCC dependency resolution, please use ALCOM to install prerelease versions of Modular Avatar.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
To make prerelease versions available in ALCOM:
|
||||||
|
1. Open "Packages" and select "ADD REPOSITORY".
|
||||||
|
2. Enter the following value under "Enter informatino about the repository" and click "ADD REPOSITORY": `https://vpm.nadena.dev/vpm-prerelease.json`
|
||||||
|
3. Confirm the following details are displayed, then click "Add VPM Repository":
|
||||||
|
- Repository Name: `bd_ (prereleases)`
|
||||||
|
- URL: The URL you entered.
|
||||||
|
|
||||||
|
Then, in your ALCOM Settings window, enable `Show pre-release packages`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
The documentation for the prerelease branch can be [found here](https://modular-avatar.nadena.dev/dev).
|
The documentation for the prerelease branch can be [found here](https://modular-avatar.nadena.dev/dev).
|
||||||
|
|
||||||
Prerelease versions may contain bugs, and/or may have compatibility breaks as development progresses. Please leave
|
Prerelease versions may contain bugs, and/or may have compatibility breaks as development progresses. Please leave
|
||||||
feedback and bug reports at the [github issues page](https://github.com/bdunderscore/modular-avatar/issues).
|
feedback and bug reports at the [github issues page](https://github.com/bdunderscore/modular-avatar/issues).
|
||||||
|
|
||||||
### Install Prerelease versions via VCC
|
|
||||||
|
|
||||||
To make prerelease versions available in the VCC, [click here](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm-prerelease.json)
|
|
||||||
|
|
||||||
Then, in your VCC Settings -> Packages window, uncheck the `bd_` repository, check the `bd_ prerelease` repository, and enable `Show pre-release packages`.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Install Prerelease versions via ALCOM
|
|
||||||
|
|
||||||
If you are using [ALCOM](https://vrc-get.anatawa12.com/en/alcom/) to install Modular Avatar, follow these steps:
|
|
||||||
|
|
||||||
1. Open "Packages" and select "ADD REPOSITORY".
|
|
||||||
2. Enter the following values under "Enter information about the repository" and click "ADD REPOSITORY":
|
|
||||||
* `https://vpm.nadena.dev/vpm-prerelease.json`
|
|
||||||
3. Confirm the following details are displayed, then click "Add VPM Repository":
|
|
||||||
* Repository Name: `bd_ (prereleases)`
|
|
||||||
* URL: The URL you entered.
|
|
||||||
4. When you currenly uses stable version, In your ALCOM Packages window, uncheck `bd_` repo and check `bd_ (prereleases)` repo.
|
|
||||||
5. In your ALCOM Settings window, enable `Show Prerelease Packages`.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Afterward, open "Manage Project" for your project, click the + next to Modular Avatar, and then click `APPLY`.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
To update to the latest version, click the area with the version number and green arrow, then click `APPLY`.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## What to read next
|
## What to read next
|
||||||
|
|
||||||
Once you've installed MA, check out one of the tutorials below:
|
Once you've installed MA, check out one of the tutorials below:
|
||||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 92 KiB |
@ -293,9 +293,6 @@
|
|||||||
"Close": {
|
"Close": {
|
||||||
"message": "Close"
|
"message": "Close"
|
||||||
},
|
},
|
||||||
"Download (using VCC)": {
|
|
||||||
"message": "Download (using VCC)"
|
|
||||||
},
|
|
||||||
"Tutorials": {
|
"Tutorials": {
|
||||||
"message": "Tutorials"
|
"message": "Tutorials"
|
||||||
},
|
},
|
||||||
@ -340,5 +337,50 @@
|
|||||||
"theme.unlistedContent.message": {
|
"theme.unlistedContent.message": {
|
||||||
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
|
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
|
||||||
"description": "The unlisted content banner message"
|
"description": "The unlisted content banner message"
|
||||||
|
},
|
||||||
|
"theme.docs.DocCard.categoryDescription.plurals": {
|
||||||
|
"message": "1 item|{count} items",
|
||||||
|
"description": "The default description for a category card in the generated index about how many items this category includes"
|
||||||
|
},
|
||||||
|
"theme.blog.author.pageTitle": {
|
||||||
|
"message": "{authorName} - {nPosts}",
|
||||||
|
"description": "The title of the page for a blog author"
|
||||||
|
},
|
||||||
|
"theme.blog.authorsList.pageTitle": {
|
||||||
|
"message": "Authors",
|
||||||
|
"description": "The title of the authors page"
|
||||||
|
},
|
||||||
|
"theme.blog.authorsList.viewAll": {
|
||||||
|
"message": "View all authors",
|
||||||
|
"description": "The label of the link targeting the blog authors page"
|
||||||
|
},
|
||||||
|
"theme.blog.author.noPosts": {
|
||||||
|
"message": "This author has not written any posts yet.",
|
||||||
|
"description": "The text for authors with 0 blog post"
|
||||||
|
},
|
||||||
|
"theme.contentVisibility.unlistedBanner.title": {
|
||||||
|
"message": "Unlisted page",
|
||||||
|
"description": "The unlisted content banner title"
|
||||||
|
},
|
||||||
|
"theme.contentVisibility.unlistedBanner.message": {
|
||||||
|
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
|
||||||
|
"description": "The unlisted content banner message"
|
||||||
|
},
|
||||||
|
"theme.contentVisibility.draftBanner.title": {
|
||||||
|
"message": "Draft page",
|
||||||
|
"description": "The draft content banner title"
|
||||||
|
},
|
||||||
|
"theme.contentVisibility.draftBanner.message": {
|
||||||
|
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
|
||||||
|
"description": "The draft content banner message"
|
||||||
|
},
|
||||||
|
"You should have seen a prompt to add Modular Avatar to ALCOM or VCC. If you didn't, try installing or reinstalling ALCOM or VCC using the links below. Once you've added the repository, you can install Modular Avatar in your project by clicking the button shown below.": {
|
||||||
|
"message": "You should have seen a prompt to add Modular Avatar to ALCOM or VCC. If you didn't, try installing or reinstalling ALCOM or VCC using the links below. Once you've added the repository, you can install Modular Avatar in your project by clicking the button shown below."
|
||||||
|
},
|
||||||
|
"Download ALCOM here": {
|
||||||
|
"message": "Download ALCOM here"
|
||||||
|
},
|
||||||
|
"Download VRChat Creator Companion here": {
|
||||||
|
"message": "Download VRChat Creator Companion here"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,5 +18,21 @@
|
|||||||
"sidebar.tutorialSidebar.category.Dealing with problems": {
|
"sidebar.tutorialSidebar.category.Dealing with problems": {
|
||||||
"message": "Dealing with problems",
|
"message": "Dealing with problems",
|
||||||
"description": "The label for category Dealing with problems in sidebar tutorialSidebar"
|
"description": "The label for category Dealing with problems in sidebar tutorialSidebar"
|
||||||
|
},
|
||||||
|
"sidebar.tutorialSidebar.category.Reactive Components": {
|
||||||
|
"message": "Reactive Components",
|
||||||
|
"description": "The label for category Reactive Components in sidebar tutorialSidebar"
|
||||||
|
},
|
||||||
|
"sidebar.tutorialSidebar.category.General Behavior": {
|
||||||
|
"message": "General Behavior",
|
||||||
|
"description": "The label for category General Behavior in sidebar tutorialSidebar"
|
||||||
|
},
|
||||||
|
"sidebar.tutorialSidebar.category.Unity 2019 support": {
|
||||||
|
"message": "Unity 2019 support",
|
||||||
|
"description": "The label for category Unity 2019 support in sidebar tutorialSidebar"
|
||||||
|
},
|
||||||
|
"sidebar.tutorialSidebar.category.Experimental features": {
|
||||||
|
"message": "Experimental features",
|
||||||
|
"description": "The label for category Experimental features in sidebar tutorialSidebar"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -301,5 +301,17 @@
|
|||||||
},
|
},
|
||||||
"Tutorials": {
|
"Tutorials": {
|
||||||
"message": "チュートリアル"
|
"message": "チュートリアル"
|
||||||
|
},
|
||||||
|
"You should have seen a prompt to add Modular Avatar to ALCOM or VCC. If you didn't, try installing or reinstalling ALCOM or VCC using the links below. Once you've added the repository, you can install Modular Avatar in your project by clicking the button shown below.": {
|
||||||
|
"message": "ALCOMかVCCにModular Avatarを追加する確認画面が出たはずです。もし出てない場合は、下記のリンクからALCOMかVCCをインストールまたは再インストールしてみてください。設定したあとは、下記のボタンを押すことでプロジェクトにModular Avatarを追加できます。"
|
||||||
|
},
|
||||||
|
"Download ALCOM here": {
|
||||||
|
"message": "ALCOMのダウンロードはこちら"
|
||||||
|
},
|
||||||
|
"Download VRChat Creator Companion here": {
|
||||||
|
"message": "VRChat Creator Companionのダウンロードはこちら"
|
||||||
|
},
|
||||||
|
"Download": {
|
||||||
|
"message": "ダウンロード"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
# 実験的な機能
|
||||||
|
|
||||||
|
Modular Avatar(およびNDMF)には、デフォルトで無効になっているいくつかの実験的な機能があります。開発途中の機能であり、将来的に動作が変更される可能性があります。
|
||||||
|
まだ完全にドキュメント化されていない場合があります。
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
実験的な機能は、後方互換性のない方法で変更される可能性があります。
|
||||||
|
つまり、実験的な機能を使用すると、将来的にアバターやアセットを再設定・更新する必要が生じる可能性があります。
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 実験的な機能の有効化
|
||||||
|
|
||||||
|
実験的な機能を有効にする前に、Modular AvatarとNDMFの最新の(ベータ)バージョンをインストールしてください。詳細については、[インストール手順](intro#betas)を参照してください。
|
||||||
|
|
||||||
|
実験的な機能を有効にするには、メニューバーの「Tools」→「NDM Framework」→「Experimental Features」を開いてください。実験的な機能を有効または無効にするウィンドウが開きます。
|
||||||
|
|
||||||
|
## 実験的な機能のリスト
|
||||||
|
|
||||||
|
- [Resonite 対応](./resonite-support.md)
|
||||||
|
- [汎用型アバター設定コンポーネント](./portable-avatar-components.md)
|
@ -0,0 +1,21 @@
|
|||||||
|
# 汎用型アバター設定コンポーネント
|
||||||
|
|
||||||
|
NDMFには、特定のプラットフォームSDK(VRCSDKなど)に依存しないアバターを作成するために使用できるコンポーネントがいくつか用意されています。
|
||||||
|
|
||||||
|
最小限の汎用アバター設定は、次の3つのコンポーネントで構成されています。
|
||||||
|
- **NDMFAvatarRoot**: すべてのアバターに必要なコンポーネントです。アバターのルートに配置してください。
|
||||||
|
- **NDMF Viewpoint**: アバターの視点を設定するコンポーネントです。視点の位置に空のゲームオブジェクトを作成し、このコンポーネントを追加してください。視点オブジェクトは階層内のどこにでも配置できますが、アバターのルートに配置することをお勧めします。
|
||||||
|
- **NDMF Blendshape Visemes**: ブレンドシェイプの口パクを使用するアバターに必要なコンポーネントです。顔メッシュと口パクのブレンドシェイプを設定するために使用します。
|
||||||
|
|
||||||
|
## Portable Dynamic Bones {#portable-dynamic-bones}
|
||||||
|
|
||||||
|
Portable Dynamic Bonesコンポーネントを使用すると、特定のSDKに依存せずにボーンを物理的にシミュレートするようにマークできます。
|
||||||
|
各プラットフォームには独自の物理シミュレーション方法があるため、これらのコンポーネントは、すべてのプラットフォームで共通する最小限のプロパティのみを設定できます。特定の設定は「設定テンプレート」名を構成することで処理されます。設定テンプレートは、プラットフォーム固有の方法で構成して特定の設定を与えることができます。
|
||||||
|
|
||||||
|
Portable Dynamic Bonesコンポーネントと、同じボーンルートトランスフォームを参照するプラットフォーム固有のダイナミックボーンコンポーネントの両方がある場合、プラットフォーム固有のコンポーネントが優先されます。
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Portable Dynamic Bonesはまだ完全に機能していません。動作する可能性はありますが、将来的に互換性のない方法で変更される可能性が非常に高いです。
|
||||||
|
|
||||||
|
:::
|
@ -0,0 +1,88 @@
|
|||||||
|
# Resonite対応
|
||||||
|
|
||||||
|
Modular Avatarには、実験的な機能として、Resonite向けのアバターをビルドできます。
|
||||||
|
この機能を有効にするには、ALCOMを使用して「Modular Avatar - Resonite support」パッケージをインストールし、[実験的な機能のサポート](../experimental-features)を有効にする必要があります。
|
||||||
|
|
||||||
|
Resonite向けのアバターをビルドするには、NDMFコンソール (Tools -> NDM Framework -> NDMF Console)を開き、ウィンドウの上部でアバターを選択し、「Avatar platform」として「Resonite」を選択し、Buildをクリックしてください。
|
||||||
|
正常にビルドが完了すると、「Build finished!」というメッセージが表示されます。
|
||||||
|
その後、「copy to clipboard」をクリックして、resoniteでCtrl-Vを押すか、「Save as...」をクリックして、アバターを`resonitepackage`ファイルとして保存できます。
|
||||||
|
|
||||||
|
Resoniteのビルドプロセスは、ビルド中にアバターの特定の機能(ビジュアル、目の位置、物理ボーン/ダイナミックボーンなど)を自動的にコピーします。
|
||||||
|
|
||||||
|
## 現在対応している機能
|
||||||
|
|
||||||
|
| 機能 | 対応状況 | 制限事項 |
|
||||||
|
| ------- | --------- | ----------- |
|
||||||
|
| Avatar の視点位置 | ✅ | なし |
|
||||||
|
| Visemes(口パク) | 部分的 | ブレンドシェープ型のみ |
|
||||||
|
| 揺れもの設定 | 部分的 | 下記参照 |
|
||||||
|
| Reactive Components | ⌛ | 対応予定 |
|
||||||
|
| Unity Constraints | ⌛ | 対応予定 |
|
||||||
|
| 読み込み途中でのアバター表示への対策 | ✅ | None |
|
||||||
|
|
||||||
|
## 現在対応しているModular Avatarのコンポーネント
|
||||||
|
|
||||||
|
| コンポーネント | 対応状況 | 制限事項 |
|
||||||
|
| ------- | --------- | ----------- |
|
||||||
|
| Blendshape Sync | ⌛ | 対応予定 |
|
||||||
|
| Bone Proxy | ✅ | なし |
|
||||||
|
| Convert Constraints | ✖ | VRChat のみで対応 |
|
||||||
|
| Menu Group | ⌛ | 対応予定 |
|
||||||
|
| Menu Install Target | ⌛ | 対応予定 |
|
||||||
|
| Menu Installer | ⌛ | 対応予定 |
|
||||||
|
| Menu Item | ⌛ | 対応予定 |
|
||||||
|
| Merge Animator | ✖ | VRChat のみで対応 |
|
||||||
|
| Merge Armature | ✅ | なし |
|
||||||
|
| Merge Blend Tree | ✖ | VRChat のみで対応 |
|
||||||
|
| Mesh Settings | ⌛ | 対応予定 |
|
||||||
|
| MMD Layer Control | ✖ | VRChat のみで対応 |
|
||||||
|
| Move Independently | ✅ | なし |
|
||||||
|
| Parameters | ⌛ | 対応予定(DynVarとして実装する予定)|
|
||||||
|
| Physbone Blocker | ✅ | なし |
|
||||||
|
| Remove Vertex Color | ✅ | なし |
|
||||||
|
| Replace Object | ✅ | なし |
|
||||||
|
| Scale Adjuster | ✅ | なし |
|
||||||
|
| Sync Parameter Sequence | ✖ | VRChat のみで対応 |
|
||||||
|
| Visible Head Accessory | ⌛ | 対応予定 |
|
||||||
|
| VRChat Settings | ✖ | VRChat のみで対応 |
|
||||||
|
| World Fixed Object | ⌛ | 対応予定 |
|
||||||
|
| World Scale Object | ⌛ | 対応予定 |
|
||||||
|
|
||||||
|
## 揺れものについて
|
||||||
|
|
||||||
|
Modular Avatarは、[Portable Dynamic Bones](./portable-avatar-components#portable-dynamic-bones)またはVRChatのPhysBonesを使用して作成されたダイナミックボーンを検出し、コライダー設定を含めてResoniteのダイナミックボーンに変換しようとします。
|
||||||
|
|
||||||
|
Resoniteには独自のダイナミックボーンシステムがあるため、ほとんどの設定オプションは変換されません。ただし、除外(Physbone Blockersを含む)、コライダー、および衝突範囲は変換されます。
|
||||||
|
|
||||||
|
Dynamic Bonesは、ボーン名に基づいて、いくつかの名前付き「テンプレート」にグループ化されます。テンプレート名は、ポータブルダイナミックボーンコンポーネントにグループ名を指定することで上書きできます。
|
||||||
|
または、Resoniteで、`Avatar Settings` -> `Dynamic Bone Settings` スロットの下にあるオブジェクトをクローンし、新しいテンプレート名に設定し、ダイナミックボーンを定義したスロットの下にある`Template Name`スロットの名前を変更することで、新しいテンプレートを作成できます。
|
||||||
|
|
||||||
|
同じテンプレートの下にあるすべてのダイナミックボーンは、Inertia、InertiaForce、Damping、Elasticity、およびStiffnessの設定を共有します。これらの設定は、対象のダイナミックボーンのいずれかでも変更すればすべてが連動します。
|
||||||
|
|
||||||
|
## アバター設定ののコピー機能
|
||||||
|
|
||||||
|
Modular Avatarは、Resoniteアバターの異なるバージョン間でアバター設定をコピーするシステムを自動的に導入します。これにより、Resonite固有の設定(ダイナミックボーンの設定など)を設定し、Unityから再インポートした後に新しいバージョンのアバターにコピーできます。
|
||||||
|
|
||||||
|
具体的には、`Avatar Settings`スロットの下にあるすべてのスロットをコピーし、同じ名前のスロットがあれば上書きします。自分のスロットを`Avatar Settings`スロットに追加することもでき、これらもコピーされます。
|
||||||
|
|
||||||
|
設定をコピーするには、古いアバターをResoniteで着用し、新しいアバターをレーザーで持ちます。コンテキストメニューから`MA Settings Copier` -> `Copy To Avatar`を選択します。これにより、古いアバターの設定が新しいアバターにコピーされます。その後、新しいアバターを着用すると、設定が適用されます。
|
||||||
|
|
||||||
|
## 自動設定されるDynVar
|
||||||
|
|
||||||
|
Modular Avatarは、アバターシステムで使用できるいくつかのDynamic Variableを定義しています。
|
||||||
|
|
||||||
|
自動追加されるDynVarの仕様は、現在実験的なものも含まれるため、将来的に変更される可能性があります。
|
||||||
|
|
||||||
|
| 名前 | 型 | 詳細 |
|
||||||
|
| ---- | ---- | ----------- |
|
||||||
|
| `modular_avatar/AvatarRoot` | `Slot` | アバターのルートスロット(`CenteredRoot`の親) |
|
||||||
|
| `modular_avatar/AvatarWorn` | `bool` | アバターが現在着用されているかどうか(アバターがUserスロットの直下にある場合に検出) |
|
||||||
|
| `modular_avatar/AvatarSettingsRoot` | `Slot` | `Avatar Settings`オブジェクト |
|
||||||
|
| `modular_avatar/AvatarPoseNode.[type]` | `Slot` | | `[type]`の`AvatarPoseNode`コンポーネントを含むスロット(例:`Head Proxy`) |
|
||||||
|
| `modular_avatar/MeshNotLoaded` | `bool` | アバターのメッシュが読み込まれていないかどうか。なお、この変数は読み込み途中のメッシュがある場合「false」になり、ない場合は「未定義」になるので注意。この仕様は将来的に変更される可能性が高いのでご注意ください |
|
||||||
|
| `modular_avatar/BoneRef_[name]` | `Slot` | ヒューマノイドボーンを名前で参照します。名義は今後変更される可能性があります。 |
|
||||||
|
| `modular_avatar/BonePose_[name]` | `float4x4` | 該当するボーンの初期ポーズです。_名前・内容の調整が入る可能性が高い機能です。|
|
||||||
|
|
||||||
|
なお、ほかのギミック用に、アバタールートに「Avatar」のDynamic Variable Spaceも生成されます。
|
||||||
|
|
||||||
|
<!-- TODO: Screenshots -->
|
@ -2,6 +2,9 @@
|
|||||||
sidebar_position: 1
|
sidebar_position: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
# Modular Avatar
|
# Modular Avatar
|
||||||
|
|
||||||
Modular Avatar(モジュラーアバター)は、**非破壊的な**アバター製作用、そしてアバター部品の配布補助ツールの集まりです。
|
Modular Avatar(モジュラーアバター)は、**非破壊的な**アバター製作用、そしてアバター部品の配布補助ツールの集まりです。
|
||||||
@ -11,74 +14,23 @@ Modular Avatarの機能はそれぞれコンポーネントとして提供され
|
|||||||
|
|
||||||
## インストール
|
## インストール
|
||||||
|
|
||||||
### VCCでのインストール
|
ALCOMでModular Avatarをインストールすることをお勧めします。VRChat Creator Companionを使用してインストールすることもできます。
|
||||||
|
|
||||||
VRChat Creator CompanionでModular Avatarをインストールすることをお勧めします。VCCをインストールしたら、こちらをクリックしてください:
|
<Tabs>
|
||||||
|
<TabItem value="ALCOM" label="ALCOM" default>
|
||||||
|
|
||||||
* [Modular AvatarをVCCに追加](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json)
|
まずは[ALCOM](https://vrc-get.anatawa12.com/ja/alcom/)をインストールしてください。
|
||||||
|
|
||||||
その後、プロジェクトの"manage project"を開き、Modular Avatarの+をクリックしてください。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
最新版にアップデートするには、"Latest Version"の緑色の矢印をクリックしてください。
|
|
||||||
|
|
||||||
### ALCOMでのインストール
|
|
||||||
|
|
||||||
[ALCOM](https://vrc-get.anatawa12.com/ja/alcom/)でModular Avatarのインストールを指定する場合があります。
|
|
||||||
|
|
||||||
インストール後、以下の手順でVPMリポジトリを追加してください。
|
インストール後、以下の手順でVPMリポジトリを追加してください。
|
||||||
|
|
||||||
* 「パッケージ管理」 > 「VPMリポジトリを追加」
|
* 「パッケージ管理」 > 「VPMリポジトリを追加」
|
||||||
* 「リポジトリ情報を入力」に次の値を入力し、「VPMリポジトリを追加」
|
* 「リポジトリ情報を入力」に次の値を入力し、「VPMリポジトリを追加」
|
||||||
* `https://vpm.nadena.dev/vpm.json`
|
* 通常版: `https://vpm.nadena.dev/vpm.json`
|
||||||
|
* テスト版: `https://vpm.nadena.dev/vpm-prerelease.json` (ベータ版使用の場合)
|
||||||
* 以下の情報が記載されることを確認し、「VPMリポジトリを追加」
|
* 以下の情報が記載されることを確認し、「VPMリポジトリを追加」
|
||||||
* リポジトリ名: `bd_`
|
* リポジトリ名: `bd_`
|
||||||
* URL: 入力したURL
|
* URL: 入力したURL
|
||||||
|
|
||||||
その後、プロジェクトの"管理"を開き、Modular Avatarの+をクリックし、「適用」をクリックしてください。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
最新版にアップデートするには、バージョン番号と緑色の矢印を囲った枠内をクリックし、「適用」をクリックしてください。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## テスト版
|
|
||||||
|
|
||||||
テスト版のドキュメントは[こちら](https://modular-avatar.nadena.dev/dev)にあります.
|
|
||||||
|
|
||||||
テスト版は開発中のため、バグがあったり、互換性のない変更を加える可能性があります。
|
|
||||||
バグ報告やフィードバックは[GitHubのissueページ](https://github.com/bdunderscore/modular-avatar/issues)へお願いします。
|
|
||||||
|
|
||||||
### VCCでのテスト版インストール
|
|
||||||
|
|
||||||
VCCでテスト版をインストールできるようにするには、[こちらをクリック](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm-prerelease.json)
|
|
||||||
|
|
||||||
そして、VCCの設定画面のPackagesタブで、`bd_`のリポジトリをチェックを外し、`bd_ prerelease`のリポジトリをチェックを入れ、`Show pre-release packages`にチェックを入れてください。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### ALCOMでのテスト版インストール
|
|
||||||
|
|
||||||
[ALCOM](https://vrc-get.anatawa12.com/ja/alcom/)でModular Avatarのインストールを指定する場合があります。
|
|
||||||
|
|
||||||
インストール後、以下の手順でVPMリポジトリを追加してください。
|
|
||||||
|
|
||||||
* 「パッケージ管理」 > 「VPMリポジトリを追加」
|
|
||||||
* 「リポジトリ情報を入力」に次の値を入力し、「VPMリポジトリを追加」
|
|
||||||
* `https://vpm.nadena.dev/vpm-prerelease.json`
|
|
||||||
* 以下の情報が記載されることを確認し、「VPMリポジトリを追加」
|
|
||||||
* リポジトリ名: `bd_ (prereleases)`
|
|
||||||
* URL: 入力したURL
|
|
||||||
|
|
||||||
VPMリポジトリの追加が完了したら、テスト版が表示されるように変更します。
|
|
||||||
|
|
||||||
* (現在「通常版」を使用している場合は)「パッケージ管理」タブで、`bd_`リポジトリのチェックを外し、`bd_ (prereleases)`リポジトリのチェックを入れてください。
|
|
||||||
* 「設定」タブで、 `VPMパッケージ` の中にある `プレリリース版のパッケージを表示する`にチェックを入れてください。
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
@ -92,6 +44,52 @@ VPMリポジトリの追加が完了したら、テスト版が表示される
|
|||||||
最新版にアップデートするには、バージョン番号と緑色の矢印を囲った枠内をクリックし、「適用」をクリックしてください。
|
最新版にアップデートするには、バージョン番号と緑色の矢印を囲った枠内をクリックし、「適用」をクリックしてください。
|
||||||
|
|
||||||

|

|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="VCC" label="VRChat Creator Companion">
|
||||||
|
VRChat Creator Companionを使用したい場合、[こちらからVCCをインストール](https://vrchat.com/home/download)してください。
|
||||||
|
|
||||||
|
VCCをインストールしたら、こちらをクリックしてください:
|
||||||
|
* [Modular AvatarをVCCに追加](vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json)
|
||||||
|
|
||||||
|
その後、プロジェクトの"manage project"を開き、Modular Avatarの+をクリックしてください。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
最新版にアップデートするには、"Latest Version"の緑色の矢印をクリックしてください。
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
|
## テスト版 {#betas}
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
テスト版のインストールにはALCOMを使用してください。VCCの依存関係解決のバグのため、VCCではテスト版をインストールすることをお勧めしません。
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
ALCOMでテスト版を使用するには、以下の手順を実行してください。
|
||||||
|
1. 「パッケージ管理」 > 「VPMリポジトリを追加」
|
||||||
|
2. 「リポジトリ情報を入力」に次の値を入力し、「VPMリポジトリを追加」: `https://vpm.nadena.dev/vpm-prerelease.json`
|
||||||
|
3. 以下の情報が記載されることを確認し、「VPMリポジトリを追加」
|
||||||
|
* リポジトリ名: `bd_ (prereleases)`
|
||||||
|
* URL: 入力したURL
|
||||||
|
|
||||||
|
VPMリポジトリの追加が完了したら、テスト版が表示されるように変更します。
|
||||||
|
|
||||||
|
* (現在「通常版」を使用している場合は)「パッケージ管理」タブで、`bd_`リポジトリのチェックを外し、`bd_ (prereleases)`リポジトリのチェックを入れてください。
|
||||||
|
* 「設定」タブで、 `VPMパッケージ` の中にある `プレリリース版のパッケージを表示する`にチェックを入れてください。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
テスト版のドキュメントは[こちら](https://modular-avatar.nadena.dev/dev)にあります.
|
||||||
|
|
||||||
|
テスト版は開発中のため、バグがあったり、互換性のない変更を加える可能性があります。
|
||||||
|
バグ報告やフィードバックは[GitHubのissueページ](https://github.com/bdunderscore/modular-avatar/issues)へお願いします。
|
||||||
|
|
||||||
|
## ALCOMでのインストール
|
||||||
|
|
||||||
|
|
||||||
## インストール後
|
## インストール後
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 155 KiB |
@ -8,9 +8,13 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|||||||
import Layout from '@theme/Layout';
|
import Layout from '@theme/Layout';
|
||||||
import Translate, {translate} from '@docusaurus/Translate';
|
import Translate, {translate} from '@docusaurus/Translate';
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
import styles from '@site/src/pages/index.module.css';
|
import styles from '@site/src/pages/index.module.css';
|
||||||
|
|
||||||
const install_help = require('@site/static/img/ma-install-help.png').default;
|
const install_help_alcom = require('@site/static/img/ma-install-help-alcom.png').default;
|
||||||
|
const install_help_vcc = require('@site/static/img/ma-install-help-vcc.png').default;
|
||||||
|
|
||||||
function ModalContent({closeModal}) {
|
function ModalContent({closeModal}) {
|
||||||
return <div className="card card--modal">
|
return <div className="card card--modal">
|
||||||
@ -20,9 +24,8 @@ function ModalContent({closeModal}) {
|
|||||||
<div className={"card__body"}>
|
<div className={"card__body"}>
|
||||||
<p>
|
<p>
|
||||||
<Translate>
|
<Translate>
|
||||||
You should have seen a prompt to add Modular Avatar to VCC. If you didn't, upgrade your copy of the VRChat Creator Companion
|
You should have seen a prompt to add Modular Avatar to ALCOM or VCC. If you didn't, try installing or reinstalling ALCOM or VCC using the links below.
|
||||||
and try again. Once you've added the repository, you can install Modular Avatar in your project by clicking
|
Once you've added the repository, you can install Modular Avatar in your project by clicking the button shown below.
|
||||||
the button shown below.
|
|
||||||
</Translate>
|
</Translate>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
@ -32,7 +35,17 @@ function ModalContent({closeModal}) {
|
|||||||
</Translate>
|
</Translate>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<img src={install_help} alt={translate({message: "Click the plus button to install"})}/>
|
|
||||||
|
<Tabs>
|
||||||
|
<TabItem value="alcom" label="ALCOM" default>
|
||||||
|
<a href="https://vrc-get.anatawa12.com/en/alcom/"><Translate>Download ALCOM here</Translate></a>
|
||||||
|
<img src={install_help_alcom} alt={translate({message: "Click the plus button to install"})}/>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem value="vcc" label="VRChat Creator Companion">
|
||||||
|
<a href="https://vrchat.com/home/download"><Translate>Download VRChat Creator Companion here</Translate></a>
|
||||||
|
<img src={install_help_vcc} alt={translate({message: "Click the plus button to install"})}/>
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
<div className={"card__footer"}>
|
<div className={"card__footer"}>
|
||||||
<button className={"button button--secondary button--block"} onClick={closeModal}>
|
<button className={"button button--secondary button--block"} onClick={closeModal}>
|
||||||
@ -61,7 +74,7 @@ export default function InstallButton() {
|
|||||||
to="vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json"
|
to="vcc://vpm/addRepo?url=https://vpm.nadena.dev/vpm.json"
|
||||||
onClick={() => { setShowModal(true); return true; }}
|
onClick={() => { setShowModal(true); return true; }}
|
||||||
>
|
>
|
||||||
<Translate>Download (using VCC)</Translate>
|
<Translate>Download</Translate>
|
||||||
</Link>
|
</Link>
|
||||||
{ showModal &&
|
{ showModal &&
|
||||||
<Modal isOpen={{showModal}} onRequestClose={() => setShowModal(false)}
|
<Modal isOpen={{showModal}} onRequestClose={() => setShowModal(false)}
|
||||||
|
BIN
docs~/static/img/ma-install-help-alcom.png
Normal file
After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |