2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Unity】3D出来ない人が2.5Dっぽいゲームマップを作る

2
Last updated at Posted at 2026-09-21

はじめに

3Dが出来ないけど、3Dゲームを作りたいという人向けです。
2.5Dといえば、2.5HDみたいなゲームを次のツクールは作れるっぽいですね。
おーすげーって思いながら、自分で使うことはなさそうだけど…。

私は3Dは作れるけど、blenderに持ってってunityに連携してっていうのが面倒くさいタイプ。
フォトショで画像編集して、スプライトで力技で動かしてます。

image.png

こんな感じのマップになります。
2Dスプライトを3Dっぽく表示してるだけですね。
そこに3Dのアセットで小物を配置すると良い感じになります。

image.png

スプライトの表示テストですが、左から3Dアセットの木、スプライトの石、ドット絵の木って感じ。
採取できるアイテムはなんぼ見やすくもいいからね。
でもそんなに違和感もなく使えると思います。

タイルパレットの追加

タイルパレットは2Dと作り方は同じです。私はこのアセットを使ってます。
2D Hand Painted系のを使ってます。種類いっぱいあって使い勝手良いです。

image.png
まず2Dオブジェクトからタイルマップ追加します。

image.png
縦になってるので、回転に90を入れましょう。

image.png
このXを0にしたら壁として使えます。
カメラを見ながら位置調整していきます。

image.png

適当にマップを書き込んだら、カメラの角度を30~40にします。
ついでに後ろの壁も合わせて角度~10くらいにすると自然な感じになります。
このマップを書き込むって作業がタイルマップだと3Dに比べて圧倒的に楽なんですよね。
高低差の表現は難しいんですけど。

オブジェクトの追加

次は3Dのオブジェクトを置いてそれっぽくしていきます。
私が使ってるアセットはkaykitさんのものです。なんか丸っこくてかわいい。

image.png

適当に置いてみました。
ただこのままだと2Dマップに3Dの影は投影されないので、マテリアル設定をしていきます。
(元々は私Angleってアセット使ってて、これだと2Dスプライトの影も全部投影してくれてたのに、unity6のアプデでマテリアルが全部ピンクになって、アセットの対応もなくて全部使えなくなっちゃったんだよね!!:rage:)

マテリアル設定

image.png

こんな感じのマテリアルを適用してあげると、影が表示されます。
ただ、上の草とかはマップレイヤー変えてるんですが、微妙に埋もれて表示されなくなるので、Y軸を0.1とかにしてあげましょう。

ちなみに橋はちょっと高低差があって、このままだと登れません。
橋には"Deck"ってタグが付けてあるんですが、

void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Deck"))
    {
        onBridge = true;
    }
}
void OnTriggerExit(Collider other)
{
    if (other.CompareTag("Deck"))
    {
        onBridge = false;
    }
}

onBridgeってのを切り替えて、

private float bridgeY = 0.5f;

    targetPos.y = onBridge ? bridgeY : baseY;
    bool movingToBridge;
    movingToBridge = Mathf.Abs(rb.position.y - targetPos.y) > 0.01f;

    if (movingToBridge)
    {
        rb.constraints = RigidbodyConstraints.FreezeRotation;
    }
    else
    {
        rb.constraints =RigidbodyConstraints.FreezeRotation | RigidbodyConstraints.FreezePositionY;
    }

Y軸固定解除、位置+0.5f、みたいなことをやってあげてます。

スプライト追加

次はスプライトでオブジェクトを足していきます。
絵を描ける人はここで力を発揮すると個性あるマップに出来るんじゃないかなー。
スプライトはpsbファイルで作って、skinningEditorとかで光らせたり動かしたりすると2.5Dマップぽくていい感じになります。

image.png

スプライトは必ずここのテクスチャタイプをスプライト(2DとUI)にしましょう。
ツクールとかのキャラチップを想像すると分かりやすいと思うんですけど、高さがあるスプライトは分割して、下部分にコライダーを付けて、上部分はキャラの上に表示するようにレイヤーを変えてあげるといい感じになります。

スプライトの影が投影されない問題は力技で解決していきます。

image.png

影っぽいタイルチップを描いて、置いていきます。
花の下の部分も描いておきます。
置いた部分に合わせてスプライトを動かしていい感じにします。

サンプル完成

test.gif
ということで、こんな感じのマップが出来上がります。

ちなみに通行禁止とかは2Dだったら一気に出来るんですが、私はコライダーを確認しながら透明な壁を作っていくことしか出来ない…。
もっと楽な方法あるのかなー。


👉 次の記事 【Unity】キャラチップをskinningEditorで動かす

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?