Poser覚書> その他レポート > ツール

Poserで物理シミュレーションができるプラグイン PoserPhysics

 コンテンツパラダイスで、PoserPhysicsをゲット。


▲PoserPhysicsを使って作ったムービー

 これは何をするもんかというと、Poserフィギュアや小道具を物理計算させてアニメーションポーズを作ることができる、というものだ。Pythonスクリプトで書かれているプラグインである。

 私は、WindowsXP SR2 / Poser7英語版 SR3 で使ってみたが、特に大きな問題はなく動いた。まあ、シミュレーション内容によってはPoserごと落ちたりするのでシミュレーション前にはシーンを保存しておいた方が無難だと思う。

インストール

 インスール時には、Poserのインストール場所を聞かれるので、Poserインストールディレクトリを指定しよう。それ以外は「Next」などを連打してればインストールできる。

とりあえず動かしてみる

 使い方の大まかな流れはこんな感じ。

  1. PoserPhysicsを有効にする
  2. フィギュアや小道具を並べる。必要なら、キーフレームでアニメーションをつける
  3. フィギュアや小道具ごとに物理シミュレーションのタイプ、密度(?)、何かにぶつかったときのバウンドの大きさを指定。
  4. シミュレーション開始ボタンをクリック
  5. シミュレーション結果が新たにアニメーションのキーフレーム情報として記録される

 あとは、Animation→Make Movieでムービー化したりすればOKだ。

 なお、物理シミュレーションは、小道具型に対しては剛体シミュレーション(積み木のように変形しない物体をシミュレーション)、フィギュアに対してはラグドールシミュレーション(脱力した人間っぽい動きをするシミュレーション)を行うことができる。

 とにかくやってみよう。

ライブラリから、Props→PoserPhysics→>Poser Physics Loaderをダブルクリック

 メッセージが表示される。


▲PoserPhysicsが有効になりました、というようなことが書いてある。

 とりあえず、「PoserPhysics is now active」と出ていたら、正常に起動したんだなと思っていればいいんじゃないだろうか。その後ろのは「Window→PythonScripts」で出てくるメニューがPoserPhysics用になっているのを確認してね、とかそんな感じのことが書いてあるんだと思う。

 このメッセージウインドウはシミュレーション時にまた出てくるので、邪魔だったら「x」をクリックして消しておいても大丈夫だ。

Poserの画面上部のメニューから、Window→Python Scriptsを選択(または、Shift+Ctrl+Oを押す)

PoserPhysics用のメニューが出てくる。

 このメニューは、普段だとPoser付属のpythonスクリプトのサンプルが並んでいるのだが、PoserPhysicsを有効にするとメニューの中身が書き変わるということだ。ShutdownPoserPhysics(PoserPhysicsを終了)をクリックすると、メニューは元に戻る。


▲PoserPhysics起動前のPythonScriptsメニュー

フィギュア(ここでは、 Michael4 )を呼び出す
PythonScriptsメニューにフィギュア情報が表示されるのを確認

 なにやらごちゃごちゃと情報が現れる。この情報は、選択したフィギュアや小道具によって、動的に内容が変わるのだ。そんなことできるのか、すごいなPythonスクリプト。

Python ScriptsメニューのRun Simulationをクリック

 今回は何のためらいもなくRun Simulationをクリックしたが、シミュレーション後はキーフレームがシミュレーション済みポーズで置き換えられてしまうので、シーンを保存しておこう。また、複雑なシーンだとシミュレーションが失敗して挙句の果てにPoserごと異常終了することもある。シミュレーション前にはシーン保存、を心がけよう。私もよく忘れてしまうが、とりあえず心がけておこう。

 フィギュアがへなへなとその場に崩れ落ちる様子がシミュレーションされる。

メッセージウインドウに「Physic Simulation complete」(物理シミュレーション完了)と表示されるまで待つ

 シミュレーションが終わるまで、あちこちいじりまわしたりしないでおとなしく待とう。

 うーむ、面白い。あとは、ムービー化するなりすれば完了だ。

注意事項

 しばらくいじってみて、注意しないといけない点が少しずつわかってきたので書いておこう。

  • シミュレーションすると、キーフレームが書き換えられる&シミュレーションが異常終了してPoserが落ちることがあるので事前にシーン保存しよう
  • フィギュアに服を着せてシミュレーションすると、なぞのエラーが出るので、まずは裸フィギュアでシミュレーションし、シミュレーションが終わってから服を着せよう。いったんエラーが出たら、Poserを再起動しないと直らない。
  • シミュレーションするたびに結果が変わる。たぶん、どっかにランダムな要素がからんでいるんだと思う。
  • 大きな物体ほど重い、という扱いっぽい。パラメータdensity(密度)を変えることで、小さいけど重い、みたいな物体を設定可能なようだがよくわからない。


▲服を着せてシミュレーションすると出るエラー。スクリプト内のどんくさいミスのような気もするが

 とりあえずそんな感じ。APIが用意されているので、自分でスクリプトが組める人は、がしがし機能拡張することも可能なようだ。

 設定次第では「ボールやパンチがあたった瞬間に倒れるフィギュア」みたいなアニメも可能なのだが、それはまた別の記事で。また面白いものを手に入れてしまったなあとニヤつきながら、今回の覚書を終わる。 

関連:
Michael4 Base紹介

次のPoserPhysicsでシミュレーション対象になるフィギュアへ


Poser覚書> その他レポート > ツール もくじ