イベント/画面

Last-modified: 2024-05-19 (日) 05:50:06

画面カテゴリについて

画面カテゴリはその名の通り画面全体に効果を及ぼすものだ。
画面の色、画面の揺れ、そしてフラッシュに天候効果。
いずれもゲームの進行上では些細な事だが、演出において臨場感を出すためには必要不可欠なものだ。
画面の色が暗ければ、明かりの無い場所や夜を表現出来るし
画面を揺らしておけば、地震や大きな振動の発生時の迫力が増す。
雨に軽いフラッシュを足せば、雷雨が発生した事に説得力が出る。
これらの表現を使わなければ、ストーリーが味気ないものとなってしまうだろう。

画面カテゴリを扱う際は、なぜその表現が必要かを自分の中でハッキリさせておこう。
具体性のある理由は、微調整の際に目指すべき方向性を定めてくれる。

  • 画面の表示順
    画面カテゴリにおいては表示順も重要だ。何故なら画面カテゴリで起こした事は
    ゲーム上に表示されているすべてに当てはまるとは限らない。
    例えば、画面カテゴリのどの効果も文章表示コマンドには一切影響を与えないのだ。
    デバッグ画面(画面最前面)>タッチ、メッセージ>フェードアウト>タイマー>画面のフラッシュ>ピクチャ>
    画面の色調設定>アニメーション>フキダシ>天候>近景>マップ★>キャラクター>マップ>遠景(画面最奥)

イベントコマンド一覧

画面のフェードアウト・フェードイン

画面を真っ暗にしたり、戻したりする。ほとんどの画面表示は見えなくなるが、メッセージなど一部は見える。
フェードアウトで真っ暗にし、フェードインで真っ暗な状態を解除する。設定項目は一切なし。
具体的に真っ暗になる影響範囲については上記の画面の表示順を参考にして欲しい。
イベント処理で一瞬画面に映ってしまうのを防いだり、演出のために真っ黒にしてから文章を出すなど用途は様々。

文章の一例
フェードアウト→「この時、俺は知る由も無かった。」
「今回の事件は、これから起こる本当の恐怖の前触れに過ぎなかったのだ…。」→場所移動→フェードイン

画面の色調変更

画面の色合いを-255~255の値で直接変更する。0で通常通りの色合いとなる。
赤、緑、青は指定した値を加算する。例えば255を設定すれば
画面全体が光の3原色の赤が最大値となり、画面が大分赤っぽくなる。他の色も同様だ。
グレーは0~255の指定で、これはいわゆる彩度の設定だ。
高くすれば色の明暗しか分からなくなり、色の差は分からなくなる。
画面右のプレビューで大まかなイメージは把握できるので、参考材料とすると良いだろう。
また、色調指定の項目にはプリセットが用意されており、よく使いそうなものが入っている。
あまり使わないとしても、「通常」は変えた画面の色を元に戻すのに扱いやすいだろう。

なお、「画面の」と書いてあるが画面内にあるもの全てがこの色調変更の影響を受けるわけではない。
上で説明している「画面の表示順」から右にあるものが影響対象となることに注意。

時間

画面の色調が変わり終えるまでの時間を指定出来る。
初期値の60だと、1秒間かけて色調が実行前から実行完了後のものにゆっくり変わっていく。
「完了までウェイト」のオプションにチェックが入っていると、これが完了するまでイベント進行を待つ。

画面のフラッシュ

画面全体を光らせる演出。性質は画面の色調変更とよく似ている。
赤・緑・青でフラッシュの色を指定し、強さ でその強さを指定する。いずれも0~255の範囲。
赤緑青すべてを0に指定することで、真っ暗になるフラッシュにすることも出来る。
画面の色調指定同様、このコマンドも影響範囲が決まっている。「画面の表示順」を参照されたし。

時間

フラッシュの効果が消えるまでの時間を指定出来る。
フラッシュの効果が一番強いのは、イベント発令直後のフレームで固定と思われるが
時間がながく設定してあるほど、フラッシュ後に画面がもとに戻るまでの時間が遅くなるのだ。

細かな仕様

実は戦闘開始時の白く光る演出も、イベントコマンドのフラッシュと同種の命令のようで
時間の長いフラッシュを指定してから戦闘に入ると、ゆっくり色が戻っていたところが
急に白いフラッシュで上書きされるために元の色に戻ってしまう仕様がある。

使用上の注意

かつて、あまりにもフラッシュを多用しすぎて日本全土に大きな影響をもたらした事件があった。
「ポケモンショック*1」である。詳細については検索してほしいが、簡単に言うと
「画面を点滅させすぎてテレビをみた非常に多くの人が体調不良を訴えた」という内容で、
当時の子供たちを釘付けにしていた番組が引き起こした事件ともあって影響力はあまりにも大きい。
アニメで最初に『テレビを見るときは部屋を明るくして離れて見てね』という注意を見聞きした事のある方もいるだろう。
その文言はポケモンショックによってテレビ局問わず数多くのアニメ作品で
冒頭に語られるようになった注意書き、またはセリフでありこの事件の影響力を感じさせる。
該当の話はその後黒歴史扱いとなり、他の話は何度も再放送されたがこの話は一度も再放送はされていない。
またポケモン以外の多くのテレビ番組も、演出を見直す事態となった。

勿論、映像を扱う身としてはゲームも例外ではないし、我々もこれを例外としてはならない。
特にSwitchは画面と目の位置が近くなりがちなので
フラッシュ表現は非常に効果的だが、健康面に悪影響を与えないようなるべく気を使って
演出を構築する必要があるだろう。強さの設定やフラッシュの回数は特に気を付けること。

画面のシェイク

画面を揺らす演出。このコマンドでは、画面は横にしか揺れないことに注意。
揺れに関する設定項目に「強さ」と「速さ」が存在するが
「強さ」は画面揺れの幅の長さを意味している。多いほど画面の左右の幅が広がり大きく揺れる。
「速さ」は揺れの速度。速さが大きければその分揺れの回数も多くなることだろう。
時間は揺れている時間だが、プレイヤーの操作中ずっと揺れさせていたいなら
並列処理イベントで完了までウェイトつきのシェイクをずっと実行させておくと良いだろう。
揺らしている間は地震系の、噛み合うBGSも一緒に流すと効果的だ。

なお、シェイクの効果範囲は画面表示順で言うと「天候」以下のものに影響を及ぼすと見られる。
雨が降っている時にシェイクさせるとグラッグラにガタついた線が見れる。なかなかカオス。

シェイクの画面揺れ範囲

編者が変数の画面Xを使ってどれくらい画面が揺れているかを確かめてみた。
すると強さだけでなく速さでも揺れる範囲が変わる事が分かったので、表に纏めることとする。単位はピクセル(px)


強さ
123456789
124681012141518
2246811131516*19
324681012141618
42579121414.5*1821
5257101214171922
625791214161821
724681012141618
825791214161821
9358101316182123
  • *付きは左右で差が生じる。この場合、中央値を取っている。左右どちらが大きくどちらが小さいかはランダム。
    2px差が生じた時と、3px差が生じている時が確認できた。

かなり速さによる影響の法則性の見えない表だが、実際にイベントコマンドを実行して検証した値で事実である。

検証で使った方法

900Fの振動で、1ウェイト毎に揺れる前の座標の差分を採ってその最大値と最小値を記録している。
最初にいくつかの組み合わせで300F待ってからデータを検出したり、120F待ってから検出、240F…とやって
120F待つくらいでも十分なデータを取れることがわかったので、それくらいで入力している。
最初に*印のデータが取れた時は長めにフレームを取ったが、結果は変わらなかったので仕様と判断した。
一応Y座標のデータも採ったが一切変化する事は無かった。

天候の設定

雨、嵐、雪のエフェクトを表示できる。強さは1~9まで指定可能だが
ハッキリ言って強さ9でもそこまで強くない。
他の画面カテゴリのコマンドと同じく、時間を1~999で設定出来、完了までウェイトのオプションも完備。

3種類の天候エフェクトは共存不可。どれか1つを流せばどれか1つが消える。
天候エフェクトを解除したいときは、1Fで雪の強さ1がおすすめ。

BGSとの相性が良いと書きたかったが、わりと天候エフェクトがしょっぱいので
BGSの音に天候エフェクトが負けがちなのが難しいところ…。

それぞれの天候エフェクトについて紹介しよう。


  • 雨をパラつかせる。強さ9でようやく小雨を脱せたかな、という程度の強さ。
    右上から左下に、縦にほど近い角度で落ちていく。

  • 嵐といっても、見られるのは威力の強い雨といった感じで嵐っぽさはイマイチ。
    それでもあれば多少は強い風が吹いている程度の演出にはなるかもしれない。
    こちらも右上から左下に、縦にほど近い角度で落ちていく。

  • しんしんと降る雪。強さの差がだいぶわかりにくい。
    上から下に、左右に振られながら落ちていく。

【タイミング】ウェイト

次のイベントコマンド実行を待つだけの処理。…というと単純でそんなに使わないように聞こえるかもしれないが、実際かなり重要。
変更できる内容は待つフレーム数の調整のみ。エディタにも書かれている通り、1フレームは60分の1秒。
なお、1フレームごとに画面が更新される構造になっているので、一旦それを待つ意味でも重要。

演出面では、緩急をつけるためや、画面カテゴリやアニメーション・フキダシ等で
完了までウェイトを使わなかった場合の時間調整に使ったり、キャラクターの感情を表現する為一拍置いたりする。
複雑なイベントではもっと重要で、画面更新のために1F待つことが非常に多く、
他にも画像の移動や入力の猶予、キャラクターの移動を厳密に待つために使ったりする。

コメント欄


*1 ポリゴンショックとも