#Input.GetAxisの("Mouse X")と("Mouse Y")が具体的にどういうものなのかをググったけど、当たり前過ぎて?良い記事が見つけられなかったので実験してみる。
###イメージ
マウスで取得される値は、こんな感じで変わるはず。
void Update()
{
//もしも、右クリック押し中だったら
if (Input.GetMouseButton(0))
{
//"Mouse X"の移動量を変数rotX変数に封じ込める
float rotX = Input.GetAxis("Mouse X");
//"Mouse X"の値を「x」座標に代入
transform.Rotate(rotX, 0.0f , 0.0f);
Debug.Log(rotX);
}
}
むむむ?
左はマイナスで右はプラスだけど
左右に動かすと上下に動くぞ
左右に動かすと、、、マウスのx方向(左右)を取得してるのは間違えなさそう
上下に動かしているこの文章を
transform.Rotate(rotX, 0.0f , 0.0f);
こうなんやろーな
transform.Rotate(0.0f, rotX , 0.0f);
####Input.GetAxis("Mouse X")で取得したマウスの値は、transform.RotateXY入れ替える。これ重要。。
ちなみに、yも同じことをすると、、、
void Update()
{
//もしも、右クリック押し中だったら
if (Input.GetMouseButton(0))
{
float rotY = Input.GetAxis("Mouse Y");
//"Mouse X"の値を「x」座標に代入
transform.Rotate(rotY, 0.0f , 0.0f);
}
}
いい感じです。
両方、xとyを合体してもいい感じでした。
void Update()
{
if (Input.GetMouseButton(0))
{
float rotX = Input.GetAxis("Mouse X");
float rotY = Input.GetAxis("Mouse Y");
transform.Rotate(rotY, rotX, 0.0f);
}
}
###まとめ(何を覚えたか?)
・マウスの取得イメージ図は、なんとなく正しかった。
・Input.GetAxis("Mouse X")で取得したマウスの値は、transform.Rotateでxyを入れ替える。
・Update関数で毎回更新で使う。start関数などでは難し。
・動きが早くなりがちなので、変数をかけてあげて使う方がよさそう。
・Windowsでgifを作るのはめんどくさい。