陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)

陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)
グリフパッチ(動画)
ok-scratch(執筆)

和訳解説は動画作者のグリフパッチさんご本人から許可をいただいて掲載しております。
チャンネルはYOUTUBE ( by griffpatch )からどうぞ。

3D空間にシャドーを作って、立体感を際立たせていく一歩上を目指すテクニックを紹介する。
スターター
プロジェクト
リミックス用プロジェクトへ
難しさ

任意)自分の作業中のスクラッチ作品URLを記録しておこう!再開するときに便利だよ。

LOADING...

※ この記録は今使ってるPCに保存されます。別のPCで作業するときは表示されません。

スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。

ゴンザレスからゲームクリエイターへの挑戦(ちょうせん)(じょう)

(かべ)のスキマはなくなったけど、(とお)くまで見晴(みは)らしが()すぎて(てき)から丸見(まるみ)えってことにピコが()づいたみたい。これは、()()にはいいけどこっそり潜入(せんにゅう)する(がわ)としては(こま)ったね。よし、ここは(ひと)自然(しぜん)(くら)さを演出(えんしゅつ)するために(かげ)(つく)っていこう。

今回(こんかい)目標(もくひょう)自然(しぜん)陰影(いんえい)《いんえい》をつける」

(いま)は3D空間(くうかん)均一(きんいつ)(ひかり)()らされているような状態(じょうたい)になっている。それはそれでいいんだけど、今回(こんかい)自然(しぜん)陰影(いんえい)発生(はっせい)するようにしていきたい。でも(かげ)なんてどうやって(つく)るんだろうか。大丈夫(だいじょうぶ)、ペンツールにある「(あか)るさ」を調整(ちょうせい)するだけでサクッと陰影(いんえい)をつけることはできるから!今回(こんかい)はこんなことにタックルするよ。
  • 3D空間(くうかん)陰影(いんえい)をつける
  • 視野(しや)(おうぎ)《おうぎ》(さま)(ひろ)がるのに()わせた自然(しぜん)陰影(いんえい)をつける
  • コスチュームを利用(りよう)して奥行(おくゆ)きも陰影(いんえい)表現(ひょうげん)する
陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)を語るok-scratch ok-scratch

u003cpu003eここらへんから(すこ)演算(えんざん)複雑(ふくざつ)()してくる。といってもスクショを()ながら一()ずつ(すす)めば(かなら)ずできるから、一緒(いっしょ)()ていこう!u003c/pu003e

陰影(いんえい)をつける距離(きょり)調(しら)べよう

(とお)くに()くほど(くら)くなる、という仕様(しよう)実装(じっそう)していこう。まずは↓このブロックを用意(ようい)して。
これを()()わせて、「120 - (距離(きょり) / 1.5)」という演算(えんざん)(つく)り、ペンの(あか)るさに()()てよう。
(じつ)はこれだけで結構(けっこう)いい(かん)じになる。

CHECK! (とお)くに()くほど(くら)くなったかテストする

うひょぉ、(こわ)い……wいっきにホラーゲームっぽくなったね。ゴクリ……。

u003cpu003e(とお)くに()くほど(くら)くできたu003c/pu003e

陰影(いんえい)のロジックを洗練(せんれん)させる

これだけでもいい(かん)じなんだけど、さらに洗練(せんれん)させる。↓これを()てほしい。
()(まえ)(かべ)よりも、(なな)めにある(かべ)のほうが距離(きょり)(はな)れているから、陰影(いんえい)()くなる(ほう)自然(しぜん)だよね。これを実装(じっそう)していきたいと(おも)う。↑この()には、プレイヤーの(まわ)りに(えん)(えが)かれてるよね。視野(しや)表現(ひょうげん)するときは円形(えんけい)計算(けいさん)するのがメジャーだからこの()でも(えん)(えが)いてプレイヤーの視野(しや)表現(ひょうげん)しているんだ。そして(えん)使(つか)った距離(きょり)計算(けいさん)するときは、だいたい三角(さんかく)関数(かんすう)使(つか)のが定番(ていばん)になる。ここでも三角(さんかく)関数(かんすう)使(つか)った演算(えんざん)(つく)っていくことになるよ。
陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)を語るok-scratch ok-scratch

u003cpu003e三角(さんかく)関数(かんすう)高校(こうこう)数学(すうがく)(なら)う、たしか。高校生(こうこうせい)レベルだけど、用意(ようい)されてるブロックを使(つか)うだけだからまだ(なら)ってない(ひと)でも安心(あんしん)してほしい。u003c/pu003e

変数(へんすう)角度(かくど)」を(つく)

定義(ていぎ)「_レイキャストする」の最初(さいしょ)に、()きをそのまま角度(かくど)()()てよう。
(つぎ)に、ちょっと複雑(ふくざつ)演算(えんざん)()()。「 (距離(きょり) x ( (()き - 角度(かくど)) の cosコサイン)」っていう演算(えんざん)(つく)るよ。このcosっていうのが三角(さんかく)関数(かんすう)だよ。↓この()矢印(やじるし)参考(さんこう)にブロックをはめていってね。(cosのブロックはデフォルトだと絶対値(ぜったいち)ってなってる。選択肢(せんたくし)(ひら)くとcosが()つかるよ)
最終的(さいしゅうてき)にこんな演算(えんざん)になる。
これを定義(ていぎ)「_シングル・レイ」の距離(きょり)にプレイヤーまでの距離(きょり)()()てた直後(ちょくご)()こう。これによって(かべ)とプレイヤーの距離(きょり)がより正確(せいかく)計算(けいさん)できるようになる。

CHECK! より自然(しぜん)陰影(いんえい)演出(えんしゅつ)できたかテストする

()てみよう!
動画(どうが)だけだと(ちが)いが見分(みわ)けづらいかもしれない場合(ばあい)は、(いま)(つく)ったブロックと()けたり(はず)したりしてプロジェクトをプレイしてみてほしい。より自然(しぜん)陰影(いんえい)表現(ひょうげん)できていることに()づくはずだ。

u003cpu003e視野(しや)()わせた、より自然(しぜん)陰影(いんえい)表現(ひょうげん)できるようになったu003c/pu003e

(ゆか)天井(てんじょう)(つく)って陰影(いんえい)にメリハリをつける

さらにさらに、コスチュームを工夫(くふう)することで陰影(いんえい)にもっとメリハリを()けていこう。

u003cpu003eちなみにスタータープロジェクトをリミックスしたなら、すでに(はい)ってるからそれを使(つか)ってもいいし、ココを()改造(かいぞう)したり新規制(しんきせい)()してみるのもいいと(おも)うよ。u003c/pu003e

ステージにコスを追加(ついか)する

背景(はいけい)であるステージを選択(せんたく)しよう。
ステージのコスチュームを(ひら)いて「(えが)く」を(えら)ぶ。
(うえ)から(した)()かう線形(せんけい)グラデーションを選択(せんたく)しよう。
ちょうど半分(はんぶん)くらいになる長方形(ちょうほうけい)(つく)ろう。
それをコピーする。
ペーストすれば複製(ふくせい)できる。
あとは上下(じょうげ)反転(はんてん)させてみよう。
できたものを画面(がめん)上半分(うえはんぶん)配置(はいち)すれば、(おく)のほうが()背景(はいけい)完成(かんせい)だ!

CHECK! (ゆか)天井(てんじょう)がいい(かん)じに陰影(いんえい)にメリハリを()けてるかテストする

この背景(はいけい)適用(てきよう)すると……
クール!(おく)()くほど(くら)くなるっていう仕様(しよう)にピッタリの背景(はいけい)画像(がぞう)仕上(しあ)がったね。

u003cpu003eコスチュームを利用(りよう)して、(とお)くに()くほど(くら)くなる仕様(しよう)をより強調(きょうちょう)することができたu003c/pu003e

プレイヤーを透明(とうめい)にする

まだプレイヤーの三角(さんかく)()えてる状態(じょうたい)だから、このタイミングで透明(とうめい)にしておこう。スプライト「プレイヤー」を選択(せんたく)する。
幽霊(ゆうれい)を100にする。
さらにスプライト「レイキャスター」を選択(せんたく)する
このスプライトでも幽霊(ゆうれい)を100にすればOKだ。

(かべ)陰影(いんえい)

部屋(へや)(くら)さはできたけど、(かべ)角度(かくど)によっても(くら)さは()わるはずだよね。ここからは↓こんな(かべ)陰影(いんえい)(つく)っていこうと(おも)う。
陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)を語るok-scratch ok-scratch

u003cpu003eここはコスチュームの操作(そうさ)大切(たいせつ)になる。この作業(さぎょう)()はマップを変更(へんこう)するのが手間(てま)だから、もし(なに)かマップに調整(ちょうせい)(くわ)えたいなら事前(じぜん)にやっておこう。u003c/pu003e

(あか)るい(かべ)(くら)(かべ)(つく)

スプライト「レベル」を(えら)ぶ。
スプライトをまるごと複製(ふくせい)する。スプライト(めい)は「レベルカラー」にしておこう。
コスチュームを(ひら)いて、マップのコスチュームを(みぎ)クリックして複製(ふくせい)する。
陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)を語るok-scratch ok-scratch

u003cpu003eコスチュームに(たい)して複雑(ふくざつ)操作(そうさ)をしていくから、(まん)(いち)()からない・無理(むり)」ってなったら、u003ca href=u0022https://scratch.mit.edu/projects/972385773/u0022 target=u0022_blanku0022 rel=u0022noreferrer noopener nofollowu0022u003e完成(かんせい)サンプルu003c/au003eのスプライトを使(つか)うといいよ。u003c/pu003e

複製(ふくせい)されたコスチューム2を(ひら)こう。画面(がめん)右下(みぎした)にあるズームのリセットを()しておくよ。
選択(せんたく)ツールで
(ぜん)選択(せんたく)する!パーツを(あま)さず選択(せんたく)しよう。でっかい四角(しかく)(えが)くように選択(せんたく)するのがコツ。
コピーボタンをクリック!
まだペーストはしないよ。コピーボタンを()したら、もうコスチューム2は()してOK。
コスチューム1で作業(さぎょう)(つづ)ける。まだペーストはしないよ。
コスチューム1でも、(ぜん)選択(せんたく)しよう。コピーはしないでね。
(ぜん)選択(せんたく)したら、(ひだり)キーを一(かい)()してほんのわずか、1ピクセルだけ(うご)かす。ピクセルとは、単位(たんい)のことで、1ピクセルは1ドットみたいなものだよ。
陰影をつけて3Dの立体感を高めよう(爆速オンライン3Dゲームの作り方 #04)を語るok-scratch ok-scratch

u003cpu003eこのとき何故(なぜ)かシフトを()してないのに()した状態(じょうたい)のように(おお)きく(みぎ)(うご)くことがあった。もしそうなったらいったん(みぎ)キーで(もと)位置(いち)(もど)してから、選択(せんたく)解除(かいじょ)して(ふたた)(ぜん)選択(せんたく)して(さい)チャレンジしてみて。それでもダメなら、半角(はんかく)全角(ぜんかく)()()えたりして、なんとか1ピクセルだけズレる状態(じょうたい)(つく)ってほしい。u003c/pu003e

ここでやっとペーストボタンをクリックだ。選択(せんたく)状態(じょうたい)解除(かいじょ)しないでね。もし解除(かいじょ)しちゃったら、ペーストを()()して(ふたた)びペーストし(なお)そう。
今度(こんど)(みぎ)キーを一(かい)()して、(みぎ)に1ピクセル(うご)かす。
そうすると↓こんな(かん)じでわずかに(合計(ごうけい)2ピクセル)ズレた2(そう)のマップになると(おも)う。

レベルカラーとレベルでペンの(いろ)()える

(つぎ)はコードだ。スプライト「レイキャスター」の定義(ていぎ)「_シングル・レイ」に条件(じょうけん)ブロックを追加(ついか)しよう。
条件(じょうけん)(しき)でレベルカラーに()れたかどうか調(しら)べよう。
この(なか)でペンの(いろ)()える。こうすることで(かべ)陰影(いんえい)表現(ひょうげん)できるぞ!

CHECK! (かべ)(あか)るい(めん)(くら)(めん)ができたかテストする

おお!(もん)明確(めいかく)()かれてる!これは視覚的(しかくてき)(やさ)しい。あーでも、()って。(えん)のところはどうだろう。
あちゃー。ギザギザだね。これは(なに)()(くわ)えないとな。

(まる)(かべ)陰影(いんえい)手直(てなお)しする

スプライト「レベルカラー」を(ひら)く。
コスチュームを(ひら)いて(えん)のところを選択(せんたく)する。
(えん)()わりに長方形(ちょうほうけい)設置(せっち)してみよう。

CHECK! (えん)陰影(いんえい)がギザギザではなくなったかテストする

うーん、まぁ今回(こんかい)はこれでいいかな。そこまで大切(たいせつ)なところじゃないし。

u003cpu003eスプライトを二(そう)構造(こうぞう)にすることによって、(あか)るい(かべ)(くら)(かべ)(つく)ることができたu003c/pu003e

まとめ

今回(こんかい)は3D空間(くうかん)陰影(いんえい)をつけることができたね。これで(とお)くの(ほう)()(くら)、みたいな状況(じょうきょう)(つく)ることができた。より自然(しぜん)だし、なんだかダンジョンっぽさが一気(いっき)()したよね!ホラーゲームなら(いま)すぐ(つく)れちゃいそうな雰囲気(ふんいき)電気(でんき)をつけたら陰影(いんえい)()える、なんて仕様(しよう)(つく)れそうだし、(ぎゃく)停電(ていでん)だ!っていうハプニングで一気(いっき)部屋(へや)(くら)くなったり……オラワクワクすっぞ!今回(こんかい)(つぎ)のことができるようになったよ。
  • 3Dに陰影(いんえい)をつける
  • 視野(しや)()わせて自然(しぜん)()さを演出(えんしゅつ)する
  • コスチュームも()()わせて奥行(おくゆ)きの陰影(いんえい)(あか)るい(かべ)(くら)(かべ)演出(えんしゅつ)する
オッケーナイスゥ!これでスクラッチキャットもゴンザレスに()いつ……あれ?なんだかまだ問題(もんだい)発生(はっせい)しているみたい。なんだろう?次回(じかい)もチェックしてみてね!今回(こんかい)のチュートリアルは世界(せかい)No.1スクラッチャーとして名高(なだか)いグリフパッチさんの動画(どうが)参考(さんこう)にしているよ。ただし手順(てじゅん)一部(いちぶ)()えているところもあるんだ。
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチプログラミングのゲーム攻略

スクラッチプログラミングのゲーム

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品