Logo: by @otama_jacksy
v3.9.0
WindowsでVRMを表示し、追加のデバイスなしで動かせるアプリケーションです。
キーボードとマウス操作のみでキャラクターが動く特徴から、以下のシチュエーションで活躍します。
Boothから取得可能です。
Windows 10/11環境でお使いいただけます。
操作方法についてはマニュアルをご覧下さい。
適当なフォルダに本レポジトリを配置します。配置先について、空白文字を含むようなフォルダパスは避けて下さい。
Unity 2022.3系でUnityプロジェクト(本レポジトリのVMagicMirror
フォルダ)を開き、Visual Studio 2022でWPFプロジェクトを開きます。
メンテナの開発環境は以下の通りです。
FinalIK, Dlib FaceLandmark Detector, OpenCV for Unityの3つは有償アセットであることに注意してください。
NuGetForUnityはNAudioを導入するために使用しています。
"Fly,Baby." および "LaserLightShader"はBOOTHで販売されているアセットで、ビルドに必須ではありませんが、もし導入しない場合、タイピング演出が一部動かなくなります。
Dlib FaceLandmark Detectorについては、アセットに含まれるデータセットをStreamingAssets
フォルダ以下に移動します。導入にあたっては、Dlib FaceLandmark Detector本体のサンプルプロジェクト(WebCamTextureExample
)を動かすなどして、ファイルが正しく置けているか確認します。
SharpDXは次の手順で導入します。
Download package
から.nupkg
ファイルを取得し、それぞれ.zip
ファイルとして展開します。lib/netstandard1.3/
フォルダにそれぞれSharpDX.dll
およびSharpDX.DirectInput.dll
があるので、これらをUnityプロジェクト上の適当な場所に追加します。RawInput.Sharpもほぼ同様の導入手順です。
.nupkg
を展開し、中のlib/netstandard1.1/RawInput.Sharp.dll
を取得します。RawInputSharp
というフォルダを作り、その下に追加します。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
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
Bin
など、出力先フォルダを準備します。以下はフォルダ名がBin
である想定での説明ですが、他のフォルダ名でも構いません。
Bin
フォルダを指定します。VMagicMirrorConfig
プロジェクトを右クリックし、発行
を指定してフォルダ上にアプリケーションを配置します。
Release | x86
netcoreapp3.0
自己完結
win10-x86
VMagicMirror.exe
を含むファイル群が出力されます。これらのファイルをBin/ConfigApp/
以下にコピーします。フォルダ構成を確認したい場合、実際に配布されているVMagicMirrorも参考にしてください。
GUI中でOSSライセンスを掲載しており、その文面は下記ファイルで管理しています。
過去に使用したものも含むライセンス情報は以下に記載しています。
https://malaybaku.github.io/VMagicMirror/credit_license
また、本レポジトリに含む画像の一部は Otomanopee フォントを使って作成しています。フォント自体を再配布するものではないため、あくまで補足情報として記載しています。
このレポジトリに含まれる下記モデルはCreative Commons Attributionライセンスに基づいて使用し、レポジトリに含まれます。
Gamepad.fbx
(作成者: Negyek)CarSteering.glb
(作成者: CaskeThis)VMagicMirrorでは元モデルに対し、他のデバイスとの一貫性を保つためにマテリアルを適用しているほか、カスタマイズのためにテクスチャを変更可能にしています。
日本語、英語以外のローカリゼーションでのContributionに興味がある場合、about_localization.mdを参照して下さい。