これをカメラに使っています
library.Camera = function Camera(PosX, PosY, PosZ, Pitch, Yaw){
this.x = PosX;
this.y = PosY;
this.z = PosZ;
this.pitch = Pitch;
this.yaw = Yaw;
this.getCameraMatrix = function(ModelMatrix){
var TMatrix = ModelMatrix;
mat4.translate(TMatrix, TMatrix, [this.x, this.y, this.z]);
mat4.rotateX(TMatrix, TMatrix, degToRad(this.pitch));
mat4.rotateY(TMatrix, TMatrix, degToRad(this.yaw));
return TMatrix;
};
};
移動は問題なく動作し、回転も少し動作します。問題は、マウスによる回転が常に原点を中心に回転することです。したがって、左に移動して (-x ) 回転を開始すると、カメラは現在のポイントではなく、原点を中心に回転します。