リファレンス 24 ドキュメント 7 サンプル 32
標準機能 329 Artlet2D 55 d3module 29 hgimg3 181 hgimg3,hgimg4 64 hgimg4 40 hsedsdk 36 HSP3Dish 14 hsp3util 17 hspcmp 21 hspcv 31 hspda 27 hspdb 8 hspdxfix 75 hspext 58 hspinet 56 hspmath 41 hspprint 6 hspsock 12 hspusbio 6 llmod3 80 obaq 51 SQLele 18 その他 25

hgimg3

Version 3.4 Date 2014/08/01 Author onitama

目次 (2 グループ / 181 ページ)

拡張マルチメディア制御命令 11
拡張画面制御命令 170

拡張マルチメディア制御命令

dmmbye
サウンド機能終了処理
サウンド機能の終了処理を行ないます。 通常は、終了処理が自動的に行なわれるので、この命令を入れる必要はありません。
dmmdel
サウンドデータを削除
p1で指定したサウンドIDの情報を破棄します。
dmmini
サウンド機能初期化
サウンド機能の初期化を行ないます。 プログラム実行時の最初に1回だけ初期化を行なう必要があります。 これ以降は、dmm~で始まる命令を使用して、DirectSoundによるサウンド再生機能を使用することが可能になります。
dmmload
サウンドデータの読み込み
"ファイル名"で指定されたファイルをサウンドデータとして登録します。 サウンドデータは、wave形式(拡張子.wav)または、ogg vorbis形式(拡張子.ogg)のファイルを指定します。
dmmloop
サウンドデータのループ設定
p1で指定したサウンドIDのループ情報を設定します。 p2に0以上の値を指定した場合には、再生が繰り返されます。 p2がマイナス値の場合は、ループを行ないません。 ストリーミング再生時は、p2でループポイントの指定を行なうことが可能です。
dmmpan
サウンドデータのパン設定
p1で指定したサウンドIDのパン(ステレオバランス)を設定します。 p2で設定するパンニング値を指定します。 -10000で左側100%となり、10000で右側100%になります。
dmmplay
サウンドデータの再生
p1で指定したサウンドIDを再生します。 すでに指定されたサウンドIDが再生中の場合は、最初から再生されます。 p2で開始ポイントを指定することができます。 p2が省略されるか0の場合は、サウンドデータの最初から再生され、それ以外の場合は最初からのオフセット位置として途中から再生されます。
dmmreset
サウンド機能の設定をリセット
サウンド機能の設定をリセットします。 読み込まれていた、すべてのサウンドデータは破棄されます。
dmmstat
サウンドデータの状態取得
p2で指定したサウンドIDの状態を取得して、p1の変数に代入します。 p3で取得するモードを指定することができます。 取得モードの値は、以下の通りです。
dmmstop
サウンドデータの再生停止
p1で指定したサウンドIDの再生を停止します。 p1を省略するかマイナス値を指定した場合には、再生中のすべてのサウンドを停止します。
dmmvol
サウンドデータの音量設定
p1で指定したサウンドIDの音量(ボリューム)を設定します。 p2で設定する音量を指定します。0が最大の音量(0db)となり、-10000が最小の音量(無音)になります。 設定値の単位は、db(デシベル)になっているため、人間が感じる音量と異なっています。

拡張画面制御命令

addbox
箱(BOX)モデルを作成
箱(BOX)モデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 BOXモデルは、単色またはテクスチャで描画され3D上に配置される立方体です。 texidが指定されている場合は、それをテクスチャIDとして参照します。
adddxf
DXF形式データの登録
DXF形式のモデルを登録します。モデルデータは、あらかじめvar2で指定された変数バッファに読み込まれている必要があります。 正常にモデルが登録されると、varで指定した変数にモデルIDが代入されます。 colorで読み込まれたポリゴンの表面色を指定することができます。
addefx
efxグループ情報を加算
オブジェクトの持つパラメーターを設定します。 efxグループ(特殊効果設定)に(x,y,z)で指定された値を加算します。 (x,y,z)には、実数または整数値を指定することができます。
addeprim
エフェクト(EPRIM)モデルを作成
エフェクト(EPRIM)モデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 エフェクトモデルは、効果生成用の特殊な形状を持ったモデルです。
addline
線分モデルを作成
線分モデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 線分モデルは、オブジェクトに設定された座標から、オブジェクトのworkグループに設定された座標(相対位置)に線を引く機能を持っています。
addmesh
板(MESH)モデルを作成
分割された3Dポリゴンを使った板(MESH)を作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 BOXモデルは、テクスチャで描画され3D上に配置される分割メッシュです。 texidが指定されている場合は、それをテクスチャIDとして参照します。
addobaq3d
OBAQ3Dモデルを作成
OBAQ3Dモデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 OBAQ3Dモデルは、OBAQプラグインが管理するオブジェクトの描画を行ないます。
addplate
板(PLATE)モデルを作成
3Dの板(PLATE)モデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 PLATEモデルは、単色またはテクスチャで描画され3D上に配置される四角形です。 setcolor命令で色が設定されている時は、単色の板になります。
addsplate
板(SPLATE)モデルを作成
3Dの光源計算付き板(SPLATE)モデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 SPLATEモデルは、単色またはテクスチャで描画され3D上に配置される四角形です。 setcolor命令で色が設定されている時は、単色の板になります。
addspr
2Dスプライトモデルを作成
2Dスプライトモデルを作成します。 正常にモデルが作成されると、varで指定した変数にモデルIDが代入されます。 texidが指定されている場合は、それをテクスチャIDとして参照します。 texidが省略された場合は、次に登録されるテクスチャが参照されます。
addxanim
Xファイルアニメーションの追加
Xファイルモデルに、アニメーションデータを追加します。 ModelIDでは、すでにaddxfile命令によって読み込まれているモデルIDを指定する必要があります。 アニメーションの追加に成功すると、システム変数statにモデルIDが代入されます。
addxfile
Xファイルモデルを作成
x形式のモデルファイルを読み込みます。 正常にモデルが読みこまれると、varで指定した変数にモデルIDが代入されます。 読み込みに失敗した場合には、varで指定した変数に-1が代入されます。 HGIMG3が読み込むx形式は、DirectX8以降のスキンメッシュに対応しています。
cammode
カメラモードの設定
カメラの向きについてのモードを設定します。 指定できるモードは、 CAM_MODE_NORMAL (カメラの位置、角度に従う) と、 CAM_MODE_LOOKAT (カメラは注視点を常に向いている) です。
clsblur
ブラー設定
擬似ブラー効果を設定します。 valで設定した強度の値が小さいほど、画面に前のフレームが残像として残ります。
clscolor
背景色設定
単色で塗りつぶす背景色を設定します。 colorに-1を指定した場合は、背景クリアを行ないません。 colorはRGBコード($rrggbb)となります。
clstex
背景テクスチャ設定
背景となるテクスチャのIDを指定します。 idに-1を指定した場合は、背景にテクスチャを使わなくなります。
delemit
エミッターを削除
p1で指定されたエミッターを削除します。 削除されたエミッターIDは、再度newemit命令で初期化するまでは使用できません。
delevent
イベントリストを削除
p1で指定したイベントリストを削除します。
delmodel
モデルの削除
指定されたモデルを削除します。 モデルに関する情報や読み込まれているリソースもすべて解放されます。 オブジェクトに割り当てられているモデルを削除した場合には、何も表示されなくなります。(その際にもオブジェクトは削除されないので注意してください。
dxfload
DXF形式ファイルを読み込み
DXF形式のファイルをモデルデータとして読み込みます。 システム変数statに読み込まれた先のモデルIDが返されます。 p1で読み込まれたポリゴンの表面色を指定することができます。表面色は、RGBを24bit整数にパックした形式($rrggbb)で指定する必要があります。
emit_angmul
エミッターの角度係数を設定
idで指定されたエミッターが発生する際のオブジェクト移動角度係数を設定します。 エミッターによりオブジェクトが発生する場合に、移動する方向の角度が算出されます。
emit_angopt
エミッターの角度加算値を設定
idで指定されたエミッターが発生する際のオブジェクト移動角度加算値を設定します。 エミッターによりオブジェクトが発生する場合に、移動する方向の角度が算出されますが、その値に加算する定数をX,Y,Z軸ごとに指定できます。
emit_event
エミッターのイベント設定
idで指定されたエミッターが発生するオブジェクトのイベントIDを設定します。 eventパラメーターで、発生するイベントIDを指定します。イベントIDは、setevent命令で設定可能なイベントIDと同様です。 eventnumで、発生するイベントIDの範囲を指定することができます。
emit_group
エミッターのグループ設定
idで指定されたエミッターが発生するオブジェクトのコリジョングループを設定します。これは、setcoli命令によりオブジェクトに設定する値と同様です。 特定のコリジョングループを持つオブジェクトを発生させる場合に使用してください。
emit_model
エミッターの発生モデルを設定
idで指定されたエミッターが発生するオブジェクトのモデルIDなど詳細パラメーターを設定します。 エミッターから発生されるオブジェクトの種類やモード設定など重要な要素を指定します。 エミッターを使用する際には必ず設定するようにしてください。
emit_num
エミッターの発生数設定
idで指定されたエミッターが発生するオブジェクトの数を設定します。 numで、発生するオブジェクトの数を指定することができます。 これは、ランダムに別々な数のオブジェクトを発生させる際に使用することができます。
emit_size
エミッターの発生範囲を設定
idで指定されたエミッターが発生するオブジェクトの範囲を設定します。 発生範囲は、もともと指定された発生座標からどの程度までちらばるかを指定するものです。
emit_speed
エミッターのスピード設定
idで指定されたエミッターが発生するオブジェクトの速度を設定します。 オブジェクトの速度は、発生すると同時に移動を開始するオブジェクトに与えられる数値です。 スピードの値が大きいほど、速い速度で移動を行ないます。 speedパラメーターで、設定するスピードの初期値を指定します。
enumobj
オブジェクトの検索開始
指定したコリジョングループに属するオブジェクトを検索します。 検索結果は、getenum命令により取得することができます。 検索結果が複数ある場合は、getenum命令を呼び出すたびに次の結果が返されます。
event_addang
angグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_addangr
angグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_adddir
dirグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_addefx
efxグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_addpos
posグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_addscale
scaleグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_addwork
workグループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_aim
オブジェクト操作イベントを追加
idで指定しているイベントIDに、オブジェクト操作イベントを追加します。 objaim命令と同様の操作をイベント実行時に行なうことができます。 モード及び、オプションパラメーターX,Y,Zの値は、objaim命令と同様の内容を使用できます。 (ターゲットモードは常に0が使用されます。
event_ang
angグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_angr
angグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_delobj
オブジェクト削除イベントを追加
idで指定しているイベントIDに、オブジェクト削除イベントを追加します。 オブジェクト削除イベントは、現在イベントを実行しているオブジェクトそのものを削除する命令です。
event_dir
dirグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_efx
efxグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_eprim
エフェクト設定イベントを追加
idで指定しているイベントIDに、エフェクト設定イベントを追加します。 seteprim命令と同様の操作をイベント実行時に行なうことができます。 modelに、addeprim命令によって作成されたモデルIDを指定します。
event_jump
ジャンプイベントを追加
idで指定しているイベントIDに、ジャンプイベントを追加します。 ジャンプイベントは、指定されたイベント番号から実行を続けることを指示します。 イベントリストの中でのgoto命令にあたります。 p1で指定するイベント番号は、イベントに追加された順番に0,1,2…と数えたものになります。
event_objact
アニメーション設定イベントを追加
idで指定しているイベントIDに、アニメーション設定イベントを追加します。 Anim及び、modeの設定は、objact命令と同様の値を指定することができます。 speedにより再生時の速度(objspeed命令と同様)を設定することができます。
event_pos
posグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_prmoff
パラメータービット消去イベントを追加
idで指定しているイベントIDに、パラメータービット消去イベントを追加します。 パラメータービット消去イベントは、p1で指定されたパラメーターIDから、 p2のビットだけを消去します。 パラメーターIDの詳細については、event_prmset命令を参照してください。
event_prmon
パラメータービット設定イベントを追加
idで指定しているイベントIDに、パラメータービット設定イベントを追加します。 パラメータービット設定イベントは、p1で指定されたパラメーターIDにp2のビットを設定します。
event_prmset
パラメーター設定イベントを追加
idで指定しているイベントIDに、パラメーター設定イベントを追加します。 パラメーター設定イベントは、p1で指定されたパラメーターIDにp2の値を設定します。 (それまでに設定されていた内容は消去されます) パラメーターIDには、以下の名前を使用することができます。
event_regobj
オブジェクト生成イベントを追加
idで指定しているイベントIDに、オブジェクト生成イベントを追加します。 オブジェクト生成イベントは、regobj命令と同様にイベント実行時に新しいオブジェクトを生成します。 パラメーターとして、modelにモデルIDを、eventにイベントIDを指定することができます。
event_scale
scaleグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_setang
angグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setangr
angグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setdir
dirグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setefx
efxグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setpos
posグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setscale
scaleグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_setwork
workグループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_uv
UV設定イベントを追加
idで指定しているイベントIDに、UV設定イベントを追加します。 UV設定イベントは、2D及び3D(x形式モデルを除く)の単一ポリゴンが持つUVを動的に変更します。
event_wait
待ち時間イベントを追加
idで指定しているイベントIDに、待ち時間イベントを追加します。 待ち時間イベントは、p1で指定されたフレーム数だけ次のイベントに進むことを保留します。
event_wang
angグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時にworkグループ(ワーク値)の値になります。
event_wdir
dirグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時にworkグループ(ワーク値)の値になります。
event_wefx
efxグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時にworkグループ(ワーク値)の値になります。
event_work
workグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
event_wpos
posグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時にworkグループ(ワーク値)の値になります。
event_wscale
scaleグループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時にworkグループ(ワーク値)の値になります。
falpha
フォント文字α値を設定
fprt命令によるフォント表示で使用されるα合成値を指定します。 以降すべてのfprt命令に適用されます。 α値についての詳細は以下の通りです。
fprt
定義フォント文字列表示
"mes"の内容を指定されたフォントで画面に表示します。 必ずhgdraw命令と、hgsync命令の間に使用してください。 (x,y)の指定は画面の左上が(0,0)になります。
getang
angグループ情報を取得
オブジェクトの持つパラメーターを取得します。 angグループ(表示角度)の内容が(x,y,z)で指定された変数に代入されます。 (x,y,z)は、実数型の変数として設定されます。 命令の最後に「i」を付加することで、整数値として値を取得することができます。
getangi
angグループ情報を整数で取得
オブジェクトの持つパラメーターを取得します。 angグループ(表示角度)の内容が(x,y,z)で指定された変数に代入されます。 (x,y,z)は、整数型の変数として設定されます。
getangr
angグループ情報を取得
オブジェクトの持つパラメーターを取得します。 angグループ(表示角度)の内容が(x,y,z)で指定された変数に代入されます。 (x,y,z)は、整数型の変数として設定されます。 角度の単位は整数で0~255で一周する値を使用します。
getanim
アニメーション情報を取得
p2で指定されたオブジェクトのアニメーションに関する情報を取得して、p1で指定された変数に代入します。 取得される情報の種類は、p3の情報IDで指定することができます。 情報IDは、以下の値が用意されています。
getcolvec
コリジョン情報の取得
コリジョンとオブジェクトに関する各種情報を取得します。 idで指定されたオブジェクトの情報がvar1,var2,var3で指定した変数に代入されます。 取得される情報は、modeの値によって異なります。 modeの内容は、以下の通りです。
getefx
efxグループ情報を取得
オブジェクトの持つパラメーターを取得します。 efxグループ(特殊効果設定)の内容が(x,y,z)で指定された変数に代入されます。 (x,y,z)は、実数型の変数として設定されます。 命令の最後に「i」を付加することで、整数値として値を取得することができます。
getefxi
efxグループ情報を整数で取得
オブジェクトの持つパラメーターを取得します。 efxグループ(特殊効果設定)の内容が(x,y,z)で指定された変数に代入されます。 (x,y,z)は、整数型の変数として設定されます。
getenum
オブジェクトの検索結果を取得
enumobj命令により検索されたオブジェクトのIDを取得します。 getenum命令を実行するたびに、次の検索結果が取得されます。取得が終わった場合には、-1が代入されます。
getnearobj
最も近くにあるオブジェクトを検索
検索元のオブジェクトIDから最も近い場所にある別なオブジェクトを検索します。 idで指定したオブジェクトの周囲で、最も近い位置にあるオブジェクトを検索して、varで指定された変数にオブジェクトIDを代入します。
getobjmodel
オブジェクトのモデルID取得
指定したオブジェクトに割り当てられているモデルIDを取得し、varで指定された変数に代入します。
getvarmap
メッシュマップ情報の作成
描画バッファの内容からメッシュマップ情報を作成します。 メッシュマップ情報は、整数型の配列変数としてX,Y方向に分割された格子単位の情報を保持するものです。メッシュ頂点ごとの高さを始めとして、UVなど様々な情報を格納することができます。
getxinfo
Xモデル表示情報の取得
p2で指定されたオブジェクトIDが示すモデルの情報を文字列として p1で指定した変数に代入します。 必ずX形式のモデル持つオブジェクトIDを指定する必要があります。 p1の変数には、文字列の形で情報が代入されます。 p2でノードIDを指定することができます。
groupmod
同一グループに演算適用
同じコリジョングループに属しているモデルに対してまとめて演算を行ないます。 有効なすべてのオブジェクトの中で、groupパラメーターで指定したコリジョングループが指定されているものが操作の対象となります。
hgbye
プラグインの解放
HGIMG3の解放を行ないます。 プログラムの終了時に自動的に実行されるので、通常は明示する必要はありません。
hgcapture
DirectX画面データの取得
HGIMGが描画しているフレームバッファの情報をHSPの画面にコピーします。 gsel命令などで現在アクティブな画面がコピー先になります。 必ず、HGIMGを初期化したサイズと同じ大きさのバッファをコピー先にしてください。
hgceldiv
HGIMG3でのセル分割指定
HGIMG3が管理するテクスチャのセル分割サイズ、及び中心座標を設定します。 これは、HGIMG3上でOBAQプラグインを使用する際に、OBAQオブジェクトのマテリアル指定でセルIDを指定する時に参照されるものです。
hgcnvaxis
3D座標の変換を行なう
決められたモードに従って、(x,y,z)の3D座標を変換します。 結果は、var_x,var_y,var_zで指定された変数に実数型で代入されます。(変数型は自動的に設定されます) モード値による変換の内容は以下の通りです。
hgdraw
描画の実行
オブジェクトの全描画処理を実行します。 デフォルトでは、すべてのオブジェクト描画を行ない画面を更新します。 hgdrawは、必ずhgsyncと対にして使用する必要があります。 先にhgdraw命令で描画を行ない、最後にhgsyncで待ち時間を入れるようにしてください。
hgemit
エミッター発生実行
idで指定されたエミッターを、(dx,dy,dz)の座標から発生させます。 あらかじめエミッターから発生させるオブジェクトの設定を行なっておく必要があります。 実行後に、発生させたオブジェクトの合計数がシステム変数statに代入されます。
hggetreq
システムリクエスト取得
HGIMG3のシステム設定値を取り出してvalで指定した変数に代入します。 type値で指定できるのは以下のシンボルです。
hggettime
リアルタイムタイマー取得
リアルタイムタイマーの情報を取得して、valで指定された変数に代入します。 リアルタイムタイマーは、1ms単位の高精度な時間を計測するもので、HGIMG3の動作中に使用可能です。 取得タイプの値によって、取得される内容が変わります。
hgini
プラグインの初期化
HGIMG3の初期化を行ないます。 最初に必ず初期化をしてからHGIMG3の各命令を使用しなければなりません。 hgini命令が実行された時点での描画先(ウィンドウID)が表示先として登録されます。
hgline
直線の直接描画
(p1,p2)で指定した座標から(p3,p4)で指定した座標を結ぶ線を現在設定されている色で描画します。 hgline命令は、gmodeで設定されたコピーモードの指定が反映されます。 gmodeが0,1の場合は、通常の塗りつぶし。
hgobaq
HGIMG3でのOBAQ初期化
HGIMG3からOBAQ(物理エンジンプラグイン)を使用するための初期化を行ないます。 あらかじめ、OBAQプラグインを初期化した上で、qgetptr命令により取得されたOBAQシステムポインタ値をp1に指定する必要があります。 p2によりデバッグ表示モードを指定します。
hgprm
動作パラメーターの設定
HGIMG3の動作を細かく設定します。 p1で指定したパラメーターIDにp2の値を設定します。 パラメーターIDは、以下の値を指定することができます。
hgqcnvaxis
OBAQ座標をHGIMG3座標に変換
OBAQ上のX,Y座標をHGIMG3上のX,Y,Z座標に変換します。 これは、OBAQオブジェクトを3Dオブジェクトとして表示する際の座標を求めるものです。
hgqview
HGIMG3上のOBAQビュー設定
HGIMG3上でobaqオブジェクトを表示する際の設定を行ないます。 zoomパラメーターで、HGIMG3表示時のズーム倍率を指定します。 (ofsx,ofsy,ofsz)でX,Y,Z軸に対する表示オフセットを指定することができます。
hgrect
矩形の直接描画
(p1,p2)で指定した座標を中心として、(p4,p5)で指定したサイズの矩形(長方形)を現在設定されている色で描画します。 p3で回転角度を実数で指定することができます。 角度の単位は、ラジアン(0から始まって、2πで一周)となります。
hgreset
シーン情報の初期化
シーンの情報の初期化を行ないます。 すべてのモデル、オブジェクト、テクスチャ、イベントリストの情報は破棄され、まったく新しいシーンの状態に戻します。
hgrotate
矩形画像の直接描画
hgrotate命令は、指定された矩形範囲に回転を含めたテクスチャ描画処理を行ないます。 p1で、コピー元のテクスチャIDを指定、(p2,p3)でコピーされる元の画像にあたる座標を指定します。
hgsetreq
システムリクエスト設定
HGIMG3に対して様々なシステム設定を行ないます。 type値で指定できるのは以下のシンボルです。
hgsettime
リアルタイムタイマー設定
リアルタイムタイマーの値を設定します。 リアルタイムタイマーは、1ms単位の高精度な時間を計測するもので、HGIMG3の動作中に使用可能です。
hgsync
時間待ちを行なう
valで指定した時間(ms)だけウェイトを取ります。 hgsyncは、必ずhgdrawと対にして使用する必要があります。 先にhgdraw命令で描画を行ない、最後にhgsyncで待ち時間を入れるようにしてください。
hgview
描画エリアの設定
画面内で描画を行なうエリアを設定します。 hgviewで描画エリアを設定すると、それ以降の指定された範囲内にのみ描画されるようになります。 1つの画面内をいくつかの領域に分割して描画を行なう場合に有効です。
loadtoon
トゥーンテクスチャをファイルから登録
p1で指定したモデルに対してトゥーンシェーディングのモードを設定し、色の情報を持つテクスチャファイルを読み込みます。 あらかじめ、addxfile命令によりX形式の3Dモデルが読み込まれている必要があります。
maketoon
トゥーンテクスチャを作成
p1で指定したモデルの情報をもとにトゥーンテクスチャの作成を行ないます。 p2で、作成モードを指定することができます。
meshmap
メッシュマップ情報の更新
配列変数に代入されている、メッシュマップ情報をモデルに反映させます。 メッシュマップ情報は、整数型の配列変数としてX,Y方向に分割された格子単位の情報を保持するものです。メッシュ頂点ごとの高さを始めとして、UVなど様々な情報をリアルタイムに更新することができます。
modelcols
コリジョンパラメーターの設定(2)
p1で指定されたモデルIDが持つ標準のコリジョンパラメーターを設定します。 以降は、指定されたモデルを使用するオブジェクト初期化時のコリジョンパラメーターとして設定されます。
modelorder
回転順序モードの設定
p1で指定されたモデルIDが持つ回転順序のモードを設定します。 回転順序モードにより、3Dオブジェクト表示時の回転順序を設定することができます。 モードの値は、以下のいずれかになります。
modelscale
モデルのサイズを変更する
指定したモデル全体を指定したスケール値で拡大縮小します。 これによりモデルそのもののサイズ自体を変えることが可能になります。
modelshade
シェーディングモードの設定
p1で指定されたモデルIDが持つシェーディングモードを設定します。 シェーディングモードは、モデルを表示した時に行なう光源計算の方法を示します。 モード値は、以下のいずれかになります。
modelspeed
アニメーション再生速度の設定(2)
p1で指定されたモデルIDが持つ標準のアニメーション再生速度を設定します。 p2で1フレームあたりの再生速度(ms)を実数値で指定することができます。 以降は、指定されたモデルを使用するオブジェクトが、アニメーションを再生する場合の標準速度として設定されます。
newemit
エミッターを作成
エミッターを初期化し、p1で指定した変数にエミッターIDを代入します。 エミッターとは、複数のオブジェクトを一度に発生させることのできる特別な仕組みです。 ランダムなパラメーターなど自由な組み合わせで生成することのできる、オブジェクト発生器と考えてください。
newevent
イベントリストを作成
新しいイベントIDを取得し、p1で指定した変数に代入します。 新しくイベントを作成する場合には、必ずnewevent命令でイベントIDを取得しておく必要があります。 次に、「event_」で始まるイベントリスト追加命令によって多彩な動作を登録しておくことができます。
objact
指定アニメーションを開始
指定されたオブジェクトのアニメーションを開始します。 Animで複数あるアニメーションを示すインデックス値を指定します。 インデックス値は、複数アニメーション読み込みを行なった順番に、0,1,2,3…という数字で表わされます。
objadd1
MOC情報を加算
MOC情報に設定されている値にxを加算します。
objadd1r
MOC情報を加算
MOC情報に設定されている値にxを加算します。 ただし整数値(256で1回転)をラジアン単位に変換したパラメーターを加算します。 角度を指定するパラメーター以外では正常な値にならないので注意してください。
objadd2
MOC情報を加算
MOC情報に設定されている値にx,yを加算します。 ofsで指定したオフセット番号から2つのパラメータが対象になります。
objadd2r
MOC情報を加算
MOC情報に設定されている値にfx,fyを加算します。 ただし整数値(256で1回転)をラジアン単位に変換したパラメーターを加算します。 角度を指定するパラメーター以外では正常な値にならないので注意してください。
objaddf1
MOC情報を加算
MOC情報に設定されている値にfxを加算します。
objaddf2
MOC情報を加算
MOC情報に設定されている値にfx,fyを加算します。 ofsで指定したオフセット番号から2つのパラメータが対象になります。
objaim
オブジェクトを目標に向けて操作する
ObjIDで指定されたオブジェクトを、目標となる値に向けて座標や角度を操作します。 Targetで、操作を行なう対象(ターゲットモード)を設定します。 0または、省略した場合には、座標を移動させることになります。 Modeで、操作の内容を選択することができます。
objchild
オブジェクトの親子関係設定
指定されたオブジェクトの子供となるオブジェクトを設定します。 ChildObjIDで指定されたオブジェクトは、ObjIDで指定されたオブジェクトと親子関係を持つことになります。 以降は親となる、ObjIDで指定されたオブジェクトの座標、回転角度、スケールを継承した形で表示が行なわれます。
objfloor
地面からの表示オフセット設定
地面の上を移動する際に表示されるオブジェクトのY座標に対するオフセット値を設定します。 これは、地面にあたる座標から指定された値だけ上方向にずらして表示を行なうためのパラメーターです。 モデルの中心座標によっては、地面に埋まってしまうことがあるのを回避します。
objgetstr
MOC情報を文字列で取得
MOCに設定されている値を変数svalに文字列で書き出します。
objgetv
MOC情報を整数値で取得
MOCに設定されている値を変数vに整数で代入します。 v.0~v.3にそれぞれのオフセット番号が持つ値が代入されます。
objlight
参照されるライトの設定
p1で指定されたオブジェクトIDが影響を受けるライトを設定します。 p2で参照されるオブジェクトIDを指定します。 通常、すべてのオブジェクトは基本ライト(HGOBJ_LIGHT)の影響を受けます。 objlight命令により、基本ライト以外のオブジェクトから影響を受ける状態に変更します。
objproj
オブジェクトのプロジェクション変更
ObjIDで指定されたオブジェクトのプロジェクションモードを変更します。 プロジェクションモードが0の場合は、通常のオブジェクトとしてカメラのNearZ値、FarZ値に従ってZ方向のクリッピングが行なわれます。
objset1
MOC情報を設定
MOC情報を設定します。
objset1r
MOC情報を設定
MOC情報に角度情報を設定します。 整数値(256で1回転)をラジアン単位に変換してパラメーターを書き込みます。 角度を指定するパラメーター以外では正常な値にならないので注意してください。
objset2
MOC情報を設定
MOC情報を設定します。 ofsで指定したオフセット番号から2つのパラメータが対象になります。
objset2r
MOC情報を設定
MOC情報に角度情報を設定します。 ofsで指定したオフセット番号から2つのパラメータが対象になります。 整数値(256で1回転)をラジアン単位に変換してパラメーターを書き込みます。 角度を指定するパラメーター以外では正常な値にならないので注意してください。
objsetf1
MOC情報を設定
MOC情報を設定します。
objsetf2
MOC情報を設定
MOC情報を設定します。 ofsで指定したオフセット番号から2つのパラメータが対象になります。
objsetv
MOC情報を整数値で設定
変数vに整数で代入されている値をMOCに設定します。 v.0~v.3がそれぞれのオフセット番号に設定されます。
objspeed
アニメーション再生速度の設定
p1で指定されたオブジェクトIDのアニメーション再生速度を設定します。 p2で1フレームあたりの再生速度(ms)を実数値で指定することができます。 この命令は、objact命令により再生されているアニメーションの再生速度を変更するためのものです。
objwalk
メッシュマップ上の移動
指定したオブジェクトを(x,y,z)の方向に移動させます。 単に座標を移動させるだけでなく、地面を示すロッシュマップや、拡張コリジョンを設定したオブジェクトを考慮した上で、適切な移動先が設定されます。 varで指定された変数には、実際に移動した大きさ(ベクトル)が代入されます。
reglight
ライトオブジェクトの登録
追加のライトオブジェクトを登録して、p1に指定された変数にIDを代入します。 ライトオブジェクトは、objlight命令によって新しく参照されるためのライトとして扱うことができます。 取得されたオブジェクトIDは、他のオブジェクトと同じ方法でパラメーターを設定、取得することが可能です。
regobj
オブジェクトの登録
指定されたモデルを表示するためのオブジェクトを作成します。 成功すると作成されたオブジェクトIDが変数に代入されます。 何らかの理由で作成に失敗した場合は、-1が代入されます。 モードは以下の中から選択します。
selcam
カメラをMOC情報に設定
MOC設定命令の対象となるMOCグループをカメラに設定します。 通常は、selcpos,selcang,selcint命令をお使いください。
selcang
カメラ角度をMOC情報に設定
MOC設定命令の対象となるMOCグループをカメラのB(回転角度)に設定します cammodeの設定が注視点を見るモードになっている場合は、カメラ回転角は自動的に設定されます。
selcint
カメラ注視点をMOC情報に設定
MOC設定命令の対象となるMOCグループをC(注視点座標)に設定します 注視点は、cammodeの設定によって有効になります。
selcpos
カメラ座標をMOC情報に設定
MOC設定命令の対象となるMOCグループをカメラのA(移動座標)に設定します..
selefx
オブジェクト特殊効果をMOC情報に設定
MOC設定命令の対象となるMOCグループをefx(効果)に設定します idは、オブジェクトIDとなります。
sellambient
環境光色をMOC情報に設定
MOC設定命令の対象となるMOCグループをアンビエント(環境光)の色(R,G,B)に設定します。
sellang
光源角度をMOC情報に設定
MOC設定命令の対象となるMOCグループをライト(光源)の角度に設定します。
sellcolor
光源色をMOC情報に設定
MOC設定命令の対象となるMOCグループをライト(光源)の色(R,G,B,Ambient)に設定します。
sellight
光源をMOC情報に設定
MOC設定命令の対象となるMOCグループをライト(光源)に設定します。 通常は、sellpos,sellang,sellcolor命令をお使いください。
sellpos
光源座標をMOC情報に設定
MOC設定命令の対象となるMOCグループをライト(光源)の座標に設定します。
setcolor
単色ポリゴン作成設定
モデルの作成を行なう際のポリゴン色を設定します。 addplate,addbox命令などで単色ポリゴンを作成する場合に使用します。
setcolscale
コリジョンパラメーターの設定
p1で指定されたオブジェクトIDが持つコリジョンパラメーターを設定します。 p5の設定タイプが0の場合は、getcoli命令のコリジョン判定時に、指定された値に対するスケール(倍率)を実数でX,Y,Z軸ごとに指定することができます。
setefx
efxグループ情報を設定
オブジェクトの持つパラメーターを設定します。 efxグループ(特殊効果設定)に(x,y,z)で指定された値を設定します。 (x,y,z)には、実数または整数値を指定することができます。 オブジェクトに対し、xの値は次のように認識されます。y,zの値は未使用です。
seteprim
エフェクト(EPRIM)モデルを設定
エフェクト(EPRIM)モデルの生成パラメーターを設定します。 Modelに、addeprim命令によって作成されたモデルIDを指定します。 Paramに設定するパラメーターIDを、Valueに設定する値を実数か整数により指定します。
setevent
オブジェクトにイベントを設定
p1で指定したオブジェクトにp2のイベントを適用します。 あらかじめ、決まった流れの処理(イベント)を登録したイベントリストを用意しておく必要があります。 setevent命令によって設定されるイベントは、オブジェクト1つあたり4つまで同時に適用することが可能です。
setfont
オリジナルフォント定義
fprt命令で表示するためのフォントを設定します。 使用するテクスチャはこの直後に読み込まれたものになります。
setobjemit
オブジェクトにエミッター適用
配置されているオブジェクトをエミッターの発生元として設定します。 p1で指定されたオブジェクトに、p2のエミッターを割り当てます。 以降は、オブジェクト表示時にエミッターとしても動作するようになります。 エミッターIDにマイナス値を指定することで、エミッターの適用を解除することができます。
setobjmodel
オブジェクトのモデル設定
指定されたオブジェクトが表示するモデルを変更します。
setsizef
登録モデルの幅、高さを指定
モデル登録の際に使用されるサイズ値を指定します。
settex
テクスチャを登録
現在選択されているウィンドウIDの内容をテクスチャとして登録します。 テクスチャの登録に成功すると、システム変数statにテクスチャIDが代入されます。 失敗した場合はシステム変数statがマイナス値になります。 swの値が1の場合は、イメージの上下を反転してテクスチャ登録を行ないます。
settoonedge
トゥーンシェーディング時の設定
p1で指定したモデルのトゥーンシェーディング時の設定を行ないます。 p2で、エッジの色コード(RRGGBB)を指定します。 p3,p4は実数値によりエッジのオフセットを指定することができます。 Zオフセット(p3)を変更することにより、輪郭線の太さを調整することができます。
setuv
登録テクスチャUV座標を指定
モデル登録の際に使用されるUV値を指定します。
setxinfo
Xモデル情報の詳細設定
p1で指定されたオブジェクトIDが示すモデルの詳細情報を設定します。 必ずX形式のモデル持つオブジェクトIDを指定する必要があります。 モデルが複数のノード(ボーンやメッシュなど)を持っている場合には、p2でノードIDを指定することができます。
texcls
メッセージテクスチャのクリア
メッセージ描画用テクスチャの内容をクリア(消去)します。 p2で、単色で塗りつぶすための背景色を設定します。 p2はRGBコード($rrggbb)となります。
texdel
テクスチャの削除
p1で指定されたテクスチャを削除します。 削除されたテクスチャは、VRAM上から破棄され新しく入れ替えることができるようになります。
texload
テクスチャをファイルから登録
画像ファイル"filename"の内容をテクスチャとして登録します。 画像は、picload命令で使用可能なフォーマットと同じもの(BMP,JPG,GIF)が利用可能です。 テクスチャの登録が終了すると、システム変数statにテクスチャIDが代入されます。
texload2
テクスチャをファイルから登録
画像ファイル"filename"の内容をテクスチャとして登録します。 texload命令と同じ動作を行ないますが、DirectXのAPIを使用して読み込みが行なわれます。 使用可能なフォーマットは、BMP,JPG,GIF,PNG,DDS,TGA,TIFFなどです。
texmake
メッセージテクスチャの作成
メッセージ描画用テクスチャの作成を行ないます。 このテクスチャは、texmes命令のメッセージ描画先として使用することができます。 テクスチャの登録が終了すると、システム変数statにテクスチャIDが代入されます。 失敗した場合はシステム変数statにマイナス値が代入されます。
texmes
メッセージテクスチャへの描画
メッセージ描画用テクスチャにメッセージを書き込みます。 "message"に描画したい文字列を指定することで、p1のテクスチャに書き込みを行ないます。 あらかじめ、texmake命令によりメッセージ描画用テクスチャを作成しておく必要があるので注意してください。
texopt
文字列描画モードを設定
texmes命令により描画される文字列の詳細設定を行ないます。 space,linespaceにより、表示時の文字、行間隔サイズをドット単位で微調整可能です。 0ならば通常の間隔で、数値がマイナスの場合は間隔が狭く、プラスの場合は広くなります。
wave_apply
波紋の状態を取得
波紋生成機能による計算を行ない、結果を変数に読み出します。 必ず、先にwave_init命令によって初期化を行なっておく必要があります。 また、varで指定する配列変数は、必ず整数型でグリッドサイズよりもX,Yともに1つ大きい値で初期化されている必要があります。
wave_init
波紋の初期化
波紋生成機能の初期化を行ないます。 p1,p2パラメーターで、X,Y方向の分割数を指定します。 波紋生成機能は、メッシュマップの頂点に対応した波紋の伝達や弾性の計算を行なうものです。
wave_set
波紋の高さを設定
波紋生成機能での、波紋の高さを設定します。 必ず、先にwave_init命令によって初期化を行なっておく必要があります。 頂点(x,y)の位置にある高さをpowで指定した値として設定します。 また、modeの値によりいくつかの設定方法を選択することができます。