IshidaGames【UnityC#講座】Cameraをターゲットに向かせる、画面を分割する、切り替えるTweetnoteで管理人イシゲーのゲームの思い出記事を100円で公開しました。今回からUnity2017でやっていきます。やることはシンプルなことなのでおそらくはバージョンの違いは関係ないと思います。Camera」を作ってください。■動かす物体の準備Cameraで映す動く物体を作りましょう。CubeとC#スクリプトを出してください。ScriptCubeのPositionはXYZすべて0にしておいてください。スクリプトの名前はわかりやすくCubeにしました。次はスクリプトを書きます。boolにしたのは後で他のClassから参照できるようにするためです。無事に動いたでしょうか?スクリプトをCubeにセットしたら、HierarchyのそれをProjectのAssetsの欄にドラッグ&ドロップしてPrefabにしてください。■Cameraが動く物体を追うようにするまずは空のオブジェクトとC#スクリプトを作ります。EmptyC#スクリプトはさきほどと同じやり方です。名前はどちらも「FaceTo」にしてください。それからスクリプトを書きます。CameraをHierarchyから同じ要領でセットしてください。注意点はAssetsのCubeを入れると上手く動かないのでHierarchyのもの使います。ScenesでこのSceneを保存してください。名前はCamera01など適当なもので構いません。asでこのSceneのコピーを使います。名前は適当にCamera02にでもしてください。as次は新たにCamraを3つ出します。CameraCameraはHierarchyの上から順に位置とサイズを変えていきましょう。Xが横軸の位置、Yが縦軸の位置を決め、WはWidthで幅、HがHighで高さを決めます。スポンサーリンクセットできたら再生してみてください。4つの画面で動くCubeを見ることができます。Consoleを見るとこのようなメッセージが出ているでしょう。Componentで削除してください。Listenerはパソコンから音を出すためのものです。これで上手く行くはずです。これだとみんな同じ背景で分かりにくいのでそれぞれの画面の背景を変えましょう。このアセットをダウンロード&Importしてください。次に各CameraにSkyboxコンポーネントを追加します。Skyboxにダウンロードした画像を入れます。使えるのは各フォルダの左端の画像だけです。するとこのようにCameraごとに別々の背景を持たせることができます。■Cameraを切り替える次はスクリプトでCameraを切り替えます。Scenesしてから新しいScene「Camera03」を作ってください。Sceneできたら次のようにしてください。1.HierarchyにAssetsにあるPrefabのCubeをドラッグ&ドロップします。Listenerをオフにする。Cameraの位置と向きは以下の通りにしましたが厳密に再現する必要性はありません。3.からのオブジェクト「CameraSwitch」を作る。4.C#スクリプト「CameraSwitch」を作る。5.CameraSwitchオブジェクトにCameraSwitchスクリプトをセットする。これまで紹介した方法でできるはずです。CubeオブジェクトのCubeスクリプトにアクセスし、そこから常にswitching変数のデータを取り続けます。Cameraはenabledのtrueかfalseで表示・非表示を切り替えます。スクリプトが書けたらCameraSwitchのInspectorに2つのCameraをセットしましょう。Cameraで下が後で出したCameraです。CubeはHierarchyに出したものをセットしてください。無事に切り替わったでしょうか。先ほどはCameraごとに背景を変えましたがそれ以外にもSceneごとに変える方法もあります。Materialにセットしてください。すると一度に全てのCameraの背景が変わります。■Cameraを重ねるついでにCameraを重ねる場合ですが、InspectorのDepthの数字が大きい方が手前に来ます。それで重ねるとこんな感じ。映像の明るさが違うのは向いている方向が違うからです。それでは今回はこれで終わります。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。