本日は cluster の技術調査枠です。
cluster の自作ワールドを作成してアップロードする手順を記事にします。
その5はアセットを使ったワールドのカスタマイズです。
前提条件
前回記事の続きになります。
bluebirdofoz.hatenablog.com
AssetStore
AssetStore では Unity で利用できる3Dモデルやスクリプトを購入することができます。
中には無料で利用できるものもあり、手軽にワールドの素材を手に入れることができます。
assetstore.unity.com
今回はクリスマスも近いので以下のクリスマスに関する小物と部屋が含まれる無料アセットを利用することにしました。
assetstore.unity.com
AssetStoreからのインポート
実際に AssetStore から素材を取得してみます。
Unity プロジェクトを開いて[Asset Store]画面を開き、Unity アカウントでログインします。
先ほどの[Christmas Decoration Props]を検索して、アセットのページを開きます。
ページを開くと[Import]ボタンが表示されるので、これをクリックします。
アセットを未ダウンロードの場合は[Download]ボタンが表示されるので先にダウンロードを実行してください。
[Import Unity Package]ダイアログが表示されるので、[Import]ボタンをクリックします。
これでワールドの素材を取得することができました。
[Christmas Decoration Props]アセットは Assets/ChristmasScene フォルダ配下に素材がインポートされます。
取得した素材の利用
では取得した素材をワールドに配置してみます。
Assets/ChristmasScene/Assets/Prefabs フォルダ配下に様々な小物や部屋のプレハブが用意されています。
この小物を[Scene]画面にドラッグすると、ワールドに小物を配置することができます。
配置後は小物を選択した状態で、軸をドラッグするか、Inspector ビューのトランスフォームを変更することで位置や大きさを調節できます。
完成品のプレハブの利用
[Christmas Decoration Props]アセットには Map.prefab という部屋と小物を組み合わせたプレハブも含まれています。
今回は手っ取り早くこちらを利用してワールドを作成してみます。[Scene]画面にドラッグして配置します。
Tips
以下のようにプレハブ配置時、[Layer]が[UI]の一部のスクリーンなどが座標に関わらず前面に表示されることがあります。
原因は不明ですが、シーンを一度再生すると正しい描画順に修正されます。
・配置直後
・シーン再生後
配置した Map オブジェクトのトランスフォームを変更して位置や大きさを調節します。
[Hierarchy]上の Map オブジェクトの位置はそのままでも問題ありませんが、Environment 配下にまとめた方が後々の管理がしやすいです。
Map オブジェクトを Environment 配下にドラッグして移動しておきます。
床オブジェクトの削除
元々の床オブジェクトは不要なので削除します。
[StaticObjects]と[Colliders]内のオブジェクトを削除すると、床の見た目とアタリ判定を削除できます。
Map プレハブの床には予めアタリ判定(Collider)が設定されているので、元々の床のアタリ判定を削除しても問題ありません。
アタリ判定(Collider)の追加
Map プレハブの床にはアタリ判定(Collider)が設定されていますが、壁には設定されていません。
このため、このままだと壁をすり抜けて移動出来てしまいます。
これを防ぐため、壁にもアタリ判定(Collider)を設定してみます。
Wall オブジェクトの Inspector ビューを開き、[Add Component]をクリックします。
[BoxCollider]を検索して、[Box Collider]コンポーネントを追加します。
追加された緑枠のアタリ判定が壁と同じ形になるよう調整します。
ここでは[Center X:0, Y:0, Z:0]、[Size X:1, Y:1, Z:1]で同じ大きさになるようになります。
これで壁を突き抜けないようになりました。
全ての Wall オブジェクトに同じように BoxCollider を設定して完了です。
これで部屋の中を自由に歩き回れるワールドが作成できました。
次回はライティングとスカイボックスの設定を行ってワールドの見え方を更に調整していきます。
bluebirdofoz.hatenablog.com