Shotを使って対象が障害物に隠れないカメラに自動的に切り替える方法をまとめました。Shotという機能について説明します。Cameraの設定方法は本記事では説明しません。これらは以下の記事にまとめていますので、必要に応じて参照してください。Cameraという機能の一つです。Shotを使うと対象が障害物に隠れた時に、いい感じに映せる別のカメラに切り替えるカメラワークを実装できます。Colliderの機能を使っています。この機能については次の記事で説明しているので必要に応じて参照してください。Cameraを選択します。Cameraが一つ作られます。Cameraは必要なだけ複製し、それぞれ位置やターゲットを設定しておきます。Obstaclesにチェックを入れておきます。Colliderの細かい設定については次の記事を参照してください。light11.hatenadiary.comこれでひとまず、あるカメラの対象が障害物に隠れたら別のカメラに切り替わるようになります。ついでにカメラの切り替え時にアニメーションするように設定しておきます。Blendから指定できます。Outとかにして秒数を指定しておきます。これでカメラが切り替わるときにアニメーションするようになりました。Blendsを使うともっと細かく遷移を指定することもできます。これについては次の記事を参照してください。遷移先のカメラの候補(つまり障害物の影響を受けないカメラ)が複数あった場合はどれが選ばれるのでしょうか。このようなケースではカメラのPriorityと並び順が使われます。優先されるのがPriorityです。対象が見えているカメラの中で最もPriorityの高いカメラが選択されます。その上で、もしPriorityが同じカメラがある場合には並び順がより上にあるカメラが選択されます。Choiceにチェックを入れるとPriorityが同じときに並び順ではなくランダムで選択されるようです。Colliderをアタッチしています。Objectに一つだけアタッチすればOKです。CameraにこのColliderがアタッチされたのと同様の挙動になります。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。インストールから基本的な使い方・注意点まとめ【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。