もはや無限だぁ!消えないクローンでパーティクル大作戦

もはや無限だぁ!消えないクローンでパーティクル大作戦
ok-scratch

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

Scratchのクローン上限は約300体。削除せずに使い回す「パーティクルリサイクル」を使えば、300体以上に見えるパーティクルが作れるよ。弾幕や雪エフェクトにも応用できる汎用テクニックを学ぼう!

さぁ、スクラッチでナニ作る!?

Scratchって実は同時に存在できるクローンは約300体まで。だから「もっとパーティクルを増やしたい!」と思っても上限に引っかかっちゃう。このチュートリアルでは、その300体の上限を賢くかわす「パーティクルリサイクル」を学ぶよ。コツはシンプル:リサイクルして使い回すだけ。たった300体のクローンが無限に流れていくように見えるから、見た目の迫力はそのまま。弾幕シューティングや雪・雨のエフェクトにも応用できる、知ってるとかなり得するテクニックだよ。(ちなみに300じゃなくて20とかでも十分に大量に見えるテクニックでもある)

動画で見てみよう

ok-scratch ok-scratch
チャンネル登録して応援よろしく!チャンネル登録する

チュートリアルの元になった作品

今回の目標

大量のクローンをリサイクルし、パーティクルが画面の左から右へ無限に流れ続けるアニメーションを作る。

スターター作品をリミックスしよう

このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード

#1パーティクルの準備

ok-scratch ok-scratch
まずはパーティクル(キラキラっ、とか水しぶきとか細かいエフェクトのこと)の土台から作っていくよ。見やすいようにサイズをめっちゃ小さくしとこう。

準備

スプライト「パーティクル」を開く

パーティクルパーティクル
スプライトについて
画面左端からバーのX座標まで移動する粒子スプライト。フラグクリック時にサイズを10に設定し、クローンを300個生成する。各クローンはランダムなY座標から出発し、バーに到達するまで右へ移動し続ける。
どんな役割か
パーティクルの動きを作るよ!フラグを押すと300個のクローンが画面の左からバーめがけてわーっと流れていくアニメーションになるよ。ランダムな高さから出発するから、自然なばらけ方になるんだ。

実装

step-0

イベントgreenflag が押されたときでスタートして、見た目大きさを ( ) %にするで大きさを10%にする。普通は10%ってかなり小さいけど、この後大量にクローンを作るから、小さいほうがパーティクル感が出るんだよね。

#2300体のクローン生成

ok-scratch ok-scratch
ここから一気に300体のクローンを生み出すよ。Scratchのクローン上限が約300体だから、限界ギリギリまで攻めた設計。(300だとPCの負荷が高くなるから、10とか20でも効果は分かるので、少なくしてもいいよ)

準備

変数「★クローン数」を追加

生成したクローンの累計数を管理するグローバル変数。フラグクリック時に0にリセットし、クローン生成のたびに1ずつ増やす。

変数「★クローン数」を追加

実装

step-1

まず「★クローン数」変数を0にリセットしてから、制御( ) 回繰り返すで300回ループを回す。ループの中で「★クローン数」を1ずつ増やしながら制御( ) のクローンを作るで自分自身のクローンを作っていくんだ。カウンター変数があると今何体目か把握できるから、デバッグにも便利だよ。

ok-scratch ok-scratch
Scratchの300体クローン上限って、実は「同時に存在できる数」の制限で、途中でクローンを削除すれば新しく作れる余地が生まれる。今回は300体を最初にまとめて作る「プール方式」だけど、シューティングゲームみたいに弾を撃つたび作って消すパターンもあるんだ。作品に合わせて使い分けると表現の幅が広がるよね。

確認プレビューしておこう 確認プレビューしておこう
旗を押すとパーティクルが10%サイズになって、クローンが300個一気に生成されたね。

#3クローンの出発地点

ok-scratch ok-scratch
300体のクローンを作る仕組みができたから、次はクローンが生まれた後の動きを作っていこう。
step-2

制御クローンされたときでクローンの処理が始まったら、制御ずっとの中でまず左端(X座標-255)のランダムな高さにワープする。毎回違うY座標(-255〜255のランダム)から出発するから、パーティクルが自然にばらけて見えるんだ。

#4移動とリサイクル

ok-scratch ok-scratch
いよいよ核心部分。パーティクルがバーに向かって流れる動きと、到達後にリサイクルする仕組みを作るよ。
step-3

制御( ) まで繰り返すで、バーのX座標より自分が右に行くまで20歩ずつ進む。調べる( ) の ( )で他のスプライトの座標を読み取れるから、バーの位置が変わっても自動で追従できるんだ。

バーに到達したらループを抜けるけど、ここでdelete this cloneは使わない。foreverループの先頭に戻って、また左端からやり直す。同じ300体をぐるぐる使い回すことで、300体以上のパーティクルが次々に流れているように見えるんだ。

ok-scratch ok-scratch
この「削除せずに位置をリセットして使い回す」テクニックは「パーティクルリサイクル」って呼ばれてるよ。シューティングゲームの弾幕や雪・雨のエフェクトにも応用できる。クローン上限が約300体のScratchでは、リサイクルを覚えるだけで表現の幅がグッと広がるんだ。

確認プレビューしておこう 確認プレビューしておこう
クローンが左端からバーに向かって流れて、到達したら左端に戻るリサイクルが動き出したね。

まとめ

クローンを消さずにずっとループで位置をリセットする「パーティクルリサイクル」、覚えておくとめっちゃ便利だよ。Scratchの300体上限を気にせずに、大量のパーティクル演出が作れるようになったね。弾幕シューティングや雪のエフェクトなど、いろんな場面で応用してみよう!

ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!