スポンサーリンク

Unity実習15、カメラを動かしてみよう

二週間くらい前の話ですが、KONAMIが出していた「3Dゲームの壁際カメラ」の特許が失効しましたね
プレイヤーが壁に背を向けた時、カメラが壁を透視して常にプレイヤーの背中を見ていられるとかそんな感じの
モンハンだと訳の分からない位置にカメラが飛んでったり
PSO2だと変なところには行かないものの、カメラと近くなりすぎてプレイヤーが透明になったり?
色々と不便でしたが良くなるんですかね
※画像は拾い物※
e0f061a4.png

今回はそんなカメラについてやっていきます

前回キャラクターをクリックで自由に動かせるようになりました
でもこのままだとゲームのカメラが動かなくて、遠くに行かれると見失ってしまう!
というわけでカメラにも移動してもらいましょう

まずは、UNIDRA_DATA/Data/MainGame/Script/Chapter7にある FollowCamera.cs をAssets/Scriptにインポート
HierarchyのMainCameraを選択して、Inspectorに取り付けます
SnapCrab_Chapter7_2016-5-30_16-8-10_No-00.png

SnapCrab_Unity Personal (64bit) - GameSceneunity - UNIDRA - PC Mac Linux Standalone DX11_2016-5-30_16-9-53_No-00

スクリプトのLook Targetのところに、HierarchyからPlayerをドラッグ&ドロップ
SnapCrab_Unity Personal (64bit) - GameSceneunity - UNIDRA - PC Mac Linux Standalone DX11_2016-5-30_16-12-34_No-00

試しに動かしてみると、キャラクターを追尾するようになっていますが、視点が低いので調整します
スクリプトの Offset のYの値を 1.5 にします
そうすれば、キャラクターの頭くらいの位置に上がって自然に
SnapCrab_Unity Personal (64bit) - GameSceneunity - UNIDRA - PC Mac Linux Standalone DX11_2016-5-30_16-16-47_No-00

スクリプトでは、カメラの位置を
カメラ位置 = 追従対象の位置+ずらし幅
で出しています、他回転する際の仕組みは多数の新語乱立で頭がいたいのでカット
ちなみに、壁際までカメラが来ても、カメラは壁をすり抜けていく感じです
コナミのあれみたいなね

処理順序を変える
キャラが移動した後にカメラ位置を計算するとカメラはしっかりキャラに追従するけど、カメラ位置を計算した後にキャラの移動処理を行うと、カメラは1フレーム遅れて追従していってしまう!
ということでその辺りの順番を、Unityで設定するそうな

メインメニューから、Edit > Project Settings > Script Execution Orderを選択
SnapCrab_Unity Personal (64bit) - GameSceneunity - UNIDRA - PC Mac Linux Standalone DX11_2016-5-30_16-28-34_No-00

InspectorにMonoManagerなるものが現れます
これのDefaultTimeに、FollowCamera と InputManagerの2つのスクリプトをドラッグ&ドロップ
その後、InputManagerをDefaultTimeよりも上になるようにドラッグして移動させます
数字の小さいものほど先に計算されるそうな
SnapCrab_Unity Personal (64bit) - GameSceneunity - UNIDRA - PC Mac Linux Standalone DX11_2016-5-30_16-30-57_No-00

ゲームを起動してマウスを上下左右にドラッグしてみてください
ちょっと反応が悪いような気もしますが
カメラが回ります

これでカメラの設定は終わり
移動しながらあちこち見回せます

ただ、この移動方法と視点操作は流行らないですね

次回は「プレハブ化と敵の設定」
ようやく謎だった「プレハブ化」の意味が分かりそうです
関連記事

Leave a Reply


管理者にだけ表示を許可する

Comment

Leave a Reply


管理者にだけ表示を許可する