ZINDAIJI ver. 0.998 使用法
テキストの更新(2008/11/14)
(内容を一部Updateしました…)
目次
□はじめに
□実行
□メインウィンドウ
※計算領域について
メインウィンドウでの操作
視点移動、カメラパス設定
□メニューウィンドウ
ファイル
新規データ読み込み
文法編集
環境設定ファイル、カメラパス、aviファイル製作、画面保存、粒子データファイル、描画オプションと高速化、ヘルプ、アプリケーションの終了
編集
視点位置数値入力、強制移動数値入力、回転運動をセットする、データ読み込み設定
表示
タイトルバー表示、最大化と復元、再描画、光源に応じたBillboardの向き、最終フレームもaviに含める
ウィンドウ
>>時間制御
>>表示オプション
視点コントローラ
視点位置の制御、アンカー設置補助
情報表示ダイヤログ
表示設定ダイヤログ
ステレオグラム設定、トリミングとフォグ設定、ウィンドウサイズ
作業進行度ウィンドウ
□表示モード設定ウィンドウ
オプション表示
オプション表示詳細
時刻表示、光源、カメラパス、>>shadowvolume、背景の表示、格子の表示、仮想スクリーン、>>影(mapping)
影の表示
粒子の関連づけ
粒子表示モード
特性設定ダイヤログ
球の設定、色設定、通常テクスチャ、特殊テクスチャ、不透明度、倍率、Polygon Level、SHADOW MAPへの描き込み、DEPTH TEST処理有り
板表示用設定
□時間制御とカメラの軌道の設定(タイムランウィンドウ)
時間制御
カメラパス制御
ワーキングエリア、パス追尾、プレビュー、マウス操作、Down Sizing(間引き)、オンメモリ情報
□固定カメラ設定
□そのほかの留意事項
はじめに
このソフトはN体計算の結果を可視化するためのソフトです。本来、国立天文台に設置された3D映像投影装置用に、N体計算の結果を表示するムービーを製作する為に開発されたソフトですが、GUI付のN体計算結果用ビューワーとしても使用できます。
時系列順に、粒子の位置、速度、および半径を並べたファイルを読み込むことにより、シミュレーション結果の時間発展を任意の視点(&カメラワーク)から見ることができます。また、それを連番イメージファイルに落としたり、直接aviファイルを製作することができます。また、立体視を実現するために、右目用、左目用のムービーをそれぞれ製作することができます。
このアプリケーションはWindows2000およびWindows XP上で動作します。
このアプリケーションは以下のdllファイルを利用します。
opengl32.dll glu32.dll glut32.dll zlib.dll
ILU.dll ILUT.dll DevIL.dll
glrc.dll
また、windows2000には標準では入っていない msvcr70.dll, msvcp70.dllも使っています
現状では msvcr80.dll, msvcp80.dll, msvcpm80.dll (.Net Framework 2 サービスパック 1)のものが必要なようです。
これらのライブラリがない場合には、これらを入手してあらかじめシステムに導入しておくか、もしくは実行ファイルと同一フォルダにおいておくことが必要です。
一応再配布可能なので、同封してあるので動くと思いますが…??
アプリケーション内で数多くのdllファイルを使用するので、依存関係が複雑になっています。
明記したもの以外は一般的にインストールされているdllファイルを使っているつもりなのですが、他に○○.dllがないよとエラーが出たら、何が無いとエラーが出たのかの情報と一緒に報告をお願いします。
レジストリ書き換えなどは行っていないので、このアプリケーションを実行したとしても、恒常的な問題は発生しないはずなのですが、 万一このアプリケーションによって問題が生じたとしても、一切の責任はとれません。
このアプリケーションは個人的な利用、研究、教育目的等には自由に使用できます。
バグ報告や、機能向上の示唆などは、ブログなどで連絡いただけると助かります。
ダウンロード
実行ファイル
ソースファイル
実行
圧縮ファイルを展開すると、実行ファイルと幾つかの設定やテクスチャを含んだフォルダが作られます。
フォルダごとHD上の好きな位置に置いてください
日本語のフォルダ名でも動くようにしましたが、100%大丈夫か分からないので日本語のないパスを推奨です。
(デスクトップは日本語なので駄目!)。
実行ファイルはparticlemovie2.exeです。
実行すると、まず各種テクスチャファイルの読み込みを行います。
デフォルトでは\textureフォルダ内のテクスチャを読み込みます。
テクスチャが読み込めない場合には、その旨が表示されますので、手動で読み込むテクスチャファイルを設定します。
HDRレンダリングに対応しました。
グラフィックボードが対応していない時にこれをonにすると真っ暗で画面が表示されません。メインメニュー > 表示 > HDR設定 から 0(off) を設定してください。
※)HDR画像の出力は .hdr フォーマットでできるようになったのですが、現在画面上では色が変になるようです。普段はoffにしてください。
メインウィンドウ
無事に実行できた場合には、640x480のサイズのメインウィンドウと、いくつかのウィンドウが表示されます。
メインのウィンドウには、N体計算結果が表示されます。
初期状態では、背景と座標系のみが表示されます。座標軸は、x,yをグリッドで、z軸を直線で表現しています。
この状態で、マウスでで視点の位置を制御できます。視点を引くと、空間が球殻状の背景に囲まれているのがわかります。(背景画の後ろの本当の背景色を青にした場合です)
この球殻内に、シミュレーション結果を表示します。データーの読み込み方法は、メニュー >> ファイル >> 新規データ読み込み を参考にしてください。
デフォルトは怪しい英語ですが、メニューのViewの中から言語設定ができます。
※計算領域について
可視化にあたって、計算の領域が [-1, 1]であるような計算と、[-32767, 32767]であるような計算では、可視化に必要な精度が変わってきます。
初期には、計算領域はほぼ1〜10程度のオーダーだと仮定して、視点の位置から距離0.05から500にある粒子を表示するようになっています。そのため、計算領域が大きく異なる場合には、ほとんど物が表示されないといった状況が起こり得ます。
不都合がある場合には最初に、メニューウィンドウ >> ウィンドウ >> 表示設定ダイヤログ のトリミング設定の部分を変更してください。
また、初期状態では空間は半径約100の背景に囲まれています。背景や光源の位置が計算領域とそぐわない場合には、それぞれ設定を変更してください。
メインウィンドウでの操作
カメラの移動経路やデータ領域などの情報は、画面上に緑のワイヤーフレームで表示されます。
カメラの移動経路を設定することで、avi製作時などにこの経路に沿って視点を自動で動かすことができます。
通常は、マウスで視点位置を動かします。
視点移動
カメラ操作には左と中ボタンを使い、右ボタンではメニューを開きます。
操作方式の変更は、タイムランウィンドウにあるリストボックスで行います。
- ウォークスルー
- 左ボタン:前進&旋回
マウスカーソルが画面中央にあるときに前進し、中央から外れると、その方向に旋回します。
特殊操作として、画面の周辺部でクリックした場合にはきりもみ状の旋回運動を行います
- 中ボタン:平行移動 & 前進、後退
中ボタンを押しながら、前後に動かすことで、前進、後退をします。
特殊操作として、画面の周辺部でドラッグした場合には、平行移動を行います。
ALT + 左ボタンで代用できます。
- アンカーを中心に移動
必ずアンカーの方向を向くようになります。アンカーは緑の十字で表示されます。初期には原点(0,0,0)に設定されています。
- 左ボタン:回転
アンカー位置にあるものを掴んで回転させているように視点の位置が動きます。
左ボタンを押したまま、上の図のカーソルの移動のように動かすと、視点もそれに応じて変わります。
- 中ボタン:平行移動 & 前進、後退
中ボタンを押しながら、前後に動かすことで、前進、後退をします。
ALT + 左ボタンで代用できます。
- 右ボタン:オプションメニューを開きます。
- 旋回
基本的にウォークスルーと一緒ですが、前進を行わずにその場で方向を転換します。
- カメラを中心に移動
アンカー位置を中心にする代わりに、カメラの位置を中心に旋回します。
カメラパス設定
CTRL, SHIFT, ALT キーとの併用することで、マウス操作でカメラパスやアンカーパスの形状を(一応)設定できます。
SHIFTを押しながらマウス左ボタンのドラッグ&ドロップによって、フレームを編集できます。
ドラッグしたフレームは、キーフレームになります。(>>タイムランウィンドウ)
各キーフレームから伸びている線は、その場所での速度を示しています。
点線で表示されているものは、自動的に生成された速度成分です。
SHIFT+ALTを押しながら左ボタンのドラッグ&ドロップによって、速度成分の編集が出来ます。
これによって、少ないキーフレームで様々なパス形状の設定が出来ます。
ユーザー設定された速度成分は、実線で表示されます。
SHIFT+CTRLを押しながら左ボタンのドラッグ&ドロップによって、カメラの向きを編集できます。
メニューウィンドウ
このウィンドウから様々な操作が出来ます。
>>ファイル(F)
>>編集(E)
>>表示(V)
>>ウィンドウ(W)
表示モード設定ウィンドウ
オプション表示
各種ラジオボタンのon、offにより、光源や背景、影などの表示のon, offを行います。
幾つかの機能は未完成です。
また、各種機能は詳細ボタンで、色やテクスチャ設定を行うことができますが、一部未完成です。
>> 詳細
粒子の関連づけ
星とガスの両方を含んだ計算などでは、どの粒子が星で、どの粒子がガスかの区別をすることが必要です。
関連付け設定ボタンを押すと、粒子の関連付けを決めるダイヤログを表示します。
ここの設定に応じて、粒子の種類を、粒子の番号やIDに応じて割り振ります。
現状では粒子の種類は4種類まで設定できます。
左の例は、「月の形成」の映像を作る時に使ったものです。データーの最初の粒子を地球として表示しています。残りの粒子は粒子番号4000までの粒子とそれ以外の粒子の2種類に割り振っていて、それぞれ微妙に違ったテクスチャを張った球として表示しました。
他にも、天文関係のシミュレーションの例としては、粒子ごとの固有の種類を変数[int]に割り振っておいて、0はガス粒子、1は星、2はダークマターとするなどということが考えられます。
粒子の種類には、粒子の特特性設定ダイヤログ内で名前をつけることが出来ます。
粒子表示モード
それぞれの関連付けに応じて、どのような表示手法を行うか決定します。
- 表示しない : 表示しません。ダークマター等を表示しないときに使います。
- 点 : 粒子を点で表示します。表示速度は最速です。
粒子の色は、光源および球の色設定が反映されます。
- 球:粒子を球で表示します。詳細を押すと、特性設定ダイヤログ>>が現れます。
影の表現は、くっきりとした影を落とすように Shadow Volume 法を使います(後述)
- 板: 粒子を、ガスっぽいテクスチャを張った板で表現します(ビルボード形式)。
ガス状のものを表現する時や、アンチエイリアスのかかった綺麗な点を表示するときに使います。詳細を押すと、特性設定ダイヤログ>>が現れます。
ガス状のものの落とす影の表現は、本来レイトレーシングを実行しなければならないものです。ここでは、簡易的なレイトレーシングとしてShadow Mapping >>を使っています。
下の図は球としての表現と、板としての表現の比較です。
- 両者:球と板の両方を重ねて表示します。
- 速度:このチェックボックスをonにすると、各粒子の速度を線分で表示します。
詳細ボタンを押すと、線分の長さを調整するダイヤログが出ます。
時間制御とカメラの軌道の設定(タイムランウィンドウ)
時間の制御と、カメラの軌道の設定はタイムランウィンドウで行います。
時間制御
このアプリケーションでは、データーファイルとデーターファイルの間の粒子の移動を、3次関数で補間(エルミート補間)して表示しています。
「フレーム間をnコマで補間」の設定によって、ファイル間を何ステップで補間するかを設定できます。
数が少ないほど、速い(間が飛び飛びの)アニメーションになります
現在の時間をあらわします。このスライダーを動かすことで時間を制御します。
このスライダーの下の小さな丸は、最も近い時間のスナップショットをあらわしています。スライダーと丸の位置がずれているときは、スナップショット間で補間されたデータが表示されていることになります。
その下の007:007は、7番目のスナップショットデータと、8番目のスナップショットデータの間を補間した、7番目のステップを表示していることを示しています。
この例では、フレーム間を10コマで補間しているので、7番と8番のスナップショットデータのうち、やや8番目に近い時間が表示されていることになります。
このボタンで再生、または逆再生を行います。
内側から順に、コマ送り、スナップショット間移動、先頭と末尾に移動です。
このボタンが押されていると、繰返し再生を行います。
カメラパス制御
カメラ移動の仕組みと設定法は、次のようになっています。
メインウィンドウ上の緑の四角の連なりが、カメラワークを表しています。
カメラの位置は、スナップショットデータの時間毎に設定され、緑の小さい四角で表されています。白い四角が現在の時間でのカメラの位置です。現在の時間でのカメラには、視野の方向を現した台形も表示されます。
緑の四角のうちで大きいものは、キーフレームを表しています。
キーフレーム以外のフレームはキーフレーム間で自動的に補間されます。
キーフレームになっているフレームは、タイムランの上に黒い点で表されます。
速度情報も持つキーフレームは赤い点で表示されます。細かなカメラパス設定をするときには、キーフレームごとに速度の設定をすることも出来ます。
ランが2段あるのは、上段がカメラワーク設定用の段で、下段はアンカーの移動設定用の段です。
アンカーを移動させる必要がある場合は少ないですが、着目したい物が動き回っている場合などには、下の段を使ってアンカーの移動を設定します。
左にあるチェックボックスをクリックすることで、キーフレームと通常フレームの切り替えができます。
現在選択しているキーフレームは、色が濃く表示されます。タイムランウィンドウ内でマウスをドラッグすることにより、複数のキーフレームを選択することが出来ます。
選択したキーフレームは、ドラッグ&ドロップによって時間軸上で動かせます。
また、「←」、「→」ボタンによっても、時間軸にそって動かすことができます。
選択したキーフレームを右下にあるゴミ箱にドラッグ&ドロップすることで、複数のキーフレームの一括除去が出来ます。速度成分を持つキーフレームは、まず速度成分を除去するので、もう一度除去することでキーフレームの解除をします。
また、チェックボックスの左右のボタンを押すと、現在時間がキーフレームまで移動します。
キーフレームの位置を設定する方法は幾つか存在します。
- [視点位置にキー配置]を押すと、現在メインウィンドウを表示している視点の位置にカメラワークのキーフレームが設定されます。
- メインメニュー>>編集>>カメラ位置数値入力 で直接数値入力できます。
- タイムライン上で右クリックから[数値入力]でも数値入力可能です。
- メインウィンドウ上で、直接カメラをドラッグ&ドロップで動かすことも出来ます。
製作したカメラパスは、 メニューウィンドウ>>ファイル>>カメラパス によってファイルに保存と読込ができます。
ワーキングエリア
タイムラインの上にある線分の左右についた黒い点をドラッグすることで、ワーキングエリアを変更することが出来ます。
タイムランのウィンドウはワーキングエリアの幅に応じて拡大表示され、avi製作などもワーキングエリアの範囲でのみ行われます。
パス追尾
このチェックがついていると、視点が強制的にカメラワークに従います。
aviファイルを作るときに、このチェックがついていると、設定したカメラワークに沿ったムービーが作られます。
プレビュー
カメラパス追尾と、再生の両方がチェックされ、(実行速度が十分に速ければ)動画をあらかじめ見ることが出来ます。
粒子数が多い場合には、表示モードを"点"にしたり、"Down Sizing"することで、実行速度を稼ぎます。
マウス操作
マウス操作法の選択をします。
その下の移動速度で視点の移動速度の調整ができます。計算領域や実行速度に合わせて調整してください
Down Sizing(間引き)
粒子数が多い場合には、残念ながらレンダリングに時間がかかりすぎて、まともな操作が不可能になることが多くなります。
表示する粒子を間引くことで、実行速度を稼ぐことが出来ます。
薄いガスのようなものを表示する場合には、その分全体が薄くなります。表示粒子を半分にした際に、残りの粒子を倍の濃さにして見た目を補うためには、[間引分α値を補正]をチェックします。
オンメモリ情報
非常に大きなデーターを扱う際には、粒子情報がメモリ上に一度に展開できません。
タイムライン上の緑の線は、粒子情報がメモリ上に展開されていることを表します。
緑のラインが欠けている領域を表示しようとすると、HDへの読込が行われます。メモリが足りないときには、順次粒子情報を開放してゆきます。
固定視点設定
固定視点上から見る
アニメーション表示用のカメラワークとは別に、空間に固定された視点を設定できます。
画面上に黄色く表示されているのが固定視点です。メインメニュー >> 表示 >> 固定視点切り替え >> Next / Back によって、次々と視点位置を切り替えることが出来ます。
マウスの右クリックによるショートカットメニュー >> 固定視点設定 >> Next(n) / Back(b)でも同様の操作が出来ます。
固定視点にはそれぞれ固有の名前がついています。
固定視点から見ている状態では、画面の左上に名前が表示され、通常の状態と区別できます。
通常の自由移動をしている最中は、視点を移動する度に固定視点"AutoMemorized"が自動的に更新されてゆきます。視点を"AutoMemorized"に切り替えることによって、実質的なアンドゥーが行えます。
固定視点の編集
固定視点は、メインメニュー >> 表示 >> 固定視点切り替え >> 編集によって新規に登録したり編集をすることが出来ます。
マウスの右クリックによるショートカットメニュー >> 固定視点設定 >> 編集 によっても同様の操作が出来ます。
そのほかの留意事項
状態を保存する場所
最後に開いたファイルの位置などを、実行ファイルと同一フォルダ内にある"particlemovie.env"に保存しています。
このファイルに書き込まれたパスの不整合によって正常に動作しない場合には、一度このファイルを削除してみてください。
カメラワークファイルの文法
カメラワークファイルの文法は以下のようになっています。>> PathGrammer.html
戻る