シーンビューの視点を良いところにもってきて、定点のメインカメラを選択します。
GameObject -> Align With View をクリックするとメインカメラからの視点がシーンビューの視点と同じになります。
メインカメラを非アクティブにします。
スタンダードアセットのFPSコントローラをシーンに配置します。
FPSコントローラはアクティブです。
空のゲームオブジェクトを作ってスクリプトを追加します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gameScript2 : MonoBehaviour
{
public GameObject mainCamera;
public GameObject player;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.F))
{
mainCamera.SetActive(!mainCamera.activeSelf);
player.SetActive(!player.activeSelf);
}
}
}
メインカメラとFPSコントローラをアタッチします。
Fキーを押すと、カメラが切り替わります。
定点カメラがアクティブのときは、FPSコントローラを動かせません。
定点カメラの映像を見ながらFPSキャラクターを動かせるようにする
ヒエラルキーウィンドウのFPSコントローラの横の三角形のマークをクリックすると、FirstPersonCharacterが畳まれていることがわかります。
今度はFPSコントローラではなく、FirstPersonCharacterに付いたCameraコンポーネントだけをオンオフしてみます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gameScript2 : MonoBehaviour
{
public GameObject mainCamera;
public GameObject player;
public GameObject playerHead;
Camera playerHeadCamera;
// Start is called before the first frame update
void Start()
{
playerHeadCamera = playerHead.GetComponent<Camera>();
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.F))
{
mainCamera.SetActive(!mainCamera.activeSelf);
// player.SetActive(!player.activeSelf);
playerHeadCamera.enabled = !playerHeadCamera.enabled;
}
}
}
定点カメラがアクティブのときも同じようにFPSキャラクターを動かせます。