リファレンス 41 ドキュメント 7 サンプル 42
標準機能 360 arduino 12 Artlet2D 55 d3module 29 DxLibW 2738 encode.as 8 form_decode 1 hgimg3 139 HGIMG3/HGIMG4共通 97 hgimg4 84 hsedsdk 36 HSP3Dish 135 hsp3imp 4 hsp3util 17 hspcmp 26 hspcv 31 hspda 24 hspdb 8 hspext 59 hspinet 67 hspmath 41 hspmucom 17 hspogg 20 hspprint 6 hspsock 12 hsptv 2 hspusbio 6 layer_fade 5 mod_fontdlg 1 mod_joystick2 2 mod_menu 3 mod_mmaudio 7 mod_picfont 2 mod_posteffect 7 mod_regexp 4 mod_rss 1 mod_vpad 5 obaq 51 obj 4 SQLele 18 ZLibWrap 3

hgimg4

Version 3.7 Date 2025/07/08 Author onitama

拡張画面制御命令

addcolor
オブジェクトカラー値を加算
オブジェクトの持つパラメーターを加算します。 colorグループ(カラー値)に(x,y,z)で指定された値を加算します。 (x,y,z)には、実数または整数値を指定することができます。
addwork2
work2グループ情報を加算
オブジェクトの持つパラメーターを設定します。 work2グループ(ワーク2値)に(x,y,z)で指定された値を加算します。 (x,y,z)には、実数または整数値を指定することができます。
event_addwork2
work2グループ加算イベントを追加
idで指定しているイベントIDに、グループ加算イベントを追加します。 グループ加算イベントは、オブジェクトが持っているパラメーターに(x,y,z)の値を加算します。
event_angy
angグループ変化イベントを追加
event_ang命令と同様の機能を持っていますが、回転の順番がY->X->Zとなります。
event_angz
angグループ変化イベントを追加
event_ang命令と同様の機能を持っていますが、回転の順番がZ->Y->Xとなります。
event_fade
フェード設定イベントを追加
オブジェクトのフェード値を設定するイベントを追加します。 フェードにマイナス値を指定することでα値を0に向けてフェードアウト、プラス値を指定することでα値を255に向けてフェードインさせることができます。 event_prmset命令でPRMSET_FADEパラメーターに設定することと等価です。
event_prmadd
パラメーター加算イベントを追加
idで指定しているイベントIDに、パラメーター加算イベントを追加します。 パラメーター設定イベントは、p1で指定されたパラメーターIDにp2の値を加算します。(マイナス値も設定できます) パラメーターIDには、以下の名前を使用することができます。
event_setangy
angグループ設定イベントを追加
event_setang命令と同様の機能を持っていますが、回転の順番がY->X->Zとなります。
event_setangz
angグループ設定イベントを追加
event_setang命令と同様の機能を持っていますが、回転の順番がZ->Y->Xとなります。
event_setwork2
work2グループ設定イベントを追加
idで指定しているイベントIDに、グループ設定イベントを追加します。 グループ設定イベントは、オブジェクトが持っているパラメーターを設定します。 (x1,y1,z1)と(x2,y2,z2)を指定すると、それぞれの範囲内にある値を乱数で作成します。
event_suicide
オブジェクト破棄イベントを追加
※この命令は今後廃止される予定です、event_delobjと置き換えてご使用ください idで指定しているイベントIDに、オブジェクト破棄イベントを追加します。 この命令は、event_delobjと同等に使用することができます。
event_work2
work2グループ変化イベントを追加
idで指定しているイベントIDに、グループ変化イベントを追加します。 グループ変化イベントは、オブジェクトが持っているパラメーターの時間による変化を設定します。 frameで指定したフレーム数が経過した時に(x1,y1,z1)の値になります。
getcolor
オブジェクトカラー値を取得
オブジェクトの持つcolorパラメーターを取得します。 (x,y,z)は、実数型の変数として設定されます。 命令の最後に「i」を付加することで、整数値として値を取得することができます。
getcolori
オブジェクトカラー値を取得(整数値)
オブジェクトの持つcolorパラメーターを取得します。 (x,y,z)は、整数型の変数として設定されます。 getcolor命令を使用することで、実数値として値を取得することができます。
getobjname
オブジェクトのノード名を取得する
ノードオブジェクトに指定された名称を取得します。 varで指定された変数に名称が文字列型として代入されます。 すべてのノードオブジェクトは、任意に指定した名称が設定されています。
getquat
quatグループ情報を取得
オブジェクトの持つ回転パラメーターを取得します。 quatグループ(クォータニオン)の内容が(x,y,z,w)で指定された変数に代入されます。 (x,y,z,w)は、実数型の変数として設定されます。 HGIMG4内部では、すべての回転情報は、クォータニオンにより保持されています。
getwork2
ノードワーク値2を取得
オブジェクトの持つwork2パラメーターを取得します。 (x,y,z)は、実数型の変数として設定されます。 命令の最後に「i」を付加することで、整数値として値を取得することができます。
getwork2i
ノードワーク値2を取得(整数値)
オブジェクトの持つwork2パラメーターを取得します。 (x,y,z)は、整数型の変数として設定されます。 getwork2命令を使用することで、実数値として値を取得することができます。
gpact
アニメーションクリップを再生/停止
指定された名前のアニメーションクリップの再生/停止などをコントロールします。 アニメーションが設定されているモデルのオブジェクトIDを指定し、"name"でアニメーションクリップを選択します。 アニメーションクリップはあらかじめgpaddanim命令で設定しておくことができます。
gpaddanim
アニメーションクリップを追加
読み込まれた3Dモデルが持つアニメーションデータをもとに、新規のアニメーションクリップを追加します。 アニメーションクリップは、3Dモデルのアニメーションデータから一部のフレームを切り出したものに名前を付けて管理するものです。
gpbox
箱ノードを生成
指定サイズの立方体を3Dモデルデータとしてノードを生成します。 varで指定された変数に、生成されたオブジェクトのIDが代入されます。 生成されたノードは3D空間の中で自由に操作することが可能になります。 モデルのX,Yサイズをsizex,sizeyパラメーターで指定することができます。
gpcamera
カメラノードを設定
生成済みのノードにカメラとしての機能を追加します。 idパラメーターで、ノードのオブジェクトIDを指定します。 fovパラメーターで視野(FOV)を設定します。45を指定した場合は、45度の視野となります。 aspectパラメーターでアスペクト比(縦横比)を指定します。
gpclone
ノードを複製
既に存在するオブジェクトと同じ設定で、新しいオブジェクトを生成します。 varで指定された変数に、複製されたオブジェクトのIDが代入されます。 同一の形状、パラメーター設定(物理設定を除く)を持ちますが座標や角度などを新しく設定することができます。
gpcnvaxis
3D座標の変換を行なう
決められたモードに従って、(x,y,z)の3D座標を変換します。 結果は、var_x,var_y,var_zで指定された変数に実数型で代入されます。(変数型は自動的に設定されます) モード値による変換の内容は以下の通りです。
gpcolormat
カラーマテリアルの生成
指定された色を持つカラーマテリアルの生成を行ないます。 colorパラメーターは、24bitRGB値(0xRRGGBBで示される値)を指定します。省略した場合は、白色(0xffffff)が設定されます。 マテリアルを独自に生成することにより、詳細な質感の設定が可能になります。
gpdraw
シーン内の全オブジェクトを描画する
シーン内のオブジェクトをすべて描画します。 optionパラメーターを指定することで、限られた項目の描画だけを行なうことができます。
gpfloor
床ノードを生成
1枚の床(四角形)を3Dモデルデータとしてノードを生成します。 varで指定された変数に、生成されたオブジェクトのIDが代入されます。 生成されたノードは3D空間の中で自由に操作することが可能になります。 モデルのX,Yサイズをsizex,sizeyパラメーターで指定することができます。
gpgetanim
アニメーションクリップ設定を取得
指定されたアニメーションクリップの設定を取得してvarで指定された変数に代入します。 objidで設定を取得するオブジェクトIDを、indexにアニメーションクリップのインデックスを指定します。
gpgetlog
HGIMG4エラーログを取得
HGIMG4のエラーログを取得して変数に代入します。変数は文字列型として初期化されます。 エラーログは、gpreset、gpload命令などの実行時に発生したエラーの詳細を記録するもので、原因の調査などに利用することができます。
gpgetmat
マテリアルIDの取得
指定されたオブジェクト、及び画面バッファで使用されているカスタムマテリアルのIDを取得します。 optパラメーターで取得オプションを指定します。optで指定できる値は以下の通りです。
gpgetprm
オブジェクトのコアパラメーター取得
オブジェクトごとに保持されているコアパラメーターに値を取得します。 コアパラメーターは、32bit整数値で、様々な情報を管理しています。 コアパラメーターIDとして指定可能な項目は以下の通りです。
gplight
ライトノードを設定
生成済みのノードにライトとしての機能を追加します。 idパラメーターで、ノードのオブジェクトIDを指定します。 optパラメーターでライト生成オプション値を指定することができます。
gpload
3Dモデルノードを生成
ファイル化された3Dモデルデータ(.gpbファイル)をノードとして生成します。 varで指定された変数に、生成されたオブジェクトのIDが代入されます。 生成されたノードは3D空間の中で自由に操作することが可能になります。 "file"でフォルダ及びファイル名を指定します。
gplookat
指定座標に向けてノードを回転
3Dノードを、指定した座標に向けて回転させます。 カメラに適用した場合は、指定座標を注視する角度に設定されます。
gpmatprm
マテリアルのパラメーター設定
生成されたマテリアルのシェーダーパラメーターを設定します。 idがオブジェクトIDの場合は、オブジェクトに設定されているマテリアルが直接設定されます。 idがマテリアルIDの場合は、マテリアルが保持している設定が変更されます。
gpmatprm1
マテリアルのパラメーター設定(1)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprm命令と基本的に同じ機能です。 gpmatprm1命令は、1項目のみの実数パラメーターを指定します。
gpmatprm16
マテリアルのパラメーター設定(マトリクス)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprm命令と基本的に同じ機能ですが、gpmatprm16命令は、varで指定された実数型の配列変数に格納された数値を4×4のマトリクス行列として設定します。
gpmatprm2
マテリアルのパラメーター設定(2)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprm命令と基本的に同じ機能です。 gpmatprm2命令は、2項目の実数パラメーターを指定します。
gpmatprm4
マテリアルのパラメーター設定(4)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprm命令と基本的に同じ機能です。 gpmatprm4命令は、4項目(x,y,z,w)の実数パラメーターを指定します。
gpmatprmf
マテリアルのテクスチャ詳細設定
マテリアルに設定されているテクスチャ設定を変更します。 既にテクスチャが設定されているマテリアルID、またはオブジェクトIDを指定してフィルターモードやテクスチャラップモードを変更することが可能です。 idパラメーターにテクスチャ設定を行うマテリアルID、またはオブジェクトIDを指定します。
gpmatprmp
マテリアルのパラメーター設定(マテリアルID)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprmp命令は、matobjで指定されたマテリアルIDが持つテクスチャをシェーダーパラメーターとして設定します。 この命令は、sampler2D型のパラメーターをシェーダーに渡す場合に使用することができます。
gpmatprmt
マテリアルのパラメーター設定(テクスチャファイル)
生成されたマテリアルのシェーダーパラメーターを設定します。 gpmatprmt命令は、"filename"で指定されたファイルをテクスチャ画像としてシェーダーパラメーターに設定します。 あらかじめテクスチャが割り当てられているマテリアルを後から変更する際に使用してください。
gpmatstate
マテリアルのステート設定
生成されたマテリアルの表示ステート設定を変更します。 文字列としてnameで指定された項目に対して、valueで指定された内容を設定します。 項目名と設定内容はすべて文字列で行なうので注意してください。 項目名と設定内容はすべて文字列で行なうので注意してください。
gpmesh
3Dメッシューノードを生成
自由な形状を3Dモデルとして定義したものをノードオブジェクトとして生成します。 あらかじめ、gpmeshclear、gpmeshadd、gpmeshpolygon等の命令を使用して、カスタム3Dメッシュと呼ばれるモデル情報を構築する必要があります。
gpmeshadd
カスタム3Dメッシュに頂点情報を追加
カスタム3Dメッシュに頂点情報を追加登録します。 頂点情報は、X,Y,Z座標、法線ベクトル、テクスチャUV座標を1つのセットとして登録します。 varで指定された変数に、登録されたメッシュ頂点IDが代入されます。メッシュ頂点IDは、面(3角形,4角形)を構成する際に使用します。
gpmeshclear
カスタム3Dメッシュを初期化
カスタム3Dメッシュの登録情報を初期化します。 カスタム3Dメッシュは、自由な3D形状を定義するためのデータを構築する仕組みです。 実際のデータ登録は、gpmeshadd、gpmeshpolygon命令を使用します。
gpmeshpolygon
カスタム3Dメッシュに面情報を追加
カスタム3Dメッシュに面(ポリゴン)情報を追加登録します。 あらかじめ、gpmeshadd命令により必要な頂点情報を登録しておく必要があります。 頂点情報のインデックスを示すメッシュ頂点IDを組み合わせて、面(3角形,4角形)を構成します。
gpnodeinfo
3Dモデルの階層情報を取得する
gpload命令で読み込まれた3Dモデルの階層情報を取得して、varで指定された変数に結果を代入します。 objidで指定した3Dモデルが持つ階層を名前によって指定することで個別のノードを特定します。 (階層の名前(ノード名)は、3Dモデル作成時にあらかじめ付けられています。
gpnull
ヌルノードを生成
空のノードオブジェクト(ヌルノード)を生成します。 varで指定された変数に、複製されたオブジェクトのIDが代入されます。 ヌルノードは、カメラやライトなどモデルを持つ必要のないノードを作成する場合などに使用します。
gpobjpool
オブジェクトID生成の設定
オブジェクトIDの割り当て方法を変更します。 オブジェクトIDは、あらかじめ決められた最大数の中で、使用されていないID番号が割り当てられます。 オブジェクト最大数は、デフォルトで1024個となっており、sysreq命令によって拡張することが可能です。
gppapply
ノードに物理的な力を適用する
ノードに対して(x,y,z)で指定したベクトルの物理的な力を適用します。 actionパラメーターで設定できるタイプは、以下の通りです。
gppbind
ノードに標準的な物理特性を設定
ノードオブジェクトに対して、基本的な物理設定を行ないます。 massパラメーターは物体の重さ。frictionパラメーターは摩擦係数です。値を省略した場合は、デフォルト値が使用されます。 重さ(mass)を0にすることで静的剛体(衝突はするが、動かない)として設定されます。
gppcontact
オブジェクトの物理衝突情報を作成する
物理設定を行なった3Dオブジェクトの正確な衝突の情報を作成します。 objidで指定された3Dオブジェクトが他のオブジェクトに衝突した際の情報をすべて作成します。 objidで指定された3Dオブジェクトは、必ずgppbind命令により物理設定を行っておく必要があります。
gppinfo
オブジェクトの物理衝突情報を取得する
gppcontact命令によって作成されたオブジェクトの物理衝突情報を取得します。必ず、gppcontact命令を先に実行しておく必要があります。 objidにより指定された3Dオブジェクトの物理衝突情報をvarとfvで指定した変数に代入します。変数には以下の内容が格納されます。
gpplate
板ノードを生成
垂直に立った1枚の板(四角形)を3Dモデルデータとしてノードを生成します。 varで指定された変数に、生成されたオブジェクトのIDが代入されます。 生成されたノードは3D空間の中で自由に操作することが可能になります。
gppostefx
ポストエフェクト生成
(今後のバージョンでサポートするための予約キーワードです。機能は現在まだ実装されていません。
gppraytest
ベクトル上の物理衝突情報を取得する
物理設定を行なった3Dオブジェクトの中で、指定した線(ベクトル)に衝突するオブジェクトの情報を取得します。
gppset
ノードの物理パラメーターを設定
objidで指定されたノードの詳細な物理パラメーターを設定します。 prmidパラメーターで、設定する項目を指定し、X,Y,Zに指定された値が、それぞれの項目に対応した値として適用されます。
gppsweeptest
モデルを指定ベクトルに移動させた際の物理衝突情報を取得する
objidパラメーターで指定した3Dノードを持つオブジェクトの現在位置を基点として、(X,Y,Z)で指定された座標に移動させた場合に最初に衝突する3DオブジェクトのオブジェクトIDを調査します。
gpreset
HGIMG4の初期化
HGIMG4の初期化を行ないます。 シーンを再構築する場合に使用してください。 optionで設定した内容によって初期化の内容が変わります。
gpresetlight
カレントライトの初期化
使用するライトの種別とともにカレントライトを初期化します。 カレントライトを設定しておくことで、以降に生成されたモデルやマテリアルが受けるライトの詳細を決めることができます。 シーンが初期化された状態では、ディレクショナルライト1個だけを設定できる状態になっています。
gpscrmat
オフスクリーンテクスチャマテリアルの生成
オフスクリーンテクスチャバッファを参照するマテリアルを生成します。 マテリアルを独自に生成することにより、オフスクリーンにレンダリングされた画像イメージをテクスチャとして再利用することが可能になります。
gpsetanim
アニメーションクリップ設定を更新
指定されたアニメーションクリップの設定をvalueで指定される新しい値で更新します。 objidで設定を取得するオブジェクトIDを、indexにアニメーションクリップのインデックスを指定します。
gpsetprm
オブジェクトのコアパラメーター設定
オブジェクトごとに保持されているコアパラメーターにvalueで指定された値を上書き設定します。 値を上書きではなく、ビット単位にON,OFFを行ないたい場合は、gpsetprmon/gpsetprmoff命令を使用してください。
gpsetprmoff
オブジェクトのコアパラメーター設定(ビット削除)
オブジェクトごとに保持されているコアパラメーターの値を、valueで設定されているビットのみOFFに設定します。
gpsetprmon
オブジェクトのコアパラメーター設定(ビット追加)
オブジェクトごとに保持されているコアパラメーターの値を、valueで設定されているビットのみONに設定します。
gpspr
2Dスプライトノード生成
2Dスプライトを表示するためのノードを生成します。 varで指定された変数に、生成されたオブジェクトのIDが代入されます。 生成されたノードは2Dスクリーンの中で自由に操作することが可能になります。
gptexmat
テクスチャマテリアルの生成
テクスチャ(画像)マテリアルの生成を行ないます。 マテリアルを独自に生成することにより、詳細な質感の設定が可能になります。
gpusecamera
カメラオブジェクトの切り替え
指定したノードオブジェクトを有効なカメラオブジェクトとして選択します。 必ず、カメラとして初期化されているノードオブジェクトを指定する必要があります。 以降は、切り替えられたカメラを視点としてシーンの描画が行なわれます。
gpuselight
ライトオブジェクトの登録
指定したライトオブジェクトをカレントライトに登録します。 必ず、ライトとして初期化されているライトオブジェクトを指定する必要があります。 ライトオブジェクトは、gplight命令によって初期化することができます。
gpusermat
カスタムマテリアルの生成
カスタムマテリアルを生成します。 カスタムマテリアルは、バーテックスシェーダー及びフラグメントシェーダーを指定した独自の描画を行ないます。 OpenGLのシェーダー言語(GLSL)で記述されたシェーダーファイル名を、"vsh"、"fsh"パラメーターに指定します。
gpusershader
ユーザーシェーダーの指定
ユーザーが独自に設定するためのシェーダーを指定します。 バーテックスシェーダー、フラグメントシェーダー及び追加のラベル定義を記述して、使用することができます。
gpusescene
シーンの切り替え
(今後のバージョンでサポートするための予約キーワードです。機能は現在まだ実装されていません。
gpviewport
ビューポート設定
HGIMG4が描画を行なう領域(ビューポート)を設定します。 スクリーン座標の(x,y)を基点として(sx,sy)で指定したサイズの領域に対して描画が行なわれます。
selquat
オブジェク回転情報をMOC情報に設定
MOC設定命令の対象となるMOCグループをquat(クォータニオン回転情報)に設定します idは、オブジェクトIDとなります。
selwork2
オブジェクトワーク2をMOC情報に設定
MOC設定命令の対象となるMOCグループをwork2(ワーク2)に設定します idは、オブジェクトIDとなります。
setalpha
オブジェクトの透明度(α値)設定
オブジェクトの透明度(α値)を設定します。 valueパラメーターで指定された値を、objidパラメーターのオブジェクトに設定します。 valueパラメーターで指定する値は、透明度を示す0~255の整数値(α値)となります。 0は完全な透明、255は不透明が適用されます。
setangy
angグループ情報を設定
setang命令と同様の機能を持っていますが、回転の順番がY->X->Zとなります。
setangz
angグループ情報を設定
setang命令と同様の機能を持っていますが、回転の順番がZ->Y->Xとなります。
setcolor
オブジェクトカラー値を設定
オブジェクトの持つパラメーターを設定します。 colorグループ(カラー値)に(x,y,z)で指定された値を設定します。 (x,y,z)には、実数または整数値を指定することができます。
setobjlight
オブジェクトにカレントライトを設定
idで指定したオブジェクトにカレントライトの設定を行います。 idで指定したオブジェクトは、光源計算を行う3Dモデルである必要があります。 それまでオブジェクトに設定されていたライトの設定は破棄され、新しくカレントライトの設定が上書きされます。
setobjname
オブジェクトのノード名を設定する
ノードオブジェクトに指定された名称を設定します。 すべてのノードオブジェクトは、任意に指定した名称を設定することが可能です。
setquat
quatグループ情報を設定
オブジェクトの持つ回転パラメーターを設定します。 quatグループ(クォータニオン)に(x,y,z,w)で指定された値を設定します。 (x,y,z,w)は、クォータニオン(四元数)による設定を行ないます。HGIMG4内部では、すべての回転情報は、クォータニオンにより保持されています。
setwork2
work2グループ情報を設定
オブジェクトの持つパラメーターを設定します。 work2グループ(ワーク2値)に(x,y,z)で指定された値を設定します。 (x,y,z)には、実数または整数値を指定することができます。