本日はApple枠です。
先日は ARKitの機能を使用して顔を検知しました。
この際にiPhoneに表示されるカメラの向きはインカメラ(スクリーン側)を使用していましたが、今回は動的にスクリプトでアウトカメラに切り替える方法を紹介します。
〇環境
基本的には先日と同じです。こちらの記事を参考にしてください。
〇スクリプト
今回はこちらのスクリプトを書きました。
UIなどからToggleCamera()
メソッドを呼んで使用します。
using UnityEngine; using UnityEngine.XR.ARFoundation; public class CameraFacingDirectionController : MonoBehaviour { private ARCameraManager arCameraManager; void Start() { // ARCameraManagerを取得 arCameraManager = FindObjectOfType<ARCameraManager>(); if (arCameraManager != null) { // 初期はインカメラを有効にする arCameraManager.requestedFacingDirection = CameraFacingDirection.User; } } public void ToggleCamera() { if (arCameraManager != null) { // カメラの向きを切り替える if (arCameraManager.requestedFacingDirection == CameraFacingDirection.User) { arCameraManager.requestedFacingDirection = CameraFacingDirection.World; } else { arCameraManager.requestedFacingDirection = CameraFacingDirection.User; } } } }
ARカメラの情報はUnityEngine.XR.ARFoundation
のネームスペースを使用できます。
arCameraManager.requestedFacingDirection=CameraFacingDirection.World
この処理によってWorld(外カメラ)およびUser(内側カメラ)を切り替えています。
本日は以上です。