カメラを回す

ボタン処理

function OnGUI(){
...
  if (GUI.Button(Rect(4 , 4, 42, 42), "<<")){
    Debug.Log("Left");
  }else if (GUI.Button(Rect(Screen.width - 46, 4, 42, 42), ">>")){
    Debug.Log("Right");
  }
}
 今回はボタンを押すと回転するようにします。
 2D 処理を強化するAssets が Store にいろいろありますが、ボタンだけなので備え付けのもので作っています。

回す

  Camera.main.transform.RotateAround(Vector3.zero, Vector3.up, 90);
 RotateAround 命令を使い基準を定めて回転させています。
 第一引数に中心点、第二引数に回転軸、第三引数に回転量を指定します。
 今回は中心 Y 軸周りに回転するよう指定しました。

光源補正

 初期状態ではカメラの後ろに光源が置いてあります。
 よって、180度回転すると逆光になりオブジェクトが暗くなります。
 現実ではありえませんが、ゲームなので光源をカメラに追随させることにしました。
 以上でゲームシステムはおしまいなので、プレイヤーをわくわくさせるようなステージ作りができればゲーム完成となります。