ベクトル上の物理衝突情報を取得する
gppraytest var,objid,distance
var : 検出したオブジェクトID値が代入される変数名 objid(0) : オブジェクトID distance(100) : ベクトルの長さ
(プラグイン / モジュール : hgimg4)
物理設定を行なった3Dオブジェクトの中で、指定した線分に衝突するオブジェクトの情報を取得します。 objidで指定した3Dノードを持つオブジェクトを基点として、オブジェクトの向いている方向からdistanceで指定された距離の間で最初に衝突する3DオブジェクトのオブジェクトIDを調査します。 objidで指定されるオブジェクトは、物理設定されている必要はありません。カメラやnullノード等であっても問題ありません。 varで指定された変数に結果が代入されます。何らかのエラーが発生した場合は、マイナス値が代入されます。 線分に衝突するオブジェクトがあった場合は、そのオブジェクトIDが代入されます。何も衝突するオブジェクトがなかった場合は、0が代入されます。 衝突があった場合は、さらにobjidで指定されたオブジェクトのノードワーク値(work,work2)に詳細な情報が格納されます。 ノードワーク値は、getwork及びgetwork2命令により取得することができます。それぞれに設定される内容は以下の通りです。 ノードワーク値 | 設定される内容 -------------------------------------------------------------- work 衝突が発生したX,Y,Z座標 work2 衝突した面の法線ベクトルX,Y,Z値 gppraytest命令は、物理設定されたオブジェクトすべてが衝突の対象となります。コリジョングループの設定は考慮されません。
gppcontact | オブジェクトの物理衝突情報を作成する | (hgimg4) |
getcoli | オブジェクトのコリジョン判定 | (hgimg4) |
getwork | workグループ情報を取得 | (hgimg4) |
getwork2 | ノードワーク値2を取得 | (hgimg4) |
プラグイン / モジュール | hgimg4 |
バージョン | 3.6 |
作成日 | 2021/01/06 |
著作者 | onitama |
URL | http://www.onionsoft.net/ |
備考 | hgimg4.asまたはhgimg4dx.asをインクルードすること。 |
タイプ | 拡張命令 |
グループ | 拡張画面制御命令 |
対応環境 |
|
移植のヒント | Windows+OpenGL3.1以降/DirectX9システム上で動作します。 |
hs ファイル | hsphelp\hgimg4.hs |