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になってました。
動画的に地面剛体を使いたい人は、地面影なしでやるか地面剛体を自前で準備するとよさそうです。