3D横スクロールアクションのステージ作りについて【Unity】

今回は、横に伸びていくステージ作りについて考えていきます。

横スクロールなんで当然横長のステージになるわけですが、何もない平面なステージだと面白味がないので仕掛けを作りましょう。

このゲームはステージ制を予定しているので、ある程度のステージを用意するつもりです。

今回はいわゆる「ステージ1」を作るので、飛びぬけて難しくしないようにします。

スポンサーリンク

横長ステージの作り方について(デザイン編)

テクスチャの設定

まずは、真っ白なTerrainにテクスチャの設定から行いましょう。

テクスチャの設定

Terrainを選択して「Paint Texture」を選択。

「Edit Terrain Layers…」→「Create Layer…」を開いて床にしたいテクスチャを選びましょう。

私は「GrassLockyAlbedo」を下地にして「GrassHillAlbedo」を所々にペイントしたいと思います。

テクスチャを設定した床

こんな感じになりました。好きなテクスチャを設定してもらえればと思います。

複数のTerrainを使う場合の注意点

横スクロールアクションの場合は、マリオのように動く床など複数の床を配置しないといけません。

そうなってくると床を複製しますよね。ここで1つ問題が発生します。

普通にTerrainを選択して「Duplicate」を選択すると、同じようなステージを複製出来ます。

しかし、コピーした床の幅を変更しようとすると、元のTerrainのWidthまで変更されてしまいます。

違う幅の床を作るためにコピーしたのに、元データまで変更されると困るので、コピーした床のデータのみを変更するようにします。

Terrainを別データで複製

対象となるTerrainを選択した状態で「Terrain Collider」のTerrain Dataに設定されている「New Terrain」を複製します。

複製したTerrainをシーンビューに配置

複製された「New Terrain」をヒエラルキーウィンドウにドラッグ&ドロップすればOKです。

見た目の違うステージ

これで、コピーしたステージのみ設定が反映されるようになります。

この小さな地形上手く利用してステージを難しくしましょう。

ステージ1のイメージ

基本的にUnityちゃんがジャンプして着地出来る位置に配置するようなイメージですかね。

それにしても、特定の条件でなのか何も操作していないのにUnityちゃんがその場でゆっくりと回転する現象がよく分からない。

これまではこのような事は起きなかったけど、ジャンプして別のTerrainに移動したときに回りだしたり回らなかったり。

見た目の違和感があるだけで操作に影響はないですが、原因が分かり次第対処したいと思います。