-3
わかりましたので、私は2台のカメラはユニティに私の階層に設定している:ゲーム内の、どのように私は両方のカメラを切り替えることができたとき、私が知りたいのです 特定のキーを押すと、カメラを簡単に切り替えることはできますか?
は、特定のキーが押されたとき?私はおそらくこれのためのスクリプトを作成する必要があるだろう、私はそれをやって行くことについて行くだろうか分からないことを認識しています。わかりましたので、私は2台のカメラはユニティに私の階層に設定している:ゲーム内の、どのように私は両方のカメラを切り替えることができたとき、私が知りたいのです 特定のキーを押すと、カメラを簡単に切り替えることはできますか?
は、特定のキーが押されたとき?私はおそらくこれのためのスクリプトを作成する必要があるだろう、私はそれをやって行くことについて行くだろうか分からないことを認識しています。あなたはこれを助けることができる複数のカメラ
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour {
// Use this for initialization
public Camera[] cameras;
private int currentCameraIndex;
// Use this for initialization
void Start() {
currentCameraIndex = 0;
//Turn all cameras off, except the first default one
for (int i=1; i<cameras.Length; i++)
{
cameras[i].gameObject.SetActive(false);
}
//If any cameras were added to the controller, enable the first one
if (cameras.Length>0)
{
cameras [0].gameObject.SetActive (true);
Debug.Log ("Camera with name: " + cameras [0].GetComponent<Camera>().name + ", is now enabled");
}
}
// Update is called once per frame
void Update() {
//If the c button is pressed, switch to the next camera
//Set the camera at the current index to inactive, and set the next one in the array to active
//When we reach the end of the camera array, move back to the beginning or the array.
}
public void Change()
{
currentCameraIndex ++;
Debug.Log ("C button has been pressed. Switching to the next camera");
if (currentCameraIndex < cameras.Length)
{
cameras[currentCameraIndex-1].gameObject.SetActive(false);
cameras[currentCameraIndex].gameObject.SetActive(true);
Debug.Log ("Camera with name: " + cameras [currentCameraIndex].GetComponent<Camera>().name + ", is now enabled");
}
else
{
cameras[currentCameraIndex-1].gameObject.SetActive(false);
currentCameraIndex = 0;
cameras[currentCameraIndex].gameObject.SetActive(true);
Debug.Log ("Camera with name: " + cameras [currentCameraIndex].GetComponent<Camera>().name + ", is now enabled");
}
}
}
非常に基本的な質問ですが、いくつかのC#チュートリアルに行く必要があります。
いずれにせよ、これは可能です。
if (Input.GetKeyDown("space"))
{
//don't forget to set one as active either in the Start() method
//or deactivate 1 camera in the Editor before playing
if (Camera1.active == true)
{
Camera1.SetActive(false);
Camera2.SetActive(true);
}
else
{
Camera1.SetActive(true);
Camera2.SetActive(false);
}
}
を追加することができます:Updateメソッドでこれを入れてhttp://answers.unity3d.com/questions/63221/how- to-set-main-camera.html – Keiwan
誰かがあなたのためにスクリプトを書くのを待つだけで、何も学ぶことはありません。あなたは何かを持っている必要があります。少なくとも、メインのカメラを変更するためのコードの別の簡単な行をキーボードから読み取るための単純なif文。ちょうどGoogleの "統一チェンジメインカメラ" – Programmer