Ninjaライブラリ - ビュー関数

njRotateViewXYZAbsolute

ビューの視線をXYZの各軸を中心にして回転(絶対的な回転)

書式

void njRotateViewXYZAbsolute( *v, angx, angy, angz )
NJS_VIEW *v
Angle angx
Angle angy
Angle angz

引数

*vビュー構造体のポインタ
angxX軸に対しての回転角度(絶対値)
angyY軸に対しての回転角度(絶対値)
angzZ軸に対しての回転角度(絶対値)

戻値

なし

解説

ビューの視線をX、Y、Zの各軸を中心にして絶対的に回転させます。 回転はX軸、Y軸、Z軸の順番で掛かります。

用例

(0, 0, 3000)に位置し、(0, 0, -1)(画面奥)に向いているビューを位置をそのままに、
視線だけ基の向きからX、Y、Zの各軸を中心にしてそれぞれ30度、60度、90度回転させます。
#define VIEW_APX 0.f
#define VIEW_APY 0.f
#define VIEW_APZ 3000.f
#define VIEW_AVX 0.f
#define VIEW_AVY 0.f
#define VIEW_AVZ -1.f
#define VIEW_AROLL 0
NJS_VIEW v;
v.apx = VIEW_APX;
v.apy = VIEW_APY;
v.apz = VIEW_APZ;
v.avx = VIEW_AVX;
v.avy = VIEW_AVY;
v.avz = VIEW_AVZ;
v.aroll = NJM_DEG_ANG(AVIEW_ROLL);
njRotateViewXYZAbsolute(&v, NJM_DEG_ANG(30), NJM_DEG_ANG(60), NJM_DEG_ANG(90));
njSetView( &v );

備考

引数 v が NULL の場合にはカレントビューを対象とします。

参照

njSetView()

njRotateViewXYZAbsolute
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998