「平面のScratchで、どうやって立体っぽく見せるの?」「レイキャスティングという言葉を見て、そこで止まってしまった」――そんな方向けに、Scratchで3Dゲームを作る方法を、基礎から順番に整理しました。
「どんな仕組みで3Dに見えるのか」「どこから手を動かせばいいのか」「どこからが難しくなるのか」が分かるように説明します。お子さんと一緒に3D迷路などに挑戦したい方にも役立ちます。
- Scratchの3Dが立体っぽく見える基本の仕組みを理解できる
- 遠近法やz座標の考え方を使った3D表現のコツが分かる
- レイキャスティングを使った本格的な3Dゲームの流れを学べる
- 子どもと一緒に安全に3Dゲーム制作を楽しむポイントを押さえられる
先に全体の見通しをお伝えします。この記事は、やさしい順に「遠近感だけの3D風」→「ペンで壁を描く方法」→「レイキャスティング」と進みます。むずかしそうに見えるのは最後のレイキャスティングだけなので、最初の2つだけでも、十分に「3Dっぽい作品」は作れます。途中でわからなくなったら、そこで一度止まって遊んでみても大丈夫です。

Scratchで3Dを作る基礎|立体に見える仕組み
ここでは、そもそもなぜScratchで3Dっぽく見せられるのか、どんな種類の3D表現があるのかを整理します。いきなり難しいレイキャスティングに飛び込む前に、「2Dの世界で3Dに見せるコツ」をしっかり押さえておきましょう。
Scratchの3Dゲームが立体に見える仕組み
まずは、3Dゲームの仕組みから見ていきましょう。Scratchの画面は、基本的にx座標とy座標だけの2次元です。ここに、遠近感や重なり順などをうまく組み合わせることで、「あたかも3D」に見せていきます。
一番よく使うのが、遠近法を使った大きさの調整です。奥にあるものは小さく、手前にあるものは大きく見えるように、スプライトの「大きさ」や「位置」を変えていきます。たとえば、キャラクターが画面の奥に歩いていくときは、y座標を変えながら少しずつサイズを小さくしていくと、それだけで立体感がぐっと増します。
Scratchのブロックでいえば、「大きさを( )%にする」と「y座標を( )ずつ変える」の2つを、同じ「繰り返す」の中に並べるだけで試せます。たとえば、「y座標を1ずつ変える」と同時に「大きさを0.5ずつ変える」を入れると、キャラクターが遠ざかっていくように見えます。数字は作品に合わせて調整してください。
さらに、レイヤー(前後関係)も大事です。キャラクターのスプライトを前面に、床や背景になるスプライトを背面に配置することで、「どちらが手前でどちらが奥か」を視覚的に分かりやすくできます。「最前面へ移動する」「最背面へ移動する」といった、見た目カテゴリのブロックが使えます。これらを組み合わせた表現が、いわゆる「なんちゃって3D」の入り口です。
ポイント:最初から難しいレイキャスティングを狙う必要はなく、遠近感や大きさの変化だけでも、子どもにとっては立派な3Dゲーム体験になります。
ペン機能で3Dを描くときの要点
次に、ペンを使った描画についてです。ペン機能は、「線を素早くたくさん描く」のに向いているので、レイキャスティングで壁を描くときや、3Dっぽいグラフや地形を描写するときによく使います。ペンのブロックは、画面左下の「拡張機能を追加」ボタンから「ペン」を選ぶと使えるようになります。
ペンブロックでできること
スクラッチのペンブロックを使うと、スプライトの通り道に線を残せます。3D風に使う場合は、画面の左から右へ、1本ずつ縦線を引いていくイメージが近いです。線の長さや太さ、色の明暗を変えることで、手前の壁は太く・明るく、奥の壁は細く・暗く、といった表現が可能になります。
高速化のちょっとしたコツ
ペンを使った3D作りでよくある悩みが、「動作が重くてカクカクする」というものです。線を毎フレーム描き直すので、どうしても処理が多くなります。そういうときは、「再描画せずに実行」を活用して余計な描き直しを減らしたり、画面の解像度(線の本数)を少し減らしたりすると、軽くなることが多いです。「再描画せずに実行」は、自分で作る「ブロック定義」の設定で選べます。
ペンを使った描画は、Scratch本体よりも高速に動かせる環境(TurboWarpなど)と相性が良いです。ゲームが重くて悩んでいる場合は、Scratch ターボワープで高速化!初心者でもできる使い方と注意点もチェックしておくと、制作の幅が広がります。

レイキャスティング入門|光線で壁までの距離を測る
レイキャスティングは、本格的な3Dゲーム(とくに迷路やダンジョン、FPS風のゲーム)を作るときによく使われるテクニックです。聞き慣れない言葉ですが、やっていることは「目の前に何があるかを、光線で調べているだけ」と考えるとイメージしやすくなります。
レイキャスティングのイメージ
プレイヤーの位置をスタート地点として、「前方に向かってまっすぐ光を飛ばす」イメージです。その光(レイ)が、ミニマップ上の壁にぶつかるまで前進させ、ぶつかった地点までの距離を測ります。この距離が、実際の画面上の「壁の高さ」になります。
これを画面の左から右へ、少しずつ角度を変えながら繰り返すと、「手前の壁は高く・奥の壁は低く描かれた、一人称視点の3D画面」が出来上がるわけです。Scratchの3D表現の中でも、最も“3Dらしさ”を感じられるテクニックと言っていいと思います。
難易度と取り組み方
ただし、レイキャスティングは計算が多く、いきなり小学生が一人で組むには少しハードルが高めです。最初は、「完成プロジェクトを分解して真似する」スタイルで学ぶのがおすすめです。コードの全てを理解していなくても、角度や距離を変えながら遊んでみるだけで、「こうすると視点が動くんだ」という感覚がつかめます。
レイキャスティングは処理が重くなりやすいため、パソコンの性能やブラウザによってはカクつくことがあります。あくまで一般的な目安として、線の本数を減らしたり、マップを小さめにしたりしながら、お子さんのPC環境に合った設定を探してみてください。Scratchの仕様は変わることがあるので、くわしい最新情報はScratchの公式サイトでご確認ください。
z座標の管理方法|変数で奥行きを作る
スクラッチには、もともとz座標がありません。そこで登場するのが、z座標を「変数」で自作するという発想です。奥行きの情報を変数に持たせることで、遠近感や重なり順をコントロールしやすくなります。
z座標を自分で作る
やり方はシンプルで、「z座標」という名前の変数を作り、キャラクターやオブジェクトが手前に来るときは数値を小さく、奥に行くときは大きくするなどのルールを決めます。そのz座標の値に応じて、スプライトの大きさや明るさ、表示順を変えることで、立体的な印象を作るわけです。
たとえば、マップ上を動き回るブロックをたくさん並べたい場合、各ブロックに「自分のz座標」を持たせておき、プレイヤーに近いものから順番に表示するようにすると、「手前にあるブロックが前に見える」自然な画面になります。
z座標と当たり判定
もうひとつのポイントが、当たり判定との組み合わせです。プレイヤーのx・y・z座標と、壁や障害物の座標を比較して、「これ以上前に進めない」というルールを作ることで、壁抜けを防げます。ゲームとしての遊びやすさに直結する部分なので、少し時間をかけて調整してみてください。

マインクラフト風の3D表現|ブロックを積む見せ方
マイクラ好きな子に大人気なのが、マインクラフト風のブロック表現です。ここでは、本物のマイクラのような完全な3Dではなく、「ブロックを積み上げているように見える2.5D表現」を目指していきます。
等角図(アイソメ)でブロックを配置
マインクラフト風に見せるためによく使われるのが、等角図(アイソメトリックビュー)です。斜め上から見下ろしたような角度で、x・y・zを斜め方向にずらしながらブロックを配置していきます。ブロック1つを1つのスプライトにして、z座標に応じて表示位置を少しずつずらすと、積み上がっている感じが出てきます。
ブロック管理のコツ
ブロックを1つずつスプライトにすると数が多くなりがちなので、「クローンを使ってブロックを増やす」手法が便利です。リストにマップデータ(どの位置にどのブロックがあるか)を保存し、その内容を読み込みながらクローンを生成していくと、マイクラ風のフィールドを効率的に描画できます。
マインクラフト風の3Dを作るときは、「いきなり巨大なワールドを作らない」ことも大事です。最初は小さな部屋や1画面分のマップから始めて、うまくいったら少しずつ広げると、動作が重くなりすぎず、親子ともに挫折しにくくなります。

最初の1本はどれ?難しさの目安
ここまで紹介した方法を、やさしい順に並べておきます。迷ったときの目安にしてください。
- やさしい:大きさとy座標を変える遠近法、前後の重なり順
- ふつう:z座標を変数で作る、マインクラフト風の2.5D表現
- むずかしい:ペンとミニマップを使うレイキャスティング
はじめてのお子さんには、「やさしい」から始めるのがおすすめです。うまく動いたときの「できた!」という気持ちが、次の挑戦につながります。「むずかしい」に進むときも、完成した作品を分解して、少しずつ数字を変えて試してみると、あきらめずに続けやすいです。
Scratchで3Dゲームを作る応用|レイキャスティングの流れ
ここからは、3D作りの中でも少しステップアップした応用テクニックをまとめていきます。ミニマップの作り方、レイキャスティングの光線処理、ペンによる陰影表現、当たり判定との組み合わせまで、一通りの流れが分かるように整理していきます。
ミニマップの作り方と使い方
レイキャスティング系の3Dゲームでは、ミニマップが土台になります。ミニマップとは、ゲーム画面とは別に用意する小さな2Dマップのことで、壁や通路を「色」で表現しておきます。レイ(光線)は、このミニマップ上を移動しながら壁との距離を調べます。
ミニマップの作り方
やり方としては、「背景として描く方法」と「専用のスプライトで作る方法」があります。背景にドット絵風のマップを描いておき、壁の部分を真っ黒、通路を白にしておけば、レイが黒い部分に触れた瞬間に「壁に当たった」と判定できます。スプライトで作る場合は、1マス1スプライトにして並べる方法もあります。Scratchの「(色)に触れた」ブロックを使うと、この判定ができます。
ミニマップを表示するかどうか
ミニマップは、プレイヤーに見せてもいいし、見せずに「裏方専用マップ」として使ってもOKです。ゲーム性を重視するなら、画面の端に小さく表示しておくと、「どこを歩いているのか」が分かりやすくなり、迷子になりにくいというメリットがあります。
光線処理の流れ|レイを1本ずつ動かす
次に、光線処理の流れを整理してみます。レイキャスティングは言葉だけ聞くと難しそうですが、実際には「レイを1本ずつ動かす」単純な処理の積み重ねです。
レイを1本ずつ動かす手順
基本的な手順は以下の通りです。
- プレイヤーの位置と向いている角度を用意する
- 画面の左端から右端まで、少しずつ角度を変えたレイを用意する
- レイ用スプライトを少しずつ前進させ、ミニマップ上の壁の色に触れたら止める
- 移動距離を記録して、距離リストに保存する
この距離リストが、後でペン描画をするときの「壁の高さの元データ」になります。距離が短いほど手前の壁、長いほど奥の壁として扱うイメージです。
処理を軽くする工夫
レイを細かくしすぎると、どうしても処理が重くなります。最初は、画面の解像度を少し荒めに設定して、「スムーズに動く気持ち良さ」を優先してみてください。慣れてきたら、少しずつレイの本数を増やして画面の滑らかさを上げていくと良いです。

陰影の調整とペンの活用|距離で明るさを変える
レイキャスティングで距離を測れるようになると、次は「どうやってきれいな3D画面に見せるか」という話になります。ここで活躍するのが、ペンを使った陰影表現です。
距離に応じた色と明るさ
距離リストの値を使って、遠い壁ほど暗く、近い壁ほど明るく描くようにすると、一気に立体感が出ます。具体的には、距離が大きいほど色の「明るさ」エフェクトを下げたり、透明度を上げたりするイメージです。
また、縦線の太さを距離によって変えると、さらに奥行きの感覚が強くなります。手前の壁は太めの線、奥の壁は細い線にすると、視覚的なメリハリが出ます。
床や天井の表現
さらにこだわりたい場合は、床や天井の色も距離に応じてグラデーションさせることができます。ただし、ここまでやると計算と描画の負荷が増えるので、最初は壁だけに集中し、余裕が出てきたら少しずつ追加していくのがおすすめです。
色や明るさの調整は、見た目の好みも大きく影響します。同じプロジェクトでも、子どもごとに「かっこいい」と感じる配色が違うので、親子で一緒に試行錯誤する時間も楽しんでみてください。
当たり判定とz座標の考え方
3D風ゲームを作っていると、必ずぶつかるのが当たり判定です。z座標を使ったり、レイキャスティングで距離を測ったりすると、当たり判定も少し特殊な考え方になりますが、基本は2Dゲームと同じです。
ミニマップを使った当たり判定
シンプルな方法としては、プレイヤーが進もうとしている先のマスを、ミニマップ上で確認するやり方があります。次に進む予定の位置が「壁の色」だったら、その方向への移動をキャンセルする、というルールを入れておけば、壁の中にめり込むことを防げるわけです。
z座標と段差表現
z座標を使うと、「段差」や「高さ」のような表現もできます。たとえば、あるマスだけz座標が高く設定されている場合、そのマスにはジャンプ中でないと乗れないようにする、といったルールを作ることができます。
当たり判定を複雑にしすぎると、コードが一気に分かりにくくなり、バグも増えやすくなります。あくまで一般的な目安として、「前後左右のシンプルな判定から始める」「斜め方向は慣れてから追加する」といった段階的な設計を意識してみてください。
うまくいかないときの見直しポイント
- 壁の中にめり込む → 進む前に、先のマスの色を確かめているか見直す
- 画面がカクカクする → レイの本数を減らす、マップを小さくする、TurboWarpで試す
- 壁がゆがんで見える → 距離をそのまま高さにしていないか、角度の補正が必要か確認する
お子さんのプログラミングの学び方に迷っている方へ
「もっと本格的に学んでみたい」と感じるお子さんもいます。そんなときの選択肢として、オンラインのプログラミング教室があります。教室選びで失敗したくない方は、プログラミングスクールを選ぶときの注意点も先に読んでおくと安心です。
ITeens Lab(小学生〜高校生向けのオンライン教室)は、公式サイトでScratchやUnityなどを双方向のライブ授業で学べると紹介されており、90分の無料体験が案内されています。内容や料金は変わることがあるため、最新情報は公式サイトでご確認ください。
Scratchの3D作りで迷わないためのステップ集のまとめ
ざっくり振り返ると、「2Dの世界でどうやって3Dに見せるか」を考えるのがScratchの3Dの本質だと思います。
遠近法やz座標の考え方を使ったシンプルな3D風表現から始めて、ミニマップやレイキャスティング、ペンによる陰影表現へとステップアップしていくと、少しずつ本格的な3Dゲームに近づいていけます。途中でつまずいても、コードを全部理解しようとせず、「動かしてみて感覚をつかむ」くらいの気持ちでOKです。
また、より高度な表現を目指したくなったら、Scratch ModやTurboWarpをうまく活用するのも一つの方法です。たとえば、Scratch Modって何?子どもでも使えるパワーアップ版やScratch ターボワープで高速化!初心者でもできる使い方と注意点のような情報を組み合わせると、3D作りの幅がぐっと広がります。
最後に大事なのは、「必ずしも完璧な3Dを目指さなくていい」ということです。あなたとお子さんが楽しみながら、少しずつ立体表現にチャレンジできていれば、それだけでプログラミング学習としては大成功だと私は思います。仕様や最新の情報はScratchの公式サイトでご確認いただき、お子さんが使うときは、公開やアカウントまわりの設定を保護者の方もいっしょに見ておくと安心です。楽しく、安全に、3D作りを一緒に磨いていきましょう。

