2014年12月20日土曜日

MMDモデル改造:任意中心回転ボーンの追加



先日ニコニコ生放送番組、「MMDアニメーションを一緒に作ろう #93」ゲストで出演させていただきました。
http://live.nicovideo.jp/watch/lv201312971
※視聴にはニコニコ動画のアカウントが必要です。
その中で簡単なモデル改造、任意中心回転ボーンの説明をしたので、手順を記事にも掲載しておきます。
任意中心回転ボーンについては、かんなさん作成の以下の動画で説明されています。

http://www.nicovideo.jp/watch/sm14484398

◆ PMXEditor

まず、モデル改造をするプログラムが必要です。


とある工房
http://kkhk22.seesaa.net/
「ダウンロード」のリンクから利用規約を確認して最新のものをダウンロードしてください。
動作には必須ランタイムがありますので、添付のreadme.txt内に記載されているものを
ダウンロード・インストールする必要があります。

◆任意中心回転ボーン生成プラグイン

次に、改造操作を一括で行ってくれるプラグインを導入します。
http://seiga.nicovideo.jp/seiga/im4505905
ダウンロードしたものを解凍して、PMXEditorの「_plugin\User」フォルダ以下に移動します。

※ これを入れてからPMXEditorを起動して、ファイルがブロックされた、などあったらこちらを参考に解除してみてください。

http://rossimmd.blogspot.jp/2014/03/mmd.html

PMXEditorを起動して、任意中心回転を付けるモデルを開きます。x/pmd/pmxファイルのドラッグで大丈夫です。
モデルを開いたら、[編集]-[プラグイン(P)]-[User]-[任意中心回転ボーン生成プラグイン]を実行します。



下のどちらかが開いたら、任意中心回転を付けたいボーンをターゲットに指定します。

左がVer1(プラグインリストの上側)、右がVer2(プラグインリストの下側)
※ 2014/12/20現在の状態

どちらでも問題ないですが、左側は全親に設定することを想定したもので、
右側は任意のボーン(IKとか)を対象にしています。
そのはずです。確か。

今回はモデル自体を任意で回転させるので、プラグインリストの上側(Ver1)を設定しました。
項目がよくわからなかったら、そのままOKボタンを押せばボーンが追加されます。

こんな感じでボーンが増えていたら成功です。
あとは名前を付けて保存をして、実際に動かしてみましょう。

◆IK Maker X プラグイン

腕IKの場合も任意回転中心と同様に、改造操作を一括で行ってくれるプラグインがあります。
腕IKを簡単に作成するプラグインが、paperguitar.comで公開されています。


http://www.paperguitar.com/mmd-related-items/plugins/134-ik-makerx.html

ダウンロードしたものを解凍して、PMXEditorの「_plugin\User」フォルダ以下に移動します。
フォルダに移動したら、PMXEditorを開き直して任意中心回転と同じように、[編集]-[プラグイン(P)]-[User]-[IKMakerPMX]-[IKMakerX]を選択すると起動します。

詳しい説明はダウンロードサイトの説明を見ていただいて、[IK親]というのをどこにするか選んで実行します。

今回は[上半身]に設定しましたが、「上半身が動いても腕は動かないでほしい」などの場合は[全ての親]などを[左腕IK親]、[右腕IK親]のところで選択すると良いです。

実行をして下のような形で[左腕IK]、[右腕IK]などが追加されていれば成功です。


◇ 腕IKに任意中心回転を付ける
腕IKが作成できたら、「任意中心回転プラグイン」のVer.2を使って腕IKにも任意中心回転ボーンを追加できます。
※ 任意中心回転ボーンを追加すると動きが大きく変わるので、モーションに合いそうだったら使ってみてください。

腕IKに付ける場合は下のように、ターゲットに対象の腕IK、任意中心回転ボーン名、親ボーン名をそれぞれ変えて実行します。


こんな感じで増えていれば成功です。



この状態で別名保存して、問題なければ同じように右腕IKも設定します。


さぁ、これであなたも任意中心回転マスターです。

2014年9月26日金曜日

Windows7 / Windows8 規定のプログラムの設定

Windows系では、ファイルを選択したときに拡張子をもとに開くプログラムが設定できますよね。
たとえばPMXファイルをダブルクリックして「PMXEditor.exe」で開く設定をすると、エクスプローラ上はこんな感じになります。


















ここで、使用するPMXEditor.exeのバージョンが上がって、「規定のプログラム」を新しいバージョンのPMXEditor.exeで開くように設定しようとするのですが・・・Windows7以降は天才なので、
「バージョンが異なっても、パスが違っても同じプログラム名なら前と同じ」
と勝手に判断して起動設定を変更しません。素晴らしい。

それでもpmxファイルダブルクリックで開くようにしたいので、一手間変更をします。

※ ここから先の作業は自己責任だ、注意!

Windowsのレジストリという設定に、どの拡張子を何のファイルで起動するかが書いてあります。
所謂下手にいじると危険なアレです。
流れとしては、「レジストリエディタ起動⇒設定値確認・変更」、これだけの作業です。
なんで画面上で簡単に設定できるようになってないんですかね。全く。

レジストリのバックアップと復元に関しては、Microsoftのサイトで解説されているので、必要に応じてそちらも確認ください。

・Windows でレジストリをバックアップおよび復元する方法 - Microsoftサポート
    http://support2.microsoft.com/kb/322756/ja


2014年9月16日火曜日

MMD空気抵抗実験(BULLET PHYSICS LIBRARY移動減衰検証)

というものをやってみました。
はい、ただ気になっただけです。

http://www.nicovideo.jp/watch/sm24477197

結果は、下記のようになった。
質量:100、箱剛体(10*10*10)、重力加速度:9.80の状態で、高さ30,000(mmd距離)から落下させた時、
移動減衰:(内はWeb上の計算式から求めた予測時間)
 ・0.00 ⇒ 24.83 sec (24.74sec)
 ・0.01 ⇒ 25.83 sec (25.99sec)
 ・0.20 ⇒ 72.93 sec (47.79sec)
 ・0.24 ⇒ 87.86 sec (51.45sec)

予測した計算結果とは大分乖離がありますね。

これの後も少し調べて、どうも減衰は"-kv"程度の速度減算しかしていないらしいというのをBulletのフォーラムで見ました。
(k:移動減衰、v:速度で、その時点の速度を移動減衰係数で引いてる)
確かに「移動減衰=1.0」で停止するのだからそういった計算になるだろうなと納得。

"Bullet Physics Simulation Forum"
・damping a function of velocity
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=3936

その後も自由落下(空気抵抗有無)の計算など色々試してみましたが、それらしい計算結果が出せなかったので、こういった公式と比較しても少し違う計算式になってるんだろうなー。と諦める。
・自由落下:wikipedia
http://ja.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%90%BD%E4%B8%8B
・Keisan:空気抵抗を有する自由落下
http://keisan.casio.jp/exec/system/1238740974

本当はbullet上で球体の摩擦あり運動の計算が、リアルに近い計算になる設定を算出できたら最高だったんだけど、また気が向いたら探してみます。

要は球の挙動をもう少し詰めたかった。

誰か探してくれてもいいのよ?

2014年6月29日日曜日

[MMD]モデル読込最大数・物理剛体最大数(Ver.9.10現在)

こちらはMMD付属の"readme.txt"に書いてある内容です。(Ver.9.10現在の数字です。)
MMDの一つのプロジェクトファイル(*.pmm)に読み込める最大数です。

・モデル読込数
   255 体 (Ver.7.39.x64)
・物理剛体数
   16384 個 (Ver.7.07)

この間モデル読み込んで、全親を別モデルからペーストしたら、
読み込んだモデルが移動してくれなくて(エラーはでてない)
なんでだろうかと思ってたら、モデル読込最大数にひっかかってました。
皆様もお気を付けください。
アクセサリ数は確認してません。(255個かも?)

読み込んだモデル数は、MMEを入れている場合ならpmmと一緒に保存される
emmファイルをテキストエディタ等で開いてみると、
 [Object]
 Pmd1 =~
 Pmd2 =~
 Pmd3 =~
という形で番号が出てるのでそれを数えると分かります。

物理剛体のほうは今のところ限界突破していないので、挙動は分かりませんw
剛体数1万ちょいは動作確認してます。速度は別にして。

Joint最大数は、分からないのですが今のところひっかかったことはないですね。
但し約1,440,000ジョイント使ったら出力途中で固まったことはあります。
この辺はマシン性能の問題かもしれません。

[MMD]地面影・座標軸はy軸+0.1にある。

らしい、というかこの間とても小さい剛体読み込んでて気づいたことでした。
昔からの話らしい?ですが、この間初めて知ったので。

モデルによっては、地面に足がめり込んでるようにみえるときがありますが、
Y軸+0.1の位置に置いてやると、めり込みは回避できます。
地面影がY軸+0.1になってるのは、多分他ポリゴンと重なってカメラ距離によって
チラチラしてしまうのを防止する目的でずらしてあるんだと思います。

(画像を貼りたいけど今できないので今度)

座標軸も同じくY軸+0.1にあるようです。
地面影を使わない場合はこの話は意識する必要はないです。

なお、地面剛体はY軸 +0.0になってました。
動画的に地面剛体を使いたい人は、地面影なしでやるか地面剛体を自前で準備するとよさそうです。

2014年3月30日日曜日

[MME]AutoLuminousSetterで暗黒が出来た[MMD]

お日柄もあまりよくないですが皆さまいかがお過ごしでしょうか。

AutoLuminousに同梱されている「AutoLuminousSetter」というPMXエディタ用プラグインを使うと色々便利なのですが、
毎度設定方法を忘れるので備忘録として・・・と思っていたら想定外のものができたー!

まずはこちらを見てください。
※分かりやすくするため白の背景画像を読み込んでます。



なんか黒いwww

やったこと

今回使用しているのは、

  • MikuMikuDance Ver8.09 
  • MikuMikuEffect Ver0.36 
  • PMXEditor Ver0.2.2.1 
  • AutoLuminous Ver.4.2

です。


1.まずAutoLuminous4(sm16087751)のOptionsに同梱されている「AutoLuminousSetter.zip」をPMXEの _plugin\User\ 配下に解凍する。


(FullIKは見なかったことに)

2. モデルを読み込んで対象頂点を選択、「AutoLuminousSetter」プラグインを起動


3.設定画面でこんな感じに3色設定した。






※ モーフのRGBを-1で作成しても同じ結果になります。

4.最初の画面のように、R、G、Bのモーフをそれぞれ最大にすると、なんと真っ黒に。
※分かりやすくするために背景白画像を(ry


禍々しい。


3色の頂点発光どうやって設定してたんだっけなぁ・・・w
頂点発光もモーフ選択して設定確認できたりすると嬉しいな

2014年3月12日水曜日

MMD物理演算講座(ジョイントのバネ編)

第12回MMD杯お疲れ様でした。
お陰様で楽しく大会を過ごせました。大会にかかわったすべての方に感謝です。
自分は特別枠部門賞を頂くことが出来ました。
メイキングと称する物理演算講座(ジョイントのバネ編)を投稿しましたので、
宜しければ見ていってください。

http://www.nicovideo.jp/watch/sm23071772
(ニコニコ動画のアカウントが必要です)

--------------------------------------------------------------------------------
話は変わりますが、去年夏から新しいPC(Windows8 64bit版)を使っているわけですが、
心配されてる方も居るかと思いますが、普通に問題なく使えます。
操作で一つ注意するのは、ファイルにセキュリティブロックがかかるようになっていて、
ダウンロードしたファイルはブロックの解除をしないと使えないケースがあります。
(ほかの方もブログ等で書かれてると思いますが)

↑の赤丸の部分

解凍してから個別に解除してもいいのですが、圧縮ファイルの状態で解除すると手間が省けます。
新しく付いたセキュリティ機能を無効にする感じで。
ウィルススキャンソフトなど入れて、ウィルス等の脅威には対処しておいてくださいね。