2008年11月17日

Dstreamer v0.1.0 リリース

龍玉で Eastern Dragon を操れるツール「Dstreamer」を暫定リリースします!
FLASH + Python ですので、Windows だけでなく Macintosh でも OK だと思います。




【必要なもの】
・Poser 7J (6J, 6E, 7E では未確認)
・DAZ フィギュア Eastern Dragon
・Python スクリプト Dstreamer.py-1.0.lzh (約1Kバイト)


【インストール方法】
(1) 上のリンクから Dstreamer.py-1.0.lzh をダウンロードします。
(2) 解凍しますと Dstreamer.py という Python スクリプトが現れます。
(3) これをテキストエディタなどで開き、改竄されて怪しい処理が埋め込まれていないか、ざっと確認します。
(4) 問題がなければ、適当なディレクトリにファイル移動します。
 Runtime/Python/poserScripts/ScriptsMenu/ 配下でも構いません。

これだけです。
アンインストール方法は、上記ファイルを削除するだけです。


【使い方】
(1) フィギュアの呼び出し
まず Poser 上で Eastern Dragon を呼び出します。
インバースキネマティクス(IK) のチェックは入っていても、外れていても構いません。

(2) ポージング
Eastern Dragon に適当なポーズを付けます。そのままでも構いません。
その際に注意事項がありますので、Eastern Dragon のパラメータの扱いの記事は一度ご覧になって下さい。
便宜上、このポーズを「初期ポーズ」と呼び、このフレームを「第1フレーム」と呼ぶことにします。第1フレームは、フレーム番号が1でなくても構いません。

(3) 龍玉の設置
龍玉として、適当な小道具を呼び出します。
龍玉として見るのは中心位置だけです。どこが中心位置なのかは、拡大縮小パラメータを一時的に 10% とかすると判ります。
基本アイテム(Primitives)の「ボール詳細(Ball Hi-Res)」は、見た目の中心に中心位置がありますので、扱いやすいです。

コースになるよう、いくつか配置していきます。
龍玉間の移動方法によって、次のように必要な龍玉の個数が変わってきます。
・線形補間: 最低1個
・スプライン補間: 最低3個
・スプライン近似: 最低2個

第1フレーム以外で操作してしまって、小道具がアニメーションしてしまわないよう注意して下さい。
Poser 7 の複製機能を使用する場合には、次に示す小道具名称を dst_xxxx に前もって変更しておいた方が少しだけ作業が楽になります。

(4) 龍玉の順番付け
いくつか配置した龍玉に番号を振っていきます。
特性パレットで名前 (外部名) を dst_xxxx という名前 (半角) に変更します。
この xxxx という部分が数字で、向かわせる順番に番号を設定していきます。欠番があっても構いません。

番号は1桁でも何桁でも構いませんが、数値順ではなくて、ASCII順 (辞書順) ですので、注意が必要です。
あまり良くない例ですが、dst_02 → dst_1 → dst_20 → dst_3 という順番になります。判りにくいので、桁数は統一した方が良いです。

簡単に順番を確認する方法は後述します。

(5) Python スクリプトの起動
第1フレームにおいて Eastern Dragon を選択状態にします。体の部位はどこでも構いません。
その状態のまま、Dstreamer.py を起動します。そうしますと、Python の出力ウィンドウに色々と表示されます。
2回目の起動ですと、前回の出力内容が残っており、どこからが今回の出力内容なのか判りにくいので、一旦、出力ウィンドウを閉じてから、起動することをお勧めします。

(6) 龍玉の順番チェック
Dstreamer.py の出力内容の最後の方が、龍玉の位置情報です。
過不足がないかチェックして下さい。小道具名称に誤りがありますと、ここに現れません。
また、上から順番に列んでいるかについても確認して下さい。
誤っていた場合には、上記(4)からやり直して下さい。

(7) Python スクリプトの出力内容のコピペ
まず、Python の出力ウィンドウにおいて、今回の出力内容を丸ごとコピーします。
毎回出力ウィンドウを閉じているのでしたら、出力されているのは今回の出力内容だけですので、その場合には右クリックで「すべて選択」した方が早いです。
# から行末まではコメント扱いですので、コピー対象でも対象外としても構いません。

そして、このWebページの FLASH の初期ポーズ欄にペーストします。
前回の入力内容が残っている場合には、一旦「入力のクリア」ボタンを押してから、ペーストします。

(8) パラメータの入力
FLASH での各種パラメータを入力します。パラメータの意味などについては後述します。

(9) アニメーションフレームの生成
「アニメーションフレームの生成」ボタンを押して、生成を開始します。
移動距離の表示は、左側の分子が現在計算中の地点、右側の分母が総距離を示しています。移動計算が終了しても、端数が生じて分母と分子は一致しません。

移動計算中に「中止」ボタンを押すと、そこまでの計算結果の出力処理に移ります。
出力処理中に「中止」ボタンを押すと、計算結果を破棄して終了します。

(10) アニメーションポーズファイル (.pz2) の作成
下の方のテキストボックスに結果が出力されますので、これをコピー&ペーストしてファイルに落とします。
この時のファイル名は、拡張子が .pz2 であれば適当で構いません。
格納ディレクトリは Runtime/Libraries/Pose/ 配下のどこか適当な所にします。

・FLASH Player 7 以降をご使用の場合
まず「右記内容をクリップボードへ」ボタンを押します。このボタンを使用した場合、改行コードは LF として転送されます。
そして、適当なテキストエディタで新規ファイルにペースト後、改行コードはそのままに、文字コードだけ UTF-8 にして保存して下さい。Windows 付属のメモ帳ですと LF という文字が表示されますが、気にせず文字コードだけ UTF-8 にして保存して下さい。

・FLASH Player 7 よりも古い場合
クリップボードへ転送する機能が使えないため、手動でコピーする必要があります。「右記内容をクリップボードへ」ボタンは現れません。
テキストボックス上で、Windows なら右クリックで、Macintosh なら control +クリックでメニューを出して「すべて選択」してコピーします。そして、適当なテキストエディタで新規ファイルにペーストします。
手動のコピーでは、改行コードは CR+LF として転送されます。
保存する時、文字コードを UTF-8 に、改行コードを LF にして下さい。Windows 付属のメモ帳は、改行コードを選べませんが、特に問題は無いようです。

(11) アニメーションポーズファイルの適用
Python スクリプトを起動した時と同じように、まず、第1フレームにおいて Eastern Dragon を選択状態にします。
そして、先ほど作成したアニメーションポーズファイルをライブラリから呼び出します。
この時、フレーム付け足しになるのにも拘わらず「アニメーションを読み込むために、フレームを追加しますか?」というダイアログが出る場合と出ない場合があります。

これで完成です。さっそく再生してみましょう!

(12) 調整
初期ポーズを変えたり、龍玉を再配置したり、パラメータを変えたりする場合は、上記(2)からやり直します。
初期ポーズ、および初期ポーズの存在する第1フレームには Dstreamer は変更を加えませんので、やり直しが利きます。
やり直しによって、アニメーションフレーム数の増減が起き得ますので、減った場合には Poser 上で終了フレームを調整し、余ったフレームをカットして下さい。
ライブラリ上のアイコンは、自動的に更新してくれませんので、ライブラリウィンドウを一旦閉じて、再び開けたりしますと最新になります。


【パラメータの意味】
・龍玉間の移動
直線で進むのか、滑らかな曲線を描いて進むかのを設定します。
それぞれどのような効果が得られるのかは、スプラインの記事をご覧下さい。

・龍玉間の曲線分割数
スプライン補間または近似を選択した場合に、設定できます。
実際には曲線ではなくて、いくつかの直線に分割することで曲線のように見せています。
例えば、この分割数を3に設定した場合、線分の数は3で、途中2回曲がります。
分割数が多いほど滑らかになりますが、その分、移動計算が遅くなったりします。

・1フレームあたりの移動量
1フレームあたりに移動する距離です。単位は、Poser 上で用いられているものと同じです。デフォルトであるフィートから変更していますと、食い違ってしまうかも知れません。
Poser でのフレームレート設定を考慮しながら設定して下さい。

・移動開始前のポーズを、第2フレームとして挿入
ここにチェックを入れますと、移動する前のポーズを、第2フレームとして挿入します。そして、第3フレームから移動を開始します。
チェックを外した場合と比べますと、1フレーム多くなります。
問題がなければ、第1フレームと第2フレームとでは、マクロなパラメータや hip などのパラメータが変化しているにも拘わらず、ピクリとも動かないはずです。(本当!?)
デバッグ目的以外には用途が無いかも知れません。


【既知の問題】
垂直上昇・垂直下降させた場合に、そっぽを向いたり、仰向けになってしまったり、また、頭から尻尾まで体がボロ雑巾のように捻れたりなどの恐ろしい現象が現れたりすることがあります(笑)。
そのような場合には、途中に龍玉を追加したりして回避して下さい。


posted by foilskin at 10:57 | comment (0) | Dstreamer | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。