質問: お邪魔します。表題の通り、あるシーンでメインカメラとサブカメラを切り替え、ボタンによりまた戻ってくる動作をしたいのですが、切り替えはできても元に戻す動作ができません。 理由が全く分からず困っております。アドバイス、どうぞよろしくお願いいたします。 問題のコードです。 ``` public void PushButtonBackArea() { subCamera.SetActive (false); mainCamera.SetActive (true); } ``` ・カメラはpublic変数でどちらもアタッチ済み。 ・当スクリプト内で、逆(サブカメラのSetActive(true);,メインカメラのSetActive(false);)は動作します。 ・また、コンポーネントのenabledでも試しましたが同様の結果です。 どうぞよろしくお願いいたします。
回答: 質問の意図はわかりますが、もう少し詳細があった方が確実な回答ができるので、スクリプトの全文を載せて欲しいです。 今の内容からわかる程度の回答をします。 メインカメラとサブカメラが同じシーン上にあって、どちらかが非アクティブの状態で、カメラの切り替えをしたいということでよろしいでしょうか? まず、自分の方でも試してみました。以下のようなヒエラルキーになっています。 MainCameraとSubCameraにはCameraコンポーネント以外には特にアタッチしていません。 !ヒエラルキー 以下のスクリプトを任意のオブジェクトにアタッチしてシーン上に出し実行したところ問題なく動作しました。 ``` public class switcher : MonoBehaviour { public GameObject mainCam; public GameObject subCam; // Start is called before the first frame update void Start() { mainCam.SetActive(true); subCam.SetActive(false); } // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.G)) { mainCam.SetActive(!mainCam.activeSelf); subCam.SetActive(!subCam.activeSelf); } } } ``` 補足: Unity 2018.3.0f2における動作です。環境が違う場合はその旨を追記してください。