OBAQ Lab取扱説明書

概要
動作環境
使用方法
設定の変更
スクリプトのカスタマイズ
HSPスクリプトの出力
その他

概要


本プログラムは物理エンジン"OBAQ"のシミュレーションやオブジェクトの配置をサポートします。
オブジェクトデータはHSPと互換性のあるスクリプトによって記述され、ユーザーによるカスタマイズが可能です。

動作環境


WindowsXPおよび7(32bit)にて動作確認。
初期設定のFrameRate=60を満たすためには高周波のCPUを推奨(Intel Core2シリーズ2GHz〜程度)

使用方法



画像は開発中のものです。
1 Run
物理演算の実行
実行中に画面内をクリックすると元の状態に戻る。
 View
オブジェクトのデバッグ表示のON/OFF
 New
データを初期化
 Load
データを開く
 Save
データを保存
 Export
HSPスクリプト出力
選択してOBAQ領域に配置する。
 Option
設定の変更
2 パーツ選択
partsフォルダ内のスクリプトからオブジェクトが作成され、表示される。
左クリックで選択してOBAQ領域に配置
右クリックでメニュー表示
3 ファイルの編集・再読込
オブジェクトファイルをテキストエディタで開く。編集内容を反映させる場合は再読込を行う。
4 QBAQ領域
オブジェクトを配置するためのスペース。
5 オブジェクトの操作
選択したオブジェクトに対して移動、回転、削除を行う。

設定の変更


現在の設定を変更するにはOptボタンからオプションウィンドウを開く、
初期設定を変更するにはフォルダ内のdefault.iniを編集してください。

Zoom(1.0) : 表示倍率
Client_Width(640) : OBAQ領域の幅
Client_Height(480) : OBAQ領域の高さ
Window_Width(100) : ウィンドウの幅
Window_Height(600) : ウィンドウの高さ
Frame_Rate(60) : フレームレート
PHYSICS_RATE(4) : 1フレームあたりの物理計算回数
DEFAULT_WEIGHT(6.0) : デフォルトの重さ
DEFAULT_MOMENT(1200.0) : デフォルトのモーメント
DEFAULT_FRICTION(1.0) : デフォルトの摩擦
gx(0.0) :X方向の重力
gy(0.005) :Y方向の重力
Editor_Path(notepad) : オブジェクトの編集用のエディタのパス

スクリプトのカスタマイズ


partsフォルダにスクリプト(txt形式)を追加することで、オブジェクトを編集します。
基本的にHSPスクリプトと同じ書式ですが、制限があります。
一つのスクリプトファイルが一つのオブジェクトとして扱われます。
使用不可 HSP基本命令、プリプロセッサ、拡張命令、定数、数式、関数、変数(*1)
使用可能 OBAQオブジェクトの作成に関する一部の命令
○:対応 △:一部対応 ×:未実装

○qaddpoly
○qaddmodel
○qtype
○qstat
○qspeed
○qgroup
○qweight
○qdamper
○qinertia
△qmat スプライト非対応
○qmat2
○qmat3
○quser
○quser2
各命令、第1パラメーター(オブジェクトIDの指定)は無視されます。パラメーターを設定する命令は直前のqaddpolyまたはqaddmodelで作成したオブジェクトに対して適用されます。

(*1)変数はqaddmodelで使用する配列データにのみ使用可能。
配列変数の入力は下記の形式のみ対応
hoge=x1,y1,x2,y2,x3,y3...
.や()での要素指定、{}を使った改行は非対応。

以下のコメント行はプログラム上での利用時に情報として使用されます
//name [名前]
オブジェクト名を指定。未設定のときはファイル名。
//size [大きさ]
オブジェクト選択のサムネイル表示でオブジェクトが枠からはみ出る場合に使用。倍率指定。

オブジェクトファイルを削除または内容を変更した場合、そのオブジェクトを使用しているデータはオブジェクトを読み込めず正常に展開できなくなります。

HSPスクリプトの出力


画面右下のExpボタンからHSPで実行可能なスクリプトの出力が出来ます。
モジュール化され、複雑なオブジェクトの扱いも容易です。
出力されたスクリプトは自由に改変・配布して頂いても構いません。
シミュレーションと出力されたHSPスクリプトでは演算の結果に違いが生じるのは仕様です。
HSPスクリプトの出力を目的とする場合、シミュレーション結果は参考程度にして、必要に応じてHSPスクリプトを調整してください。

ol_getstat p1,p2,p3 ol_addで作成したオブジェクトの情報を取得
p1(var) 情報を取得する変数
p2(int) オブジェクトの番号
p3(int) 0=オブジェクトID / 1=オブジェクト作成時の衝突判定
直前に呼び出したol_addの情報が記録され、再度ol_addを呼び出すと以前の情報は上書きされます。

ol_add num,px,py,pr オブジェクトを作成
num(int) 作成するオブジェクトの種類
px(int) 座標X
py(int) 座標Y
pr(double) 角度
返り値としてstatに作成されたオブジェクトの数が代入されます

ol_offset ofsx,ofsy オフセットの変更

ol_init 配列変数の初期化

その他


HomePage : http://suittyo.dip.jp/hsp/
E-mail : suittyo@hotmail.com