Last Updated 2024.12.06
Unityの自作ゲームで使用するステージを、Blenderで作った際の記録です。
作り方がイメージしやすかったので、今回は
「現実は がむしゃらに来るし」っぽいステージを自作してみます。
パーツを作る
まず床を作ります。
円のメッシュを追加して、大きさや頂点数に任意の値を入力。
中央には模様を入れたいので、(テクスチャーの歪みやジャギを抑えるため)大きめに面を取り、残りの部分はフィルで面張りしていきました。
次に塀を作ります。
掘の基礎部分は平べったく設定した円筒を拡げ、あとでも細かい調整が出来るよう
《ソリッド化モディファイアー》で厚みをつけます。
また、スケール感を把握するために "キャラクターに近い大きさ" の円柱を目安として設置しておきます。自分の場合、高さ1.6m、幅0.5mくらいに設定しました

特徴になる堀の凹凸は、基盤となる大きさのブロックを1つ設置し
《 Array(配列) モディファイアー 》を使って配置します。
設定としては、”中央に空のエンプティ" を設置し──
「オフセット(OBJ)」欄に、それを参照するように設定。
※「オフセット(倍率)」と「一定のオフセット」のチェックは外して下さい。
あとは『エンプティの回転』の値で、配置間隔を調整できます。
円状に囲む場合は、360を綺麗に割り切れる値が無難ですね。

大まかな形が出来たところで、いったんFBX形式で出力し、Unityでサイズ感を確認してみます。
はじめてにしては……というのが率直な感想ですが、思ったより狭く、ブロックも自分がイメージしてるより間隔が開いていたので、気になった部分を修正していきます。やっぱり目視確認は大事ですね。
細部を作り込む
全体のサイズ感が決まったら、残りの部分を作ってマテリアルを設定していきます。
今回は試作だったので門は大まかに作り、テクスチャーは床のみ設定しました。
▲床の模様のテクスチャーは、普段使いのペイントソフトで制作しています。
FBX形式でエクスポート
マテリアルの設定まで終わったら、《FBX形式》でエクスポートします。
※自分が問題なく移植出来た際の出力設定です
・《対象》の《可視オブジェクト》にチェック
・ステージ背景なので、メッシュのみ選択
・トランスフォーム欄の設定は画像を参照
画像赤枠部分をチェックしないと、各オブジェクトのスケール感がUnity上でおかしなことになるのでチェックを入れます。
※具体的には、Transformの《Scale》の値が1になってなかったり、オブジェクトの向き(Rotationの値)がおかしなことになったりします。
テクスチャー画像は、Unityでモデルデータを放り込むフォルダーと『同じ場所』に入れておくと自動適用されるので、この段階でコピーして移植しておきましょう。
あとは、出力したFBXファイルをUnityに持っていけばOKです。
Unity上での設定
背景として扱う『動かないモデル』をオブジェクトとして設置する際には
インスペクター欄の右側にある《Static》を、忘れずにチェックしておきます。
"動かないオブジェクトとして扱う" ことで、描画負荷の軽減 に繋がるみたいです。
動作確認
▲Unityでテスト確認の様子
※今回はお試しのため、塀と門のマテリアルは未設定
本当はSKYBOXまで変更したものを上げたかったのですが、無料アセットの範囲だと自分のイメージに合ったものが見つけられませんでした……ここも自作するしかないのかしらん?
おわりに
この数か月、結構な時間をかけてBlenderの使い方を学んでいたのは、キャラクター制作だけでなく、こういったこともある程度出来るようになりたかったんですよね。
クオリティはさておき、やっぱり自分の手とイメージでアウトプット出来た方が、最終的には早いし、「納得」も「妥協」もできそうかなと。形状、構造、ポリゴン数……等、全て自分で管理、把握できるのは、大きなメリットだと思いますし。
なにより、ステージって『世界観を視覚的に表現できる』重要部分ですから、ここをテンプレートに依存するのは単純に勿体ないと思うんですよね。
身の丈に合わない理屈をこねてるのは重々承知ですが、そういった事情込々での試みでした。
出来たものはまだまだ拙いですけど、一連の作業を経て、また気付いたことや現在の問題点、新しく試したいことも増えました。引き続き、学習と開発を続けていけたらと思います。
