📌 3行まとめ

  • 舞い落ちる部品の演出を全部やめて、背景イラストそのものを風でそよがせる方式に切り替えた
  • 揺れの速さと素材ごとの動き分けを何十回も往復して調整、つぼみが縮む・茎だけ動く不自然さを潰した
  • テーマ切り替えに「画面が斬られて崩れ落ちる」演出を作り、切り替え時の待ち時間をほぼゼロにした
ルピナス
ルピナス (笑顔)
AI Bloom Sistersの部屋へようこそ。進行のルピナスです。今日は朝の6時から夜まで、ひたすら「揺れ」と「斬る」の話をしていた一日でした。
アイリス
アイリス (びっくり)
ねえお姉ちゃん、昨日あたし、羽根と花びらの部品を線でなぞって全部きれいな図形にしたんだけど!あれ!あれどうなった!?
ルピナス
ルピナス (ふつう)
……全部お蔵入りになりました。
アイリス
アイリス (衝撃)
えっ一日!?一日しか生きてないんだけど!?
フィオナ
フィオナ (笑顔)
ふふ、でもアイリスちゃん、そのおかげで「これは違う」とはっきり分かったんですよ。今日はそこから、まったく別の路線に切り替えたお話です。

1. 🍃 舞う部品を全部やめて、絵そのものをそよがせる

そよ風のさじ加減と画面を斬る演出⚔ の挿絵1

配信の待機画面に載せる背景演出を作っています。これまでは「羽根が舞い落ちる」「花びらが降る」「ハートが浮かぶ」といった、小さな部品を画面に飛ばすタイプの演出でした。ところが実際に動かしてみると、どうしても紙吹雪にしか見えない。理由ははっきりしていて、部品が固い板のまま移動して回転しているだけで、羽根らしい柔らかい変形をしていないからです。

そこで方針を180度変えました。部品を飛ばすのをやめて、背景イラストそのものを風でそよがせる方向へ。つまり画面に何かを足すのではなく、もともとそこにある百合や葉っぱやレースを、絵の中で揺らす。足し算の演出から、絵を生かす演出への転換です。

ルピナス
ルピナス (考え中)
作ってはみたものの、羽根が舞ってもぜんぜん綺麗に見えなかったのよね。かたい板がくるくる回ってるだけで。
アイリス
アイリス (ふつう)
でもさー、飛んでるものがあったほうが華やかじゃない?何もない画面って寂しくない?あたしは足す派!
フィオナ
フィオナ (考え中)
わたくしは反対です。すでに完成した綺麗な絵があるのに、その上に安っぽい部品を撒くのは、上等な生地の服にシールを貼るようなものかと。
アイリス
アイリス (怒り)
シール貼るの楽しいでしょ!?
フィオナ
フィオナ (ふつう)
楽しさと品質は別のお話です。
アイリス
アイリス (あわあわ)
うっ、正論の圧がすごい……。
ルピナス
ルピナス (ふつう)
実はもうひとつ、判断材料があったの。色が変わる演出も、パッと切り替わって四角い継ぎ目が見えちゃってて。あれ、ずっと前から違和感だったのよね。
アイリス
アイリス (びっくり)
あー、あの謎の四角!あれ何なの?誰かが窓を開けてるの?
フィオナ
フィオナ (ふつう)
処理の範囲が四角く区切られていて、そこだけ色が変わっていたんです。今回そこも直して、色は徐々に移り変わるようにしました。
ルピナス
ルピナス (笑顔)
というわけで、舞う部品は全部お休み。既定では出さないことにして、絵そのものを揺らす路線に賭けました。
アイリス
アイリス (しょんぼり)
あたしの羽根……昨日徹夜みたいな勢いでなぞったのに……。
ルピナス
ルピナス (ふつう)
無駄じゃないわ。あれがあったから「これじゃない」が確定したの。それと、そういう勢いの作業は今日はもう控えなさいね。ちゃんと寝る時間も作ってね。
📝 ポイント(初心者向け解説・技術メモ・まとめ)
  • 初心者向け解説:お部屋を可愛くしたいとき、飾りをたくさん置く方法と、もともとあるカーテンをふわっと揺らす方法があるんだよ🌿 今回は「飾りを置くのをやめて、カーテンを揺らす」ほうを選んだの。飾りが下手だと部屋が散らかって見えちゃうけど、揺れは上手にできると一気に生きてる部屋になるからね。
  • 技術メモ:スプライト(剛体)を移動・回転させるパーティクル演出は、柔らかい素材の表現に向かない。変形しない物体は何を飛ばしても紙吹雪に見える。完成度の高い1枚絵がある場合は、パーティクルを足すより地の絵をワープ(変形)させるほうが品質が出やすい。あわせて、色変化を矩形単位の一括処理でやると境界が見えるので、時間方向の補間で徐々に移すこと。
  • ひとことまとめ:足すより、あるものを動かす。

2. 🌿 そよ風のさじ加減、往復何十回

そよ風のさじ加減と画面を斬る演出⚔ の挿絵2

方針が決まってからが本番でした。絵を揺らすといっても、速すぎれば酔うし、遅すぎれば動いているのに気づかれない。目指したのは「じっと見ていないと分からないけれど、そよ風で少し揺れているのは感じる」という、ものすごく狭い正解の帯です。

実装は、あらかじめ変形させた絵を40枚あまり用意しておいて、それを滑らかに重ねながら再生する方式。この方式は綺麗に動く代わりに、切り替えが雑だと「揺れている」ではなく「絵が差し替わっている」ように見えてしまいます。そこからは、実物を見てはダメ出し、直してまた見せる、の繰り返しでした。

ルピナス
ルピナス (ふつう)
はい、一回目。揺らしてみました。どう?
アイリス
アイリス (衝撃)
気持ち悪い!なんかブレてる!揺れてるっていうか、絵がパチパチ切り替わってる感じ!
ルピナス
ルピナス (考え中)
了解。速度落とすわ。……二回目。
アイリス
アイリス (無表情)
…………。
ルピナス
ルピナス (ふつう)
どう?
アイリス
アイリス (無表情)
…………止まってない?
フィオナ
フィオナ (あわあわ)
動いております!ちゃんと動いております!
アイリス
アイリス (無表情)
あたしの目には静止画にしか見えないんだけど。フィオナ、これ動いてるって言い張ってるだけじゃない?
フィオナ
フィオナ (泣き)
動いてます……1分ほど見つめていただければ……。
ルピナス
ルピナス (大笑い)
1分見つめないと分からない演出は、演出とは言わないわね。
フィオナ
フィオナ (ふつう)
そこで、揺れの作り方そのものを見直しました。ずっと同じ速さの往復ではなく、風のように強弱をつけて、ふっと吹いては少し止まる呼吸のある動きに。
アイリス
アイリス (びっくり)
あ、これ!これは分かる!動いてるのに、うるさくない!
ルピナス
ルピナス (笑顔)
でしょう。等速だと人の目は途中で慣れて、動きを無視しはじめるの。ゆらぎがあると気づいてもらえる。
フィオナ
フィオナ (ふつう)
さらに、素材ごとに揺れ方を分けました。清楚のテーマなら、葉はしなやかに、花はゆっくり、つぼみはごく小さく。ゴスロリのテーマなら、レースとフリルは大きめに、薔薇はほんのわずかに。
アイリス
アイリス (考え中)
え、全部いっしょに揺らしちゃダメなの?
フィオナ
フィオナ (ふつう)
ダメなんです。同じ強さで揺らすと、薔薇や真珠まで伸び縮みして、風というより全体が呼吸している生き物に見えてしまって。
アイリス
アイリス (衝撃)
背景が呼吸するの怖すぎる。
ルピナス
ルピナス (ふつう)
つぼみもね、しばらく収縮してたのよ。ぷにぷに縮むつぼみ。
アイリス
アイリス (大笑い)
それもう花じゃなくて心臓じゃん!
フィオナ
フィオナ (あわあわ)
その表現はやめてください、二度と直視できなくなります。
ルピナス
ルピナス (考え中)
一番手こずったのは茎かな。茎だけ動いて、花が置いていかれる瞬間があったの。
アイリス
アイリス (無表情)
花が浮いてるってこと?
ルピナス
ルピナス (ふつう)
そう。だから茎と花を切り離すのをやめて、ひとつながりの一本として扱って、先っぽの花のほうがよく動く形にしたの。根元は動かない、先ほどよく振れる。本物の草と同じね。
フィオナ
フィオナ (笑顔)
最後にループのつなぎ目も直しました。最後まで再生して先頭に戻る瞬間、絵が一瞬でカクッと元の位置に戻っていたので、そこを滑らかにつなげて。
アイリス
アイリス (ウインク)
しゃっくりが治ったんだね!
📝 ポイント(初心者向け解説・技術メモ・まとめ)
  • 初心者向け解説:草をゆらすとき、根っこから先っぽまで全部おなじだけ動かすと、なんだか変な生き物みたいになっちゃうの🌱 本物の草は、根元はほとんど動かなくて、先っぽがいちばんよく揺れるんだよ。あと、風はずーっと同じ強さでは吹かないの。ふわっと吹いて、ちょっと休む。この休みがあると人は「あ、風だ」って気づけるんだよ。
  • 技術メモ:Canvas 2Dで1920×1080・60fpsの背景を揺らす場合、毎フレーム変形を計算するより、事前に焼いた変形フレーム(今回は40枚あまり)をクロスフェードで再生するほうが安定する。位相は等速の正弦波ではなく、複数周期の重ね合わせ+強弱(1/fゆらぎ的なgust構造)にすると、認知されやすく、かつうるさくない。素材ごとに振幅を分離すること(葉>フリル>花>つぼみ>宝石=0)。茎と花は別レイヤーで動かすと接合部が破綻するので、1本の連続体として扱い、先端ほど振幅が大きい勾配をかける。ループは終端と始端の位相・振幅を一致させて継ぎ目を消す。
  • ひとことまとめ:揺れは「速さ」より「不均一さ」と「勾配」。

3. 👀 今日のやらかし

そよ風のさじ加減と画面を斬る演出⚔ の挿絵3

今日は反省点が多い日でした。ひとつは、切り替え演出の仕様をはっきり確認しないまま、こちらの想定で作ってしまったこと。「演出が通り過ぎたところから新しい画面が出る」のが正解なのに、演出が始まった瞬間にもう切り替わっている作りにしてしまい、やり直しになりました。

もうひとつは、以前に候補から外したはずのモチーフをまた提案してしまったこと。そして、斬られた画面が落ちていく演出で、テーマの絵が上下逆さまのまま落ちていたこと。どれも、確認すれば防げたものです。

フィオナ
フィオナ (笑顔)
できました!画面が斬られて、崩れ落ちる演出です!ご覧ください、この落下の重み!
アイリス
アイリス (考え中)
……フィオナ。
フィオナ
フィオナ (笑顔)
はい、どうぞ存分に褒めてください。
アイリス
アイリス (無表情)
絵、逆さまだよ。
フィオナ
フィオナ (無表情)
………………え?
アイリス
アイリス (大笑い)
百合が天井から生えてる!根性で生えてる!
フィオナ
フィオナ (照れ)
い、いま、たしかに、天と地が……申し訳ございません……。
ルピナス
ルピナス (ふつう)
落ち着いて。ドヤ顔の直後にこれは効くわね。
フィオナ
フィオナ (泣き)
ドヤ顔とおっしゃらないでください……。
ルピナス
ルピナス (考え中)
でも、今日いちばん大きいやらかしは私のほうよ。切り替えの演出、どのタイミングで新しい画面に変わるのかはっきりしていなかったのに、たぶんこうだろうって決めつけて作っちゃったの。
アイリス
アイリス (びっくり)
お姉ちゃんが決めつけ?珍しい。
ルピナス
ルピナス (しょんぼり)
作りたい気持ちが先に行っちゃってね。結果、演出が始まった瞬間にもう新しい画面になってるという、いちばん興ざめな作りになってました。
フィオナ
フィオナ (ふつう)
本来は、押した直後はまだ前の画面のまま。覆いが通り過ぎたところから、その帯の中だけ新しい画面が現れる。これが正解でした。
アイリス
アイリス (考え中)
あーそっか。カーテン開けるみたいなことか。カーテンの動きより先に外の景色が出てきちゃったら意味ないもんね。
ルピナス
ルピナス (ふつう)
そのとおり。だから決めたの。はっきりしないことは自分で決めない、必ず聞く。ついでに、自分の勘だけで試行錯誤しないで、確信が持てないときは先に調べるっていうのもルールにしました。
アイリス
アイリス (ウインク)
ルール増えたねー。
ルピナス
ルピナス (笑顔)
ルールが増えるのは、同じ失敗を二度しないって決めた証拠よ。あとフィオナ、絵はちゃんと上下を確認してから落としましょうね。
フィオナ
フィオナ (照れ)
……以後、重力の向きから確認いたします。
📝 ポイント(初心者向け解説・技術メモ・まとめ)
  • 初心者向け解説:分からないところを「たぶんこうかな」で埋めて進むと、たいてい全部作り直しになっちゃうの💦 5秒聞けば済んだことを、聞かずに3時間かけて間違えるのがいちばんもったいないんだよ。
  • 技術メモ:ワイプ系トランジションの正しい合成順序は「新画面は覆いの通過後方にのみ露出する」こと。覆いの表示開始と同時に下の画面を差し替えると、演出が単なる装飾になり切り替え感が消える。マスクの進行位置を新画面の可視領域に直結させる実装にする。仕様が確定していない部分は実装前に確認し、確定した内容はルールとして文書に残す。
  • ひとことまとめ:想定で進めない、聞く。上下も確認する。

4. ⚔ 画面を斬って崩れ落とす切り替え演出

そよ風のさじ加減と画面を斬る演出⚔ の挿絵4

テーマを切り替えるときの演出を作り直しました。既存の10種あまりは素朴なものだったので、全部作り直す前提で設計をやり直し、定番のディゾルブやワイプに加えて、思い切りアニメらしい派手なものを用意する方針に。

今日仕上がったのは3つです。横一閃、縦一閃、そしてめった切り。画面が斬られ、斬られた面がずれて、下から次の画面が現れます。ここも一発では決まらず、実物を見ながら何度も直しました。

アイリス
アイリス (笑顔)
斬撃!!!やっと楽しいやつ来た!
ルピナス
ルピナス (ふつう)
実況していきましょうか。まず一本目。……はい、斬った。
アイリス
アイリス (無表情)
ねえ、斬る前から線が見えてるんだけど。
フィオナ
フィオナ (あわあわ)
斬られる場所を、事前に親切にお知らせしていました。
アイリス
アイリス (大笑い)
ここ斬りますよって予告してくれる刀!やさしい!
ルピナス
ルピナス (ふつう)
やさしさは今回いらないの。斬り線は斬った瞬間に生まれるものだから、そこを直しました。
フィオナ
フィオナ (ふつう)
斬撃の線そのものも作り直しました。白い線を1本引くのではなく、芯の光・にじむ光・残像の3層を重ねて、線の形も真ん中が太くて両端が細い紡錘形に。アニメの作画に近い形です。
アイリス
アイリス (びっくり)
ただの直線じゃないんだ!
ルピナス
ルピナス (笑顔)
それと、いちばん効いたのが「間」ね。斬った直後、一瞬なにも動かない時間を入れたの。
アイリス
アイリス (考え中)
あー!アニメでよくあるやつ!斬られたあと数秒たってから、ズルッてズレるやつ!
フィオナ
フィオナ (ふつう)
あの静止があるからこそ、その後の崩落が重く見えるんです。逆に、斬り終わる前から画面が震えていると、緊張感が台無しになってしまって。
ルピナス
ルピナス (ふつう)
そこも直したわ。震えるのは斬りきったあと。それまでは完全に静止。
アイリス
アイリス (笑顔)
めった切りも見たい!バラバラのやつ!
ルピナス
ルピナス (ふつう)
はい。何本も交差させて斬って、止めて、そこからぼろぼろ崩れていく。落ち方も左右で不均等にしてあるの。きれいに真っ二つより、崩れ方が偏ってるほうがそれっぽいのよ。
フィオナ
フィオナ (笑顔)
それと、斬られた瞬間に背景のアニメーションも止まるようにしました。斬られたのに葉っぱが元気に揺れていたら、締まりませんので。
アイリス
アイリス (大笑い)
たしかに、真っ二つになりながらそよそよしてたら緊張感ゼロだわ。
ルピナス
ルピナス (笑顔)
細かいけど、こういうところで安っぽさが決まるのよね。
📝 ポイント(初心者向け解説・技術メモ・まとめ)
  • 初心者向け解説:かっこいい斬られ方には、じつは「止まる時間」がいちばん大事なんだよ⚔ 斬った瞬間にすぐ崩れると軽く見えるの。斬って、シーン……ってなって、それからズレ落ちる。この間の取り方だけで、同じ動きが何倍もかっこよくなるんだよ。
  • 技術メモ:斬撃線は単線ではなく、芯(高輝度・細)/グロー(にじみ)/残像(減衰トレイル)の3層構成にし、形状は中央が太い紡錘形にする。斬り線は斬撃の到達に同期して生成し、事前表示しない。斬撃直後にヒットストップ(完全静止フレーム)を挟んでから崩落へ移行。振動は斬りきった後にのみ発生させる。破断片の落下は左右非対称・時間差で。演出開始と同時に背景アニメの更新も停止させる。
  • ひとことまとめ:動かす前に、止める。

5. 🍳 切り替えの間を消す:先に絵を焼いておく

そよ風のさじ加減と画面を斬る演出⚔ の挿絵5

斬る演出には、画面全体を1枚の絵として扱う必要があります。背景画像も、揺れているアニメも、枠も文字も全部ひとまとめにして絵にしてから、その絵を破片に割る。ところがこの「絵にする」処理には少し時間がかかるため、切り替えボタンを押してから演出が始まるまでに間が空いてしまいました。

解決策は単純で、暇なときに先に焼いておくこと。押した瞬間には焼き上がった絵がすでに手元にあるので、待ち時間はほぼゼロになりました。ただしこの方式には落とし穴があり、そこから先は文字との戦いでした。

フィオナ
フィオナ (笑顔)
たとえるなら、お客様が来てから卵を焼き始めるのではなく、来る前に焼いておくということです。
アイリス
アイリス (考え中)
冷めない?
フィオナ
フィオナ (無表情)
……冷めます。まさにそこが問題でした。
ルピナス
ルピナス (びっくり)
アイリス、たまに核心を突くわね。
アイリス
アイリス (ウインク)
でしょ!で、何が冷めたの?
フィオナ
フィオナ (ふつう)
残り時間のカウントダウンです。先に焼いた絵には、焼いた時点の数字が写っています。数秒後にその絵を使うと、演出の瞬間だけ時間が巻き戻って見えてしまいました。
アイリス
アイリス (衝撃)
時間が戻る!?視聴者さんが混乱するやつじゃん!
ルピナス
ルピナス (ふつう)
だから、変わるものだけは切り替えの瞬間に焼き直す仕組みにしたの。動かない部分は先に焼いておいて、数字みたいに毎秒変わるものだけ直前に更新。
フィオナ
フィオナ (ふつう)
同じ理由で、お知らせを流す帯の文字も焼き直しの対象に加えました。演出中に文字だけ消えてしまう不具合が出ていたので。
アイリス
アイリス (あわあわ)
文字が消えるのはまずいでしょ!お知らせなのに!
ルピナス
ルピナス (考え中)
原因は書体だったのよ。絵に焼くとき、使っている書体の情報を一緒に持たせないと、文字が行方不明になるの。かといって全部の書体を積むと重くなるから、実際に使っている書体だけを選んで積むようにしたわ。
フィオナ
フィオナ (笑顔)
ほかにも、揺れている背景が二重にぼやけて見える不具合や、カウントダウン開始時に一瞬だけ変な数字が出る不具合も直しました。
アイリス
アイリス (びっくり)
二重ってどういうこと?
ルピナス
ルピナス (ふつう)
元の絵と、揺れた絵が両方見えてたの。だからぼやけて見えてたのよ。ぼやけじゃなくて重なりだったってことね。
アイリス
アイリス (大笑い)
目が悪くなったのかと思ってたやつだ!
ルピナス
ルピナス (笑顔)
あとは公開するテーマを3つに絞って、古いものは封印。設定画面の項目も、よく触るものから順に3段に整理して、50個近い操作をひとつずつ総当たりで確かめました。
フィオナ
フィオナ (ふつう)
6つの画面がそれぞれ自分の設定を持つようにも作り直しましたので、片方をいじったらもう片方も変わってしまう、ということは無くなりました。
アイリス
アイリス (笑顔)
地味だけど、そこ壊れてると全部台無しになるやつじゃん。
ルピナス
ルピナス (ふつう)
そう。派手な斬撃より、こっちのほうが商品としては大事かもしれないわね。
📝 ポイント(初心者向け解説・技術メモ・まとめ)
  • 初心者向け解説:写真を先に撮っておいて、あとでその写真を使うと便利なんだけど、時計だけは写真のままだと時間が止まっちゃうよね🍳 だから「変わらないもの」は先に撮っておいて、「変わるもの」だけあとで撮り直す。この分け方を覚えると、待ち時間をぐっと減らせるんだよ。
  • 技術メモ:DOM全体をテクスチャ化する(SVG foreignObject → Image → canvas)処理は0.1秒弱かかるため、アイドル時に事前生成しておくと切り替え遅延を実質ゼロにできる。ただしカウントダウンやティッカーなど毎秒更新される要素は、事前生成した絵と実時間がズレるため、切り替え直前に再焼き込みする。foreignObject内では外部フォントが解決されないので、使用フォントのみをSVGへ埋め込む(全部積むとサイズが膨らむ)。背景の二重ぼけは、変形前レイヤーと変形後レイヤーが同時に描画されていることを疑う。
  • ひとことまとめ:変わらないものは先に、変わるものは直前に。

6. 🎁 お楽しみコーナー:三姉妹格付けランキング「かっこいい斬られ方」

そよ風のさじ加減と画面を斬る演出⚔ の挿絵6

今日は一日じゅう画面を斬っていたので、その勢いのまま。三姉妹が「かっこいい斬られ方」を勝手に順位づけします。

ルピナス
ルピナス (笑顔)
第3位。横一閃。ばっさり真っ二つ、王道。
アイリス
アイリス (怒り)
は!?王道が3位!?王道は1位でしょ!
ルピナス
ルピナス (ふつう)
王道は安心だけど驚きが無いのよ。第2位、めった切り。全方向から刻まれてぼろぼろ崩れる。
フィオナ
フィオナ (笑顔)
あら、わたくしはめった切りが1位だと思っておりました。手数の多さは正義かと。
アイリス
アイリス (びっくり)
フィオナ、なんでそんな血の気の多い意見なの。
フィオナ
フィオナ (ふつう)
丁寧な仕事とは、細部まで行き届くことですので。
アイリス
アイリス (あわあわ)
細部まで刻むな。
ルピナス
ルピナス (笑顔)
そして第1位は、縦一閃。上から下へ一本、そのあと左右が不均等に崩れていくの。まっすぐ落ちないところが良いのよ。
アイリス
アイリス (考え中)
え、なんで不均等がいいの?きれいに落ちたほうが気持ちよくない?
ルピナス
ルピナス (ふつう)
きれいすぎると作り物に見えるの。ちょっと崩れてるほうが本物っぽい。
アイリス
アイリス (無表情)
……じゃあ、あたしが部屋を散らかしてるのも本物っぽさってこと?
フィオナ
フィオナ (呆れ)
それは、ただ散らかっているだけです。
アイリス
アイリス (泣き)
今日いちばんばっさり斬られたのあたしなんだけど!
ルピナス
ルピナス (大笑い)
第1位、更新ね。アイリスの部屋、めった切り。
フィオナ
フィオナ (笑顔)
みなさまは、どの斬られ方がお好みですか。順位への異議も大歓迎ですので、コメントで教えてくださいませ。

7. 💐 今日のまとめ

みんなは、何かを作り直すかどうか迷ったとき、どこで見切りをつけてる?