1、概要
皆さんは、MikuMikuDance(MMD)をご存じでしょうか? たくさんの可愛いモデルがいますよネ。 でも、ほとんどのモデルはMMD以外での使用が禁止されています。
ある日ネットの海を彷徨っていましたら、日テレさん(クリエイティブ・コモンズ・ライセンスの対象)や株式会社ディアステージさん(ねむりおんライセンスの対象)がそれぞれ太っ腹なライセンスでMMDモデルの使用許諾をしていることを知りました。 それで次の画面のようにPCのデスクトップにMMDモデルを住まわせてみることにしました。
本プログラムは、「デスクトップマスコットの作り方 - Qiita」を参考に作成しました。 そこには、DXライブラリを使用してMMDモデルを表示する方法が詳細に記載されています。 なお、本プログラムで使用させていただいたMMDデータは次の通りです。 各データの製作者様に感謝いたします。
- MMDモデル
(1) 綾瀬陽菜: ©NTV http://www.ntv.co.jp/ichara/mmd.html
(2) 小林咲彩: ©NTV http://www.ntv.co.jp/ichara/mmd.html
(3) 夢眠ネム: ©DEARSTAGE inc. https://www.vocaloidnews.net/yumemi-nemu-official-mmd-model-released/ - MMDモーション
(1) ラジオ体操第一 by ガンプラP
(2) ラジオ体操第二 by にぼさない
(3) JOJO体操 by せっけんP
(4) Rain by ふぃぎゅ@たっち https://twitter.com/anna_mirrors
各モデルあるいはモーションの著作権等は各製作者様が所有しています。
2、ファイル構成
下記に示すファイルは、全て次のGitHubからダウンロードできます。 なお、ダウンロードしたZIPファイルを解凍し「DeskTop_Mascot.sln」をダブルクリックすると、Visual Studio(インストールしている場合)が立ち上がりますので、修正あるいは実行ファイルを作成することができます。
本プログラムを起動した場合、タスクトレイの右側にサルのアイコンが表示(隠れていることもある)されますので、右クリックするとメニューが表示され、終了、モデルの変更、モーションの選択、カメラアングルの調整等が可能です。 また、モデルをマウスドラッグすることで移動も出来ます。
###【ダウンロード対象のファイル構成】
「bin」:自動で作成されるフォルダ(コンパイル時に実行ファイルが格納される)
「obj」:自動で作成されるフォルダ(コンパイルに必要なファイルが生成される)
「Properties」:自動で作成されるフォルダ(コンパイルに必要なファイルが生成される)
「Resources」:リソース管理を選択した場合に自動で作成されるフォルダ(ここにプログラムで使用するリソースが格納される)
「App.config」:自動で作成されるファイル(アプリケーション設定ファイル)
「DeskTop_Mascot.csproj」:自動で作成されるファイル(プロジェクトの設定用ファイル)
「DeskTop_Mascot.sln」:自動で作成されるファイル(ソリューション・ファイル:ソリューション全体を管理するための情報が格納されている)
「DxDLL.cs」:DXライブラリ(C#用)
「Form1.cs」:自動で作成されるファイル(フォームの挙動を記述するC#ファイル:ユーザが詳細を記述する)
「Form1.Designer.cs」:自動で作成されるファイル(フォームの外観等が自動で記述される)
「Form1.resx」:自動で作成されるファイル(XMLリソース・ファイル)
「HAL_Icon.ico」:私(サル)のアイコン
「Program.cs」:自動で作成されるファイル(メイン関数、Form1.csを実行するための記述がある)
3、新規モデル、新規モーションの設定方法
本プログラムでは、プログラム本体を修正することなく色々なモデルやモーションを表示することができます。 その手順を次に示します。
Step-1:
お好きなモデルやモーションをMMDダウンロードサイトから入手します。 但し、それぞれの著作権・制限事項を遵守してください。 もちろん御自分で作成しても構いません。
入手したモデルやモーションを「3D_DeskTop_Mascot_with_MMD_Models-main/bin/Debug/Data/フォルダー名」に保存してください。 次に、入れたモーションデータのファイル名を変更します。 名前は「モデル名+000.vmdから始まる連番」です。
モーションデータのファイル名変更例:
- モデルのファイル名が右の場合: YumemiNemu_mmd.pmx
- モーション1のファイル名: Walk.vmd -> YumemiNemu_mmd000.vmd
- モーション2のファイル名: Run.vmd -> YumemiNemu_mmd001.vmd
- モーション3のファイル名: Skip.vmd -> YumemiNemu_mmd002.vmd
Step-2:
DXライブラリを「DXライブラリ置き場」からダウンロードします。 ダウンロードしたDXライブラリを解凍し、ビューワ「\Tool\DxLibModelViewer\DxLibModelViewer_64bit.exe」を用いて「.mv1」ファイルを作成します。 これは、ファイルの読み込み時間を短縮するためです。 なお、モーションファイルが少ない場合には、Step-1でファイル名を変更したものをそのまま使用しても構いません。
Step-3:
最後に「3D_DeskTop_Mascot_with_MMD_Models-main/bin/Debug/Data/DeskTopMascot_Setting.csv」ファイルを修正します。 Model, Motion, Scheduleの行は最低1行分残してください。
- Model
(1) B列にモデルのファイル名を「Data/」からのパスで記載してください。 使用できるモデルの拡張子は「.pmd」、「.pmx」、「.mv1」です。
(2) C列には、モデルの名前(日本語可)を記載してください。 - Motion
(1) B列に「0」から始まるモーション番号を連番で入力してください。
(2) C列にはモーションの名称(日本語可)を記載してください。
(3) D列は、入力しなくても結構ですが、モーションのトータルフレーム数を記載すると、スケジュールを作成する時にモーションの長さを確認することができます。 - Schedule
(1) B列にスケジュールの開始時間(時)を入力します。
(2) C列にスケジュールの開始時間(分)を入力します。
(3) D列には、モーション番号を入力します。
(4) E列にアニメーションスピードを入力します。
(5) F列には、物理演算の有無をON/OFFで入力します。
(6) G列にループ表示の有無をLoop/One-Shotで入力します。
(7) H列には、ランダムでの実施を指定します。 この場合、同一時間で指定したモーション番号が対象になります。
なお、「DeskTopMascot_Setting.csv」のサンプルは、次の通りです。