viewcalc

描画時の座標変換を設定

viewcalc p1,p2,p3,p4,p5

p1(0)   : 設定モード
p2(0.0) : パラメーター1(実数)
p3(0.0) : パラメーター2(実数)
p4(0.0) : パラメーター3(実数)
p5(0.0) : パラメーター4(実数)

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

解説

2D描画時のX,Y座標に任意の計算を適用します。
これにより、描画される表示物全体のスケーリングや移動、回転などを行うことができます。
p1パラメーターで設定モードを指定します。
設定モードにより、以降の設定される内容が変わります。

	マクロ名            値   内容
	-----------------------------------------------------
	vptype_off           0   座標変換なし(デフォルト)
	vptype_translate     1   移動パラメーターを指定
	vptype_rotate        2   回転パラメーターを指定
	vptype_scale         3   スケールパラメーターを指定
	vptype_3dmatrix      4   4×4マトリクスによる座標変換
	vptype_2d            5   2D座標変換を設定
	vptype_3d            6   3D座標変換を設定

vptype_2dは、基本的な2D座標変換を適用します。
パラメーター1~3で、X,Yのスケール(倍率)、回転角度(ラジアン単位)を設定することができます。

	viewcalc vptype_translate, 移動X, 移動Y
	viewcalc vptype_2d, スケールX, スケールY, 回転角度(ラジアン)

vptype_3dは、3D空間上にマッピングして描画を適用します。
移動、回転、スケールそれぞれのX,Y,Z値を指定することができます。

	viewcalc vptype_translate, 移動X, 移動Y, 移動Z
	viewcalc vptype_rotate, 回転X, 回転Y, 回転Z
	viewcalc vptype_scale, スケールX, スケールY, スケールZ
	viewcalc vptype_3d, カメラ角度(FOV), NearZ値, FarZ値

vptype_3dmatrixは、4×4の行列(マトリクス)を指定して座標変換を行います。
ユーザー自身でマトリクスを作成する場合に使用することができます。
4×4のm00~m33までのパラメーターを以下のように指定します。

	viewcalc vptype_translate, m00, m01, m02, m03
	viewcalc vptype_rotate, m10, m11, m12, m13
	viewcalc vptype_scale, m20, m21, m22, m23
	viewcalc vptype_3dmatrix, m30, m31, m32, m33

viewcalc命令を設定した以降の描画に、座標変換が適用されます。
画面の初期化時は、座標変換なし(vptype_off)が設定されています。
vptype_3d及びvptype_3dmatrixにより変換設定した場合は、マウスの座標を正しく取得することができなくなるので注意してください。

関連項目

posカレントポジション設定
mesメッセージ表示

サンプル逆引き (1)

viewcalc.hsp

情報

プラグイン / モジュールHSP3Dish
バージョン3.6
作成日2020/06/10
著作者onitama
URLhttp://hsp.tv/
備考hsp3dish.asをインクルードすること。
タイプ拡張命令
グループ拡張入出力制御命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hsp3dish.hs