Dripです。
YNOさん、こんにちは。3Dゲームのオブジェクト回転系は戸惑いやすい分野のひとつだと思います。
hgimg3の回転系では、Y軸が地球で言う自転軸にあたり、Z軸を傾かせた状態で回転させると
波打つような回転になります。
(つまり、カメラのZ軸を傾けただけでは、常にZ軸が傾いた表示を行えません。
Z軸を傾けた状態でY軸を回転させた場合、
Y軸が1.5708rad度傾いた状態ではZ軸角度がそのままX軸角度になったような表示に、
Y軸が3.1416rad度傾いた状態ではZ軸角度が反転したような表示になります。)
//このサンプルも参考にしてみてください。
#include "hgimg3.as"
#define max 32
screen 0,640,480,0,10,10
hgini
addbox box,5,5
repeat max
regobj tmp,box
setpos tmp,sin(6.2832/max*cnt)*50,0,cos(6.2832/max*cnt)*50
loop
setpos HGOBJ_CAMERA,0,0,0
selang HGOBJ_CAMERA:objset1 2,0.4
hgdraw
hgsync
dialog "この表示状態をよく覚えておいてください。"
repeat 157
objadd1 1,0.01
hgdraw
hgsync 15
loop
dialog "Y軸が1.5708rad度傾いた状態ではZ軸角度がそのままX軸角度になったような表示に見えます。"
repeat 157
objadd1 1,0.01
hgdraw
hgsync 15
loop
dialog "Y軸が3.1416rad度傾いた状態ではZ軸角度が反転したような表示に見えます。"
hgbye
end
少しわかりにくいかもしれませんが、じっくり考えてみてください。
また、以前hgimg3の回転系について交わされた記事がありますので、よろしければご覧下さい。
http://hsp.tv/play/pforum.php?mode=all&num=1090
尚、hgimg3には注視点座標のY座標が反転する不具合が含まれているバージョンがありますので、
最新版をご使用ください。