hgimg4
Version 3.5
Date 2017/08/08
Author onitama
拡張画面制御命令
addwork2
work2グループ情報を加算
オブジェクトの持つパラメーターを設定します。
work2グループ(ワーク2値)に(x,y,z)で指定された値を加算します。
(x,y,z)には、実数または整数値を指定することができます。
event_suicide
オブジェクト破棄イベントを追加
idで指定しているイベントIDに、オブジェクト破棄イベントを追加します。
オブジェクト破棄イベントは、実行しているオブジェクト自身を破棄(delobj)します。
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
マテリアルのパラメーター設定
生成されたマテリアルのシェーダーパラメーターを設定します。
gpmatprm1
マテリアルのパラメーター設定(2)
生成されたマテリアルのシェーダーパラメーターを設定します。
gpmatprm命令と基本的に同じ機能です。
gpmatprm1命令は、1項目のみの実数パラメーターを指定します。
gpmatprm16
マテリアルのパラメーター設定(マトリクス)
生成されたマテリアルのシェーダーパラメーターを設定します。
gpmatprm命令と基本的に同じ機能ですが、gpmatprm16命令は、varで指定された実数型の配列変数に格納された数値を4×4のマトリクス行列として設定します。
gpmatprm4
マテリアルのパラメーター設定(3)
生成されたマテリアルのシェーダーパラメーターを設定します。
gpmatprm命令と基本的に同じ機能です。
gpmatprm4命令は、4項目(x,y,z,w)の実数パラメーターを指定します。
gpmatprmt
マテリアルのパラメーター設定(テクスチャ)
生成されたマテリアルのシェーダーパラメーターを設定します。
gpmatprm命令と基本的に同じ機能ですが、gpmatprmt命令は、"filename"で指定されたファイルをテクスチャ画像として設定します。
sampler2D型のパラメーターをシェーダーに渡す場合に使用することができます。
gpmatstate
マテリアルのステート設定
生成されたマテリアルの表示ステート設定を変更します。
文字列としてnameで指定された項目に対して、valueで指定された内容を設定します。
項目名と設定内容はすべて文字列で行なうので注意してください。
項目名と設定内容はすべて文字列で行なうので注意してください。
gpnull
ヌルノードを生成
空のノードオブジェクト(ヌルノード)を生成します。
varで指定された変数に、複製されたオブジェクトのIDが代入されます。
ヌルノードは、カメラやライトなどモデルを持つ必要のないノードを作成する場合などに使用します。
gpobjpool
オブジェクトID生成の設定
オブジェクトIDの割り当て方法を変更します。
オブジェクトIDは、あらかじめ決められた最大数の中で、使用されていないID番号が割り当てられます。
オブジェクト最大数は、デフォルトで1024個となっており、sysreq命令によって拡張することが可能です。
gppapply
ノードに物理的な力を適用する
ノードに対して(x,y,z)で指定したベクトルの物理的な力を適用します。
actionパラメーターで設定できるタイプは、以下の通りです。
gppbind
ノードに標準的な物理特性を設定
ノードオブジェクトに対して、基本的な物理設定を行ないます。
massパラメーターは物体の重さ。frictionパラメーターは摩擦係数です。値を省略した場合は、デフォルト値が使用されます。
重さ(mass)を0にすることで静的剛体(衝突はするが、動かない)として設定されます。
gpplate
板ノードを生成
垂直に立った1枚の板(四角形)を3Dモデルデータとしてノードを生成します。
varで指定された変数に、生成されたオブジェクトのIDが代入されます。
生成されたノードは3D空間の中で自由に操作することが可能になります。
gppostefx
ポストエフェクト生成
(今後のバージョンでサポートするための予約キーワードです。機能は現在まだ実装されていません。
gppset
ノードの物理パラメーターを設定
objidで指定されたノードの詳細な物理パラメーターを設定します。
prmidパラメーターで、設定する項目を指定し、X,Y,Zに指定された値が、それぞれの項目に対応した値として適用されます。
gpreset
HGIMG4の初期化
HGIMG4の初期化を行ないます。
シーンを再構築する場合に使用してください。
optionで設定した内容によって初期化の内容が変わります。
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
ライトオブジェクトの切り替え
指定したノードオブジェクトを有効なライトオブジェクトとして選択します。
必ず、ライトとして初期化されているノードオブジェクトを指定する必要があります。
ライトを切り替えることで、以降に生成されるオブジェクトを照らすライトが変更されます。
gpusermat
カスタムマテリアルの生成
カスタムマテリアルを生成します。
カスタムマテリアルは、バーテックスシェーダー及びフラグメントシェーダーを指定した独自の描画を行ないます。
OpenGLのシェーダー言語(GLSL)で記述されたシェーダーファイル名を、"vsh"、"fsh"パラメーターに指定します。
gpusershader
ユーザーシェーダーの指定
ユーザーが独自に設定するためのシェーダーを指定します。
バーテックスシェーダー、フラグメントシェーダー及び追加のラベル定義を記述して、使用することができます。
gpusescene
シーンの切り替え
(今後のバージョンでサポートするための予約キーワードです。機能は現在まだ実装されていません。
gpviewport
ビューポート設定
HGIMG4が描画を行なう領域(ビューポート)を設定します。
スクリーン座標の(x,y)から(sx,sy)で指定したサイズの領域に対して描画が行なわれます。
sx,syを省略すると、現在の表示X,Yサイズがデフォルトとして指定されます。
selquat
オブジェク回転情報をMOC情報に設定
MOC設定命令の対象となるMOCグループをquat(クォータニオン回転情報)に設定します
idは、オブジェクトIDとなります。
selwork2
オブジェクトワーク2をMOC情報に設定
MOC設定命令の対象となるMOCグループをwork2(ワーク2)に設定します
idは、オブジェクトIDとなります。
setalpha
オブジェクトの透明度(α値)設定
オブジェクトの透明度(α値)を設定します。
valueパラメーターで指定された値を、objidパラメーターのオブジェクトに設定します。
valueパラメーターで指定する値は、透明度を示す0~255の整数値(α値)となります。
0は完全な透明、255は不透明が適用されます。
setobjname
オブジェクトのノード名を設定する
ノードオブジェクトに指定された名称を設定します。
すべてのノードオブジェクトは、任意に指定した名称を設定することが可能です。
setquat
quatグループ情報を設定
オブジェクトの持つ回転パラメーターを設定します。
quatグループ(クォータニオン)に(x,y,z,w)で指定された値を設定します。
(x,y,z,w)は、クォータニオン(四元数)による設定を行ないます。HGIMG4内部では、すべての回転情報は、クォータニオンにより保持されています。
setwork2
work2グループ情報を設定
オブジェクトの持つパラメーターを設定します。
work2グループ(ワーク2値)に(x,y,z)で指定された値を設定します。
(x,y,z)には、実数または整数値を指定することができます。