Skip to content

mnh48/VMagicMirror

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English Readme

Logo

Logo: by @otama_jacksy

v1.2.0

  • 作成: 獏星(ばくすたー)
  • 2020/07/30

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

  1. できること
  2. ダウンロード
  3. 質問など
  4. (開発者向け)ビルド手順
  5. OSS等のライセンス

1. できること

  • VRMを読み込み、キャラクターの上半身を表示します。
  • キーボードとマウス操作をモーションとして反映します。
  • 可変のクロマキーが適用できます。

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

  • 機材の準備が面倒な時の配信
  • ライブコーディング中の賑やかし
  • デスクトップマスコット

2. ダウンロード

Boothから取得可能です。

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

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

3. 質問など

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

4.1. フォルダ配置

適当なフォルダ以下に、次の構成で配置します。

Unity 2019.4系でUnityプロジェクトを開き、Visual Studio 2019でWPFプロジェクトを開きます。

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

  • Unity 2019.4.1f1 Personal
  • Visual Studio Community 2019 16.6.3
    • .NET Core 3.1 SDKがインストール済みであること
    • Visual Studioのコンポーネントで「C++によるデスクトップ開発」をインストール済みであること
      • UnityのBurstコンパイラ向けに必要なセットアップです。

4.2. アセットの導入

FinalIK, Dlib FaceLandmark Detector, OpenCV for Unityの3つは有償アセットであることに注意してください。OpenCV for Unityは無くてもビルド可能ですが、画像ベースのハンドトラッキングは使えなくなります。

MidiJackはForkしたものを使っている点に注意して下さい。

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

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

  • 2つのNuGetギャラリーのDownload packageから.nupkgファイルを取得し、それぞれ.zipファイルとして展開します。
  • 展開したzip内のlib/netstandard1.3/フォルダにそれぞれSharpDX.dllおよびSharpDX.DirectInput.dllがあるので、これらをUnityプロジェクト上の適当な場所に追加します。

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

  • NuGetギャラリーから取得した.nupkgを展開し、中のlib/netstandard1.1/RawInput.Sharp.dllを取得します。
  • 取得したDLLを、Unityプロジェクト上でAssets以下にRawInputSharpというフォルダを作り、その下に追加します。

UniVRMについては、導入後にAssets/VRM/UniHumanoid/Scripts/HumanPoseTransfer.csの68行目付近に次のようなコードを追記します。

//...
        HumanPoseHandler m_handler;
    
        //下記の1行を追加
        public HumanPoseHandler PoseHandler => m_handler;
    
        public void OnEnable()
        {
//...

4.3. ビルド

  • もしOpenCV for Unityを導入しない場合、Player Settingsで、スクリプトシンボルからVMAGICMIRROR_USE_OPENCVシンボルを削除します。
  • Unityでのビルド時にはBinフォルダを指定します。
  • WPFでのビルドでは、VMagicMirrorConfigプロジェクトを右クリックし、発行を指定してフォルダ上にアプリケーションを配置します。
    • プロファイル設定は次のようにします。
      • 構成: Release | x86
      • ターゲットフレームワーク: netcoreapp3.0
      • 配置モード: 自己完結
      • ターゲットランタイム: win10-x86
      • ターゲットの場所: PC上の適当なフォルダ
    • 上記の設定で発行すると、ターゲットのフォルダ上にVMagicMirror.exeを含むファイル群が出力されます。これらのファイルをBin/ConfigApp/以下にコピーします。

フォルダ構成については配布されているVMagicMirrorも参考にしてください。

5. OSS等のライセンス

5.1. OSSライセンス

設定UIであるWPFプロジェクト内でOSSライセンスを掲載しています。

https://github.com/malaybaku/VMagicMirrorConfig

プレーンテキストとしては下記を参照下さい。

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

5.2. SketchFabから取得しているモデルについて

このレポジトリに含まれるxbox_controller.fbxはSketchFabにてAttribution 4.0 International (CC BY 4.0)で公開されているものを用いています。

作成者: Criegrrunov モデル取得元URL: https://sketchfab.com/3d-models/xbox-controller-fb71f28a6eab4a2785cf68ff87c4c1fc

VMagicMirrorでは元モデルに対し、マテリアルを差し替えたものを用いています。これは他のキーボード、タッチパッド等と見た目の一貫性をはかるためです。

About

VRM Software for Windows to move avatar with minimal devices.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.7%
  • ShaderLab 0.3%