Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
TigerHix committed Jun 15, 2024
1 parent 7de6d81 commit e7bef22
Show file tree
Hide file tree
Showing 11 changed files with 119 additions and 4 deletions.
4 changes: 4 additions & 0 deletions docs/assets/character.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,10 @@ Note that models exported by [VRoid Studio](https://vroid.com/en/studio) only ha
To toggle meshes in blueprints, you can use the **Toggle Character Meshes** node.
:::

## Scaling

You can scale the character by using the **Transform → Scale** property. However, this may break features such as ragdoll, IK, and compatibility with some motion capture systems (e.g., [Leap Motion](../mocap/leap-motion)). If you need to scale the character, we recommend to scale the character in the 3D modeling software instead, i.e., before you have imported the model into Unity or Warudo.

## Frequently Asked Questions {#FAQ}

### How can I trigger an expression automatically with face tracking?
Expand Down
6 changes: 6 additions & 0 deletions docs/mocap/motionbuilder.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ First, make sure you have loaded the same model in Warudo and Autodesk MotionBui

We also require the models to have normalized bones, i.e., all bones on the model should have zero rotation (0, 0, 0) when the model is in T-pose. Please refer to [this page](../misc/normalizing-model-bones) for more details.

### I have confirmed Autodesk MotionBuilder is streaming data to another PC running Warudo, but Warudo has not received any data.

Please make sure the network settings are correct, i.e., the two PCs are on the same network and can communicate with each other. You can try to ping in both directions to confirm.

Additionally, if your character has a rather large hierarchy, please check if the receiving PC has a large enough MTU (Maximum Transmission Unit) size to receive the data, and increase it if necessary. See [this page](https://answers.microsoft.com/en-us/windows/forum/all/how-to-change-mtu-settings-in-windows-10/5c36c250-a0e8-47ee-b01c-de22139dc297) for more details.

<AuthorBar authors={{
creators: [
{name: 'HakuyaTira', github: 'TigerHix'},
Expand Down
49 changes: 49 additions & 0 deletions docs/mocap/optitrack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
sidebar_position: 515
---

# OptiTrack Motive

:::info
This feature is only available in [Warudo Pro](../pro).
:::

Body tracking via [OptiTrack Motive](https://optitrack.com/software/motive/). Requires access to an [OptiTrack](https://chingmu.com) optical tracking system.

In addition to character tracking, prop tracking is also supported. For example, you may want to track a chair or a handheld camera using your optical tracking system and stream the motion data to Warudo, animating a chair prop or camera in Warudo accordingly.

## Setup

In Warudo, go to **Menu -> Settings -> OptiTrack**. Make sure the **Server Address** and **Local Address** are both correct. The Server Address should be the IP of the OptiTrack PC, and the Local Address should be the IP of the Warudo PC. If you run Warudo and OptiTrack Motive both on the same computer, enter `127.0.0.1` for both. Then, set **Enabled** to Yes. You should see a status message that says "Connected to OptiTrack Motive".

![](/doc-img/en-optitrack-1.png)

### Character Tracking

To connect OptiTrack Motive to Warudo, please enable **Streaming** in OptiTrack Motive and set **Transmission Type** to **Unicast**. Please also select the correct IP in the Local Interface dropdown. This IP should have the same subnet as the PC running Warudo. If you run Warudo and OptiTrack Motive both on the same computer, select "loopback".

![](/doc-img/en-optitrack-2.png)

In the **OptiTrack Skeleton Receiver** asset, make sure the name matches the one in OptiTrack Motive:

![](/doc-img/en-optitrack-3.png)

### Prop Tracking

In Warudo, create a new **OptiTrack Rigid Body Receiver** asset and set **OptiTrack Rigid Body ID** to the ID of the rigidbody that you would like to track. Then, for **Target Asset**, select the Warudo prop/camera that you would like to control.

:::tip
If you would like to access prop tracking data in blueprints, you can use the **Get OptiTrack Rigid Body Receiver Data** node.
:::

## Frequently Asked Questions

Please refer to [Overview](overview#FAQ) and [Customizing Pose Tracking](body-tracking#FAQ) for common questions.

<AuthorBar authors={{
creators: [
{name: 'HakuyaTira', github: 'TigerHix'},
],
translators: [
],
}} />
4 changes: 4 additions & 0 deletions docs/mocap/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Whether you are streaming at home or at a professional mocap studio, Warudo has
* Built-in tracking via [MediaPipe](./mediapipe) or [OpenSeeFace](./openseeface).
* iPhone
* Requires either [iFacialMocap / FaceMotion3D](./ifacialmocap) or [RhyLive](./rhylive) app to be installed on the iPhone.
* [SteamVR] (./steamvr)
* [Leap Motion Controller](./leap-motion)
* [Sony Mocopi](./mocopi)
* [Rokoko](./rokoko)
Expand All @@ -25,6 +26,7 @@ Whether you are streaming at home or at a professional mocap studio, Warudo has
[Warudo Pro](../pro.md) also supports the following motion capture systems:

* Any optical tracking system compatible with [Autodesk MotionBuilder](./motionbuilder), e.g., [Vicon](https://www.vicon.com/), [OptiTrack](https://optitrack.com/)
* [OptiTrack Motive](./optitrack)
* [Chingmu Avatar](./chingmu)

## What motion capture systems should I use?
Expand Down Expand Up @@ -73,6 +75,8 @@ You should almost never create a motion capture asset manually, i.e., by clickin

If you are using a motion capture system that requires an external application, such as iFacialMocap, make sure the application is running and the tracking data is being sent to Warudo. Also, make sure your computer's firewall is not blocking Warudo from receiving the tracking data; you may need to add Warudo to the whitelist, or temporarily disable the firewall.

You may also want to set your network as a private network, as Windows may block incoming connections from public networks. See [this guide](https://support.microsoft.com/en-us/windows/make-a-wi-fi-network-public-or-private-in-windows-0460117d-8d3e-a7ac-f003-7a0da607448d) for more information.

Some motion capture receivers have a **Port** option. Make sure the port number matches the port number in the external application.

### My tracking is too smooth / too jittery.
Expand Down
2 changes: 1 addition & 1 deletion docs/mocap/pendulum-physics.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 35
# Pendulum Physics

:::warning
This page is still a work in progress.
This page is a work in progress. For now, please refer to our [Twitter thread](https://x.com/hakuyalabs/status/1746886661051453444) for a quick overview of the feature.
:::

<AuthorBar authors={{
Expand Down
43 changes: 43 additions & 0 deletions docs/mocap/steamvr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
sidebar_position: 68
---

# SteamVR

Tracking via solving VR tracker data from [SteamVR](https://store.steampowered.com/app/250820/SteamVR/).

## Setup

### Character Tracking

Warudo currently supports 6-point character tracking. After [setting up motion capture](body-tracking) to use SteamVR, go to the **SteamVR Character Tracker** asset and click the **Setup / Calibrate** button. You will see a list of trackers that you can assign to different body parts. Then, you will be asked to perform a T-pose to calibrate the trackers.

:::tip
We will add support for elbow, knee, and chest trackers in the future.
:::

After calibrating, you can expand each tracker to visualize the tracking sphere and adjust its **Position Offset** and **Rotation Offset**. This is especially useful if the trackers are not placed at the exact place on your body. For example, if your head tracker is put on top of your head, you should adjust the **Position Offset** to move the tracking sphere downwards, so that it matches your head position relative to the tracker.

### Prop Tracking

In Warudo, create a new **SteamVR Prop Tracker** asset and select the VR **Device** that you would like to track. You may also want to select the **Reference Frame** to be your character asset. Then, for **Target Asset**, select the Warudo prop/camera that you would like to control.

:::tip
If you would like to access prop tracking data in blueprints, you can use the **Get SteamVR Prop Tracker Data** node.
:::

## Accessing Raw Device Data

If you would like to access raw device data in blueprints, you can use the **Get SteamVR Device Data** node. This node returns the position and rotation of the specified VR device (e.g., tracker, controller, HMD).

## Frequently Asked Questions

Please refer to [Overview](overview#FAQ) and [Customizing Pose Tracking](body-tracking#FAQ) for common questions.

<AuthorBar authors={{
creators: [
{name: 'HakuyaTira', github: 'TigerHix'},
],
translators: [
],
}} />
11 changes: 8 additions & 3 deletions docs/modding/character-mod.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,24 @@ If you notice the character's bones become twisted, please refer to the [Normali

Select **Warudo → Build Mod** and make sure the generated `.warudo` file is put into the `Characters` data folder.

## Scaling

You can scale the character in Warudo by using the **Character → Transform → Scale** property. However, this may break features such as ragdoll, IK, and compatibility with some motion capture systems (e.g., [Leap Motion](../mocap/leap-motion)). If you need to scale the character, we recommend to scale the character in the 3D modeling software instead, i.e., before you have imported the model into Unity or Warudo.

## Third-Party Components

You can add Unity components to your character mod as you like. Here are some commonly used components:
Warudo includes some third-party components that you can use in your character mod. Here are some commonly used components:

* [VRM](https://vrm.dev/en/univrm/) components, such as VRM Spring Bones, VRM Spring Bone Colliders
* [Animation Rigging](https://docs.unity3d.com/Packages/com.unity.animation.rigging@latest) components, such as Rotation Constraint
* [Dynamic Bone](https://assetstore.unity.com/packages/tools/animation/dynamic-bone-16743) 1.3.2
* [VRC PhysBones](https://docs.vrchat.com/docs/physbones) (Automatically converted to Dynamic Bone at runtime)
* [Magica Cloth](https://assetstore.unity.com/packages/tools/physics/magica-cloth-160144) 1.12.11 ([Magica Cloth 2](https://assetstore.unity.com/packages/tools/physics/magica-cloth-2-242307) support is coming soon!)
* [Magica Cloth](https://assetstore.unity.com/packages/tools/physics/magica-cloth-160144) 1.12.11
* [Magica Cloth 2](https://assetstore.unity.com/packages/tools/physics/magica-cloth-2-242307) 2.6.0

Note that you need to import the corresponding Unity packages for Dynamic Bone and Magica Cloth, as they are not included in Warudo SDK.

Since Warudo allows you to package C# scripts into your mod, you can also use other Unity components! However, please note the limitations described in the [Custom C# Scripts](mod-sdk#custom-scripts) section.
Since Warudo allows you to package C# scripts into your mod, you can also use other third-party Unity components! However, please note the limitations described in the [Custom C# Scripts](mod-sdk#custom-scripts) section.

## Animations

Expand Down
4 changes: 4 additions & 0 deletions docs/modding/environment-mod.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ Creating an environment mod is definitely trickier than creating other types of
* Did you make sure the scene is named **"Environment"**?
* Did you make sure all the materials, shaders, etc. are included in the mod folder?
* If you use baked lighting, did you make sure the lightmaps and the `LightingSettings` asset are included in the mod folder?
* If you use baked lighting, did you make sure there is only **one** set of lightmaps and `LightingSettings` asset in the mod folder?
:::caution
Some users have reported that having multiple sets of lightmaps and `LightingSettings` assets can cause issues, _even if they are outside the mod folder_. Try deleting all except one set of lightmaps and `LightingSettings` asset if everything else fails.
:::
* If you use baked lighting, was the lightmap directional mode set to Directional? (Or Dominant Direction / MonoSH if you use Bakery)
* Did you have more than one Unity scene in the mod folder? If so, please delete the other scenes. (There may be scenes inside subfolders, so make sure to check all your subfolders!)
* Did your scene have prefabs with unapplied changes? If so, please apply the changes. If you see the vertical lines (which means the changes could not be fully applied), right click on them and select **Prefab → Unpack Completely** to unpack the prefabs, and export the mod again.
Expand Down
Binary file added static/doc-img/en-optitrack-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/doc-img/en-optitrack-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/doc-img/en-optitrack-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e7bef22

Please sign in to comment.