ステージの作成
2026/7/3
キャラクターが完成しついにゲーム制作!
と思ったがキャラクターを歩かせる床がないことに気がついた。
とりあえず真っ白な四角い床でもいいのだが、それだとキャラクターが画面に映ったときの色合いや見やすさが調整できないと思ったので仮でもそれっぽい床の上に立たせたい。
・アセットの利用
宇宙船内部については探せばいくらでもアセットがあるのではないかと思い、少し探してみたのだが正直めんどくさくなった。
アセットを利用するとなると利用規約などを確認しなければならないが、その際に配布サイト、素材の双方が英語だと見落としがない確証がもてなかった。
また、異なるアセットや自作素材と並べたときの質感の違いをうまく吸収できないとチグハグ感が出て途端にゲームのクオリティが下がる気がしたが、望んだイメージのアセットはそうそう見つかるものではない。
いくつかのアセットを見てところ、床や壁が一定サイズのモジュールになっているのを見てなるほどと感心した。これならユーザーが好きに並べるだけで色々な形のダンジョンが作れる。
あまり凝ったアセットはキャラクターが浮いてしまいそうなので、ローポリ寄りのアセットを探してみるとモデル自体はかなりシンプルな作りでも本格的な背景に見えるアセットがいくつもあった。
しかしイメージぴったりのものがなかなかない中で、意外と自分でも作れそうだなという気がしてきたためステージも作ってしまうことにした。
・通路のモデリング
舞台となる宇宙船のもっとも一般的な通路を作成する。
床と壁、天井、柱を分けて作成し、これらを並べることで簡単にステージを広げられるようにしたい。
直線通路の場合と曲がり角の場合で天井と柱は変えたほうがいいと考えたため、これらは2種類作成する。
通路の幅は少し迷った。広すぎるのはイメージと違うのだが様々なアクションゲームを参考にすると思っているより結構広い。
ChatGPTにも聞いてみたが、やはりイメージよりもかなり広い通路を提案された。

結局自分のイメージを優先し、サイズは4.8m四方に決定。
作成中はサイズ感がわかりやすいよう人間の代わりに1.6mの楕円を置いたが、今思えば普通に人を置けばよかった。
服装のときと同じく様々な作品や実際の宇宙船、基地、研究室、学校、工場などの通路を参考にしながらシンプルにパーツ数が少なくてもそれらしく見える「必須パーツ」と思えるようなものを考えていく。

あくまでテスト用の仮通路ができればいいのでいくつかの簡単な装飾をしたら完成とするつもりだったが思った以上に高見えするものができた。
3Dプリンタでものを作るのと勝手が近いのもあるが、シンプルな作りや単純なマテリアルが許される世界観設定にしたのが功を奏したのかもしれない。
画像テクスチャは使用しておらず、表面の色はすべてBlenderで色や質感を設定しただけのマテリアルでできている。
見栄えのする通路の完成は嬉しい誤算だった。これでようやくゲーム制作がはじめられる。
・天井の作成
ここから先は実際にはゲームがある程度動くようになってから作ったのだが、分けるのも変なのでここに一緒に書いてしまうことにする。

今回のゲームではおそらくステージが外側から見られることはないため、天井や壁はペラペラの面だけで作っている。
中央部分の黒いパネルははじめもっと金属質で明るい色味だったのだが、実際のゲーム画面で見るとライトが反射して鬱陶しかったり色が掠れて現実味のないデザインに見えたりとかなりイメージが違った。
マテリアルの質感や色はライティングなどの影響で見え方がかなり違う、ゲームで使う素材の場合はBlender上でのマテリアルの数値は仮決めと思ってさっさと実際の画面に持っていくのがいい気がする。

蛍光灯のカバーは後に別メッシュに分けた。
ゲーム内でこの部分を光らせたかったのだが、光源処理は負荷が高いため実際にライトとして機能させるのではなく「光る素材」に設定することで光っているように見せるといいらしい。

BlenderではなくGodotEngineでの話になるが、メッシュのMaterial OverrideにStandardMaterial3Dというのを指定しEmissionの項目をオンにすると、マテリアルが光るようになる。

これは光って見えるだけで発光しているわけではなく、他の物体を照らす力はないようだ。
リアルな影の描写を必要とする場合でなければすべての光る物体を光源にする必要はなく、電光掲示板や電源ランプなどはメッシュを分けておけばこういう方法で光っているように見せられるようだ。