meshmap

メッシュマップ情報の更新

meshmap var,id,mode,factor

var     : メッシュマップ情報が代入されている配列変数名
id(0)   : 処理の対象となるメッシュモデルID
mode(0) : 更新モード
factor(1.0) : 更新に使用される倍率(実数)

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

解説

配列変数に代入されている、メッシュマップ情報をモデルに反映させます。
メッシュマップ情報は、整数型の配列変数としてX,Y方向に分割された格子単位の情報を保持するものです。メッシュ頂点ごとの高さを始めとして、UVなど様々な情報をリアルタイムに更新することができます。
これにより、起伏のある地面やマップチップを表現することができます。
modeで指定する値により、更新される情報が変わります。

モード  内容
-----------------------------------------------
0       メッシュのY座標
1       メッシュのX座標
2       メッシュのZ座標
3       メッシュのテクスチャU座標
4       メッシュのテクスチャV座標
$100    メッシュのテクスチャをマッピング

modeに$100(256)を指定した場合は、メッシュマップ情報の値(0~3)をもとに4分割された地形用のテクスチャマップチップを表示するためのUV値が設定されます。

メッシュの座標が変更された場合には、法線の再計算が行なわれます。
その場合、モードの値に16を足すことで、スムーズな法線が作成されます
(ただし、計算コストがかかります。またメッシュマップの繰り返しテクスチャを使用していないものが対象になります)。

meshmap命令は、すべての頂点に対して配列変数の内容をもとに値を設定します。
設定される値には、factorの倍率が一律に適用されます。
つまり、変数に格納されている値が15だった場合でも、factorに0.1を指定すると、実際に設定される値は1.5になります。
getvarmap命令と組み合わせて使用することで、画像データをもとにして高さや、マップチップの設定を行なうことができます。

関連項目

getvarmapメッシュマップ情報の作成(hgimg3)
addmesh板(MESH)モデルを作成(hgimg3)
objwalkメッシュマップ上の移動(hgimg3)

サンプル逆引き (10)

meshmap.hsp
meshmap2.hsp
meshmap3.hsp
meshmap4.hsp
meshmap5.hsp
meshmap6.hsp
meshmap7.hsp
tamane2.hsp
tamane4.hsp
wave.hsp

情報

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