目次 このページのソースコードを表示
公開日:
更新日:

ここでは, CameraControllerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • パラメータの説明
  • タイプの説明

パラメータの説明

パラメータ
パラメータ

attacheObjectPlayer

一人称モード(PlayerMode)のときに参照されるオブジェクト名です。

attacheObjectObserver

三人称モード(ObserverMode)のときに参照されるオブジェクト名です。

layerMaskCollider

コライダー判定で使われます。
ここでチェックをつけたレイヤーのコライダーが検知されます。チェックをしなかったものは無視されます。

distanceFromCollider

コライダーに衝突したときコライダーととる距離です。小さすぎると壁を抜ける可能性があります。

escapeFromTrap

本来の位置と現在の位置の最大距離。
本来の位置と現在の位置の距離がこの値を上回るとカメラは強制的に壁抜けをして本来の位置に戻ります。壁と壁の隙間に挟まってカメラが本来の位置に帰れなくなったときなどに有効です。

autoAvoidCollider

チェックをつけるとカメラは自動でコライダーを避けます。

positionType

カメラの位置設定

PLAYER

AttacheObjectPlayerで設定されたGameObjectの位置にカメラが移動します。

OBSERVER

AttacheObjectObserverで設定されたGameObjectの位置にカメラが移動します。

STATION

StationObjectで設定されたGameObjectの位置にカメラが移動します。

CUSTUM

CameraPositionで設定された位置にカメラが移動します。

rotationType

カメラの方向設定

PLAYER

AttacheObjectPlayerで設定されたGameObjectのforward方向にカメラが向きます。

OBSERVER

AttacheObjectObserverで設定されたGameObjectのforward方向にカメラが向きます。

STATION

StationObjectで設定されたGameObjectのforward方向にカメラが向きます。

CUSTUM

CameraPositionで設定された方向にカメラが向きます。

GAZE

TargetGameObjectGazeで設定されたGameObjectの方向にカメラが向きます。

homingTypePosition

カメラの位置移動の際の補間設定

DIRECT

カメラが現在の位置からある位置へ移動するとき直接その位置へ移動します。

LERP

カメラが現在の位置からある位置へ移動するときその間が線形補完されます。

SLERP

カメラが現在の位置からある位置へ移動するときその間が曲線補完されます。

homingTypeRotation

カメラの方向移動の際の補間設定

DIRECT

カメラが現在の方向からある方向へ向くとき直接その方向へ向きます。

LERP

カメラが現在の方向からある方向へ向くときその間が線形補完されます。

SLERP

カメラが現在の方向からある方向へ向くときその間が曲線補完されます。

homingPosition

HomingTypePositionでLERP,SLERPが設定されているときに参照される補間値です。
この値が大きいほど迅速に指定した位置にカメラが移動します。

homingRotation

HomingTypeDirectionでLERP,SLERPが設定されているときに参照される補間値です。
この値が大きいほど迅速に指定した方向にカメラが向きます。

station

StationModeのときに参照されるGameObject。

target

AutoAvoidColliderが有効のときに参照されるGameObjet。
このGameObjectがカメラの視野に入るようにカメラが移動します。

gazeAt

GazeModeのときに参照されるGameObject。

cameraRoatation

CustumModeのときに参照される方向ベクトル。

cameraPosition

CustumModeのときに参照される位置ベクトル。

タイプの説明

概要

ここではこのCameraFollowで使われているタイプ―PLAYER, OBSERVER, STATIONなど―を説明します. 主にどういうときに使うのかを説明します. 用途に分けて説明します.

一人称ゲーム

  • positionType = PLAYER
  • rotationType = PLAYER

FPSなどにむいています.
キャラクターの目の位置に新しくGameObjectを作成しその名前を’attacheObjectPlayer’に入力してください.

三人称ゲーム(Playerに追従)

  • positionType = OBSERVER
  • rotationType = OBSERVER

主人公がゲーム画面に映るようなゲームにむいています.
キャラクターのGameObjectの下にCameraPoint―カメラの位置―としてGameObjectを作成しその名前を’attacheObjectObserver’に入力してください.

三人称ゲーム(定点カメラ)

  • positionType = STATION
  • rotationType = STATION; GAZE

定点カメラを用いたゲーム―初代バイオハザードのようなゲーム―で使用するとよいでしょう.
カメラを設置したい位置にあたしくGameObjectを作成し’station’に登録してください.
rotationTypeをGAZEに設定しGazeAtにPlayerを設定すると, 常にPlayerを向くようにカメラが回転します. 主人公の位置に基づいて定点カメラを切り替えるためのスクリプトを新たに作成する必要があります.

アニメーション

  • positionType = STATION
  • rotationType = STATION

ゲーム中でイベントが開始した際のカメラワークで使用するとよいでしょう.
UnityのAnimationを用いてあるGameObjectを移動させ, そのObjectをStationに設定します.
こうすることでイベント実行時カメラはそのObjectの動きに従います.

「https://contentsviewer.work/Master/Unity/UsageCameraController」から取得