malaybaku / VMagicMirror

VRM Software for Windows to move avatar with minimal devices.
https://malaybaku.github.io/VMagicMirror/
MIT License
470 stars 39 forks source link

English Readme

Logo

Logo: by @otama_jacksy

v3.9.0

WindowsでVRMを表示し、追加のデバイスなしで動かせるアプリケーションです。

  1. できること
  2. ダウンロード
  3. 質問など
  4. (開発者向け)ビルド手順
  5. OSS等のライセンス
  6. ローカリゼーションについて

1. できること

キーボードとマウス操作のみでキャラクターが動く特徴から、以下のシチュエーションで活躍します。

2. ダウンロード

Boothから取得可能です。

Windows 10/11環境でお使いいただけます。

操作方法についてはマニュアルをご覧下さい。

3. 質問など

4. (開発者向け)ビルド手順

4.1. レポジトリの配置

適当なフォルダに本レポジトリを配置します。配置先について、空白文字を含むようなフォルダパスは避けて下さい。

Unity 2022.3系でUnityプロジェクト(本レポジトリのVMagicMirrorフォルダ)を開き、Visual Studio 2022でWPFプロジェクトを開きます。

メンテナの開発環境は以下の通りです。

4.2. アセットの導入

FinalIK, Dlib FaceLandmark Detector, OpenCV for Unityの3つは有償アセットであることに注意してください。

NuGetForUnityNAudioを導入するために使用しています。

"Fly,Baby." および "LaserLightShader"はBOOTHで販売されているアセットで、ビルドに必須ではありませんが、もし導入しない場合、タイピング演出が一部動かなくなります。

Dlib FaceLandmark Detectorについては、アセットに含まれるデータセットをStreamingAssetsフォルダ以下に移動します。導入にあたっては、Dlib FaceLandmark Detector本体のサンプルプロジェクト(WebCamTextureExample)を動かすなどして、ファイルが正しく置けているか確認します。

SharpDXは次の手順で導入します。

RawInput.Sharpもほぼ同様の導入手順です。

OpenCVforUnityについては導入後、DisposableOpenCVObject.csを次のように書き換えます。

    abstract public class DisposableOpenCVObject : DisposableObject
    {

//        internal IntPtr nativeObj;
        //Change to public member
        public IntPtr nativeObj;

以上のほか、手作業での導入は不要ですが、Unity Package Managerで下記を参照しています。

特に初回にプロジェクトを開くとコンパイルエラーになります。これを解決するにはNuGetForUnityの導入後にNAudioLipSyncContext.cs冒頭の#defineのコメントアウトを解除し、一時的にコンパイルエラーを抑制します。 するとNAudioがNuGetから取得できます。取得後、#defineの行をコメントアウトすることで、リップシンクが有効な状態になります。

//下記を一旦コメントアウト解除したのち、ふたたびコメントアウトする
#define TEMP_SUPPRESS_ERROR

4.3. ビルド

4.3.1. コマンドラインからビルドする

Batchesフォルダ内のコマンドからビルドが可能です。 バッチファイル等の引数の指定方法については、ファイル内のコメントを参照して下さい。

Unityについては諸々のアセットを導入済みであることが必要なこと、およびビルドに用いるUnityバージョンがbuild_unity.cmdで指定されていることに注意して下さい。 事情があって異なるバージョンのUnityエディタをビルドに用いる場合、build_unity.cmd内のUnityのパスを修正します。

また、create_installer.cmdを使用するにはInno Setupのインストールが必要です。

# WPFプロジェクトをビルド
build_wpf.cmd standard dev

# Unityプロジェクトをビルド
build_unity.cmd standard dev

# WPF/Unityプロジェクトをビルド後に呼ぶことでインストーラを作成
create_installer.cmd standard dev v1.2.3

# version.txtに書いてあるバージョン値を用いて、ビルドおよびインストーラの作成までを実行
job_release_instraller.cmd

4.3.2. プロジェクトを開いてビルドする

Binなど、出力先フォルダを準備します。以下はフォルダ名がBinである想定での説明ですが、他のフォルダ名でも構いません。

フォルダ構成を確認したい場合、実際に配布されているVMagicMirrorも参考にしてください。

5. OSS等のライセンス

5.1. OSSライセンス

GUI中でOSSライセンスを掲載しており、その文面は下記ファイルで管理しています。

https://github.com/malaybaku/VMagicMirror/blob/master/WPF/VMagicMirrorConfig/VMagicMirrorConfig/Resources/LicenseTextResource.xaml

過去に使用したものも含むライセンス情報は以下に記載しています。

https://malaybaku.github.io/VMagicMirror/credit_license

また、本レポジトリに含む画像の一部は Otomanopee フォントを使って作成しています。フォント自体を再配布するものではないため、あくまで補足情報として記載しています。

5.2. Creative Commons Licenseに基づくモデルについて

このレポジトリに含まれる下記モデルはCreative Commons Attributionライセンスに基づいて使用し、レポジトリに含まれます。

VMagicMirrorでは元モデルに対し、他のデバイスとの一貫性を保つためにマテリアルを適用しているほか、カスタマイズのためにテクスチャを変更可能にしています。

6. ローカリゼーションについて

日本語、英語以外のローカリゼーションでのContributionに興味がある場合、about_localization.mdを参照して下さい。