Unity2017.4.1f1
Windows10
□
今回からUnity2017でやっていきます。
やることはシンプルなことなのでおそらくはバージョンの違いは関係ないと思います。
まずはプロジェクト「The Camera」を作ってください。
■動かす物体の準備
Cameraで映す動く物体を作りましょう。
CubeとC#スクリプトを出してください。
Hierarchy > Create > 3D Object > Cube
Project > Create > C# Script
CubeのPositionはXYZすべて0にしておいてください。
スクリプトの名前はわかりやすくCubeにしました。
次はスクリプトを書きます。
public boolにしたのは後で他のClassから参照できるようにするためです。
さて無事に動いたでしょうか?
スクリプトをCubeにセットしたら、HierarchyのそれをProjectのAssetsの欄にドラッグ&ドロップしてPrefabにしてください。
■Cameraが動く物体を追うようにする
まずは空のオブジェクトとC#スクリプトを作ります。
Hierarchy > Create > Create Empty
C#スクリプトはさきほどと同じやり方です。
名前はどちらも「FaceTo」にしてください。
それからスクリプトを書きます。
FaceToスクリプトをFaceToオブジェクトにドラッグ&ドロップし、そのInspectorにCubeとMain CameraをHierarchyから同じ要領でセットしてください。
注意点はAssetsのCubeを入れると上手く動かないのでHierarchyのもの使います。
さてCameraは動くCubeを追うようになったでしょうか?
■画面を4分割する
次はSave ScenesでこのSceneを保存してください。
名前はCamera01など適当なもので構いません。
File > Save Scenes
それからSave Scene asでこのSceneのコピーを使います。
名前は適当にCamera02にでもしてください。
File > Save Scene as
次は新たにCamraを3つ出します。
Hierarchy > Create > Camera
CameraはHierarchyの上から順に位置とサイズを変えていきましょう。
CameraのInxpectorにあるViewport Rectで変えます。
Xが横軸の位置、Yが縦軸の位置を決め、WはWidthで幅、HがHighで高さを決めます。
スポンサーリンク
セットできたら再生してみてください。
4つの画面で動くCubeを見ることができます。
しかし、Consoleを見るとこのようなメッセージが出ているでしょう。
それはCameraのInspectorのAudio Listenerが複数あることが原因なのでひとつひとつチェックボックスを外すか右端の歯車マークからRemove Componentで削除してください。
Audio Listenerはパソコンから音を出すためのものです。
これで上手く行くはずです。
でもこれだとみんな同じ背景で分かりにくいのでそれぞれの画面の背景を変えましょう。
まずこのアセットをダウンロード&Importしてください。
次に各CameraにSkyboxコンポーネントを追加します。
Inspector > Add Component > Skybox
SkyboxコンポーネントのCustom Skyboxにダウンロードした画像を入れます。
使えるのは各フォルダの左端の画像だけです。
するとこのようにCameraごとに別々の背景を持たせることができます。
■Cameraを切り替える
次はスクリプトでCameraを切り替えます。
Save Scenesしてから新しいScene「Camera03」を作ってください。
File > New Scene
できたら次のようにしてください。
1.HierarchyにAssetsにあるPrefabのCubeをドラッグ&ドロップします。
2.2つ目のCameraを出してAudio Listenerをオフにする。
Cameraの位置と向きは以下の通りにしましたが厳密に再現する必要性はありません。
3.からのオブジェクト「CameraSwitch」を作る。
4.C#スクリプト「CameraSwitch」を作る。
5.CameraSwitchオブジェクトにCameraSwitchスクリプトをセットする。
これまで紹介した方法でできるはずです。
そしてスクリプトはこちら。
CubeオブジェクトのCubeスクリプトにアクセスし、そこから常にswitching変数のデータを取り続けます。
Cameraはenabledのtrueかfalseで表示・非表示を切り替えます。
スクリプトが書けたらCameraSwitchのInspectorに2つのCameraをセットしましょう。
上がMain Cameraで下が後で出したCameraです。
CubeはHierarchyに出したものをセットしてください。
さて、無事に切り替わったでしょうか。
先ほどはCameraごとに背景を変えましたがそれ以外にもSceneごとに変える方法もあります。
Window > Lighting > Settings > Skybox Material
またGalaxyBox 2.0から画像を選んでSkybox Materialにセットしてください。
そうすると一度に全てのCameraの背景が変わります。
■Cameraを重ねる
ついでにCameraを重ねる場合ですが、InspectorのDepthの数字が大きい方が手前に来ます。
それで重ねるとこんな感じ。
映像の明るさが違うのは向いている方向が違うからです。
それでは今回はこれで終わります。
■関連記事
【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】
スポンサーリンク