実現したいこと
Unityで、スペースキーを押したらカメラがMainCameraからSubCameraに切り替わるようにしたい。
テレビであるような1カメ、2カメのようなイメージ。
発生している問題・分からないこと
SubCameraにスクリプトをアタッチしているが、そもそもvoid Update()内の処理が実行されない
該当のソースコード
CameraControll.cs
1 2using UnityEngine; 3using System.Collections; 4using UnityEngine.InputSystem; 5using System.Collections.Generic; 6public class CameraControll : MonoBehaviour 7{ 8 9 private GameObject mainCamera; //メインカメラ格納用 10 private GameObject subCamera; //サブカメラ格納用 11 12 13 14 //呼び出し時に実行される関数 15 void Start() 16 { 17 //メインカメラとサブカメラをそれぞれ取得 18 mainCamera = GameObject.Find("MainCamera"); 19 subCamera = GameObject.Find("SubCamera"); 20 Debug.Log("サブカメラのスクリプトチェック"); 21 //サブカメラを非アクティブにする 22 subCamera.SetActive(false); 23 24 } 25 26 27 //単位時間ごとに実行される関数 28 void Update() 29 { 30 Debug.Log("void Update処理開始"); 31 var current = Keyboard.current; 32 if (current == null) 33 { 34 Debug.Log("異常終了"); 35 // 現在のキーボード情報 36 // キーボードが接続されていないと 37 // Keyboard.currentがnullになる 38 return; 39 } 40 // spaceキーの入力状態取得 41 var spaceKey = current.spaceKey; 42 43 44 45 //スペースキーが押されている間、サブカメラをアクティブにする 46 if (spaceKey.isPressed) 47 { 48 //サブカメラをアクティブに設定 49 mainCamera.SetActive(false); 50 subCamera.SetActive(true); 51 Debug.Log("カメラのSpaceキーが押された!"); 52 } 53 else 54 { 55 //メインカメラをアクティブに設定 56 subCamera.SetActive(false); 57 mainCamera.SetActive(true); 58 } 59 } 60}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
void Update内のSetActiveが悪さをしているのかと思い、コメントアウトしてみるも効果なし。
補足
Unity6.1(6000.1.13f1)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2025/09/07 03:55