【unity】3D脱出ゲーム作成_その1

3D脱出ゲーム

初投稿になります。unity(2021.3.3f1)で仕掛け4つ程で小規模な3D脱出ゲームを作成していきます。

probuilderでステージ作成

3Dでプロジェクトを作成しましたが、何もない状況です。最初のシーンをroom1として保存し、まずはここからステージ(部屋のアウトライン)を作成しようと思います。当初はキューブや平面やらを作成してそれを繋ぎ合わせていたのですが、合計10個程度のオブジェクトになり煩雑でかなり面倒でした。悩んでネットで調べてみると3Dモデリングツールを使うと簡単だという事でそちらにシフトしました。

3Dモデリングツールは無料ではblenderが一番人気のようですが、やや複雑そうなのでunity内部で使用できるprobuilderで作成しようかと思います。最終的にはこのような1つのオブジェクトを作成しました(出口ドアは仕掛けを考えている為次回以降作成)。

probuilder使用にあたっての留意点

・複雑なモデリングには向かない・一部試験運用の機能がある為バグに注意(今回は使用しません)。

probuilderの導入手順は省きます。バージョン 5.0.4(最新)使用。

まず ツール>ProBuilder>ProBuilderWindow で作成準備を行います。私は操作しやすいのでタブをインスペクターウィンドウの隣に移動させて切替え可能にしました。又、シーンビューにボックス(図3上部)が出現する様になります。

左上のNewShapeから新規のオブジェクトを作成します。テキストモード(図1)が使いにくい場合はアイコンモード(図2)に切り替え可能です。多角形柱やドーナツ型など様々ありますが、今回はキューブを選択しこれを部屋にしていきます。ちなみにキューブは当然3Dオブジェクト>キューブからも作成できますが、ProBuilderizeを押せばNewShapeから作成と同様に編集できます。

オブジェクト作成後、ボックスから選択しオブジェクトの対象部分を選択する事で、様々な編集を行えます。まず図3の初期状態では外側からの編集しか出来ないので、FlipNormalsをクリックし図4の状態にします(内側からみるとちゃんと全面壁になってます)。その後特定の面を選択(図5)すると、図1→図6の様にProBuilderWindowが面編集用に変化します。今回は主に面編集だけで済むので他は触れません。

図1:テキストモード
図2:アイコンモード
図3:全体_頂点_辺_面
図4:FlipNormals
図5:面選択
図6:図5の状況のProBuilderWindow

↓内部からの視点です。面編集無しでも一応部屋ではあるのですが、ここから・柱の配置・入り口の配置・マテリアルの詳細設定を行います。

 天井面を選択後→SubdivideFacesで面を分割します(MergeFacesは逆に統合)。分割後の1面を選択して個別分割も可能です。3回押して64分割になりました。

 マテリアル設定はオブジェクトのモデル完成後が良いですが、面選択→MaterialEditorにて面ごとに行えます(シーンビューの面に直接ドロップしても可)。MaterialEditorの画面にてマテリアルをセット→Applyを押すだけです。よく使うマテリアルをMaterialPaletteに仕込んでおくこともできます。

 柱を造るには面選択→ExtrudeFacesが簡単です。プラスで面を押し出しマイナスで面を引っ込めます。ExtrudeFacesの隣の+を押すと微調整できます。commandを押しながらで面を複数選択できますので4隅を選択して高さ分均等に押し出せば柱の完成です。

 入口は面選択→DeleteFacesで面を消すのが手っ取り早いです。面選択の範囲をSubdivideFacesで調整しようと思いましたが、なぜか綺麗な分割とはならず(恐らく壁面と接する天井面を先に分割した為勝手に調整された)、より柔軟なCutToolにて分割しました。難点としてフリーハンドで分割(ハサミアイコンで面上に点を指定し繋ぐ)するので、直線を引けません。

 入口のみならDeleteFacesで完了ですが、いずれドアを作成する時CutToolで分割したサイズのオブジェクトを作成するのは困難です。そこでDetachFacesを使い消すのではなく切り抜きをしました。ついでに切り抜いたオブジェクトからさらに外側を切り抜き、ドア枠を作成しました。ドア枠を部屋の切り抜き部分に戻したらオブジェクトのモデルは完成です。

 貼り付けるマテリアルは自作でもunityアセットストアからでもなんでもいいと思います。私は見分けがつくので床面のみ自作の変な絵をマテリアル変換(新規マテリアル作成→shaderをDiffuseに変更→画像貼り付け)し、後はグレー色のマテリアルにしました。

 補足になりますが、扱い易さの観点からドア枠部分を部屋部分にくっつけた後両オブジェクト選択→MargeObjectsでオブジェクトを部屋部分に統合しました。部屋部分と扉部分をプレハブに保管しておきます。

面全体
分割後1つを選択
4隅を押し出し
×天井面の分割面から影響
CutToolを使用
切り抜き部分は別オブジェクト
ドア枠は押し出しで厚み
ドア枠を設置

これでステージは完成しました。次回はカメラセッティング(主観)を行う予定です。

(12/4追記)部屋オブジェクトのサイズScaleは(20,10,20)としています。

コメント

タイトルとURLをコピーしました