getxinfo

Xモデル表示情報の取得

getxinfo p1,p2,p3

p1 : 作成されたモデル情報文字列が代入される変数名
p2 : オブジェクトID
p3 : ノードID
p4 : 設定モード

(プラグイン / モジュール : hgimg3)

解説

p2で指定されたオブジェクトIDが示すモデルの情報を文字列として
p1で指定した変数に代入します。
必ずX形式のモデル持つオブジェクトIDを指定する必要があります。
p1の変数には、文字列の形で情報が代入されます。
p2でノードIDを指定することができます。
ノードIDは0から始まる数値で、ボーンやメッシュごとに複数のIDが割り振られています。
ノードIDに-1などマイナス値を指定した場合は、改行コードで区切られた1行1要素の形ですべてのノード情報が返されます。
これによりノードIDの最大数を調べることができます。
(ノードIDの最大数は、同じモデルであればモードが違っていても共通です。)
p4で取得する情報の種類を指定することができます。
p4で指定できる値は、以下の通りです。

モード        内容
---------------------------------------------
 0            ノード名
 1            ノードのワールド座標
 2            ノードのX,Y,Z回転角度
 16           ノードが持つマテリアル数
 $1000+MatID  マテリアルの色( Diffuse Color )
 $2000+MatID  テクスチャのCOMポインタ(テクスチャ未使用時は0)
 $10000+Index  頂点座標
 $20000+Index  UV座標

$1000と$2000は、マテリアルIDと組み合わせて使用します。
マテリアルIDは、ノードごとに割り振られた0から始まる値で、有効なマテリアルIDの数は、モード16で調べることができます。

$10000と$20000は、内部バッファのIndexと組み合わせて使用します。
指定したインデックスが持つ頂点座標またはUV座標の値を取得することができます。

getxinfo命令は、ボーンを含むモデルが持つ個別の位置情報などを得るために使用することができます。
多数のノードを持つモデルを処理する場合には、処理がかかることもあるのでリアルタイムな動作を行なうアプリケーションでは注意して下さい。
現在は、モード1及び2の値は最後に描画されたモデルに関する情報を取得します。
複数のオブジェクトでモデルを共有している場合は、正しく取得されませんのでご注意ください。

関連項目

setxinfoXモデル情報の詳細設定(hgimg3)

サンプル逆引き (1)

test10.hsp

情報

プラグイン / モジュールhgimg3
バージョン3.4
作成日2014/08/01
著作者onitama
URLhttp://www.onionsoft.net/
備考hgimg3.asをインクルードすること。
タイプ拡張命令
グループ拡張画面制御命令
対応環境
  • Windows 版 HSP
移植のヒントWindows+DirectX8以降のシステム上でのみ動作します。
hs ファイルhsphelp\hgimg3.hs