この記事は、2024年3月7日に開催された「CyberAgent Game Conference 2024(CAGC 2024)」のセッション内容をAIによる自動文字起こしをベースに加筆修正したものになります。
セッション概要
『呪術廻戦 ファントムパレード』のバトルでは、スキル演出の制作にTimelineを用いています。
本セッションでは、スキル演出がTimelineによってどのように実現されているのか説明し、バトルチームのエンジニアが開発する「スキルTimeline制作ツール」の全体像を話します。
そして後半では、クリエイターとの二人三脚を重視した制作フローに触れ、その中でエンジニアが制作ツールに込めた「こだわり」を、いくつかの具体的な事例を挙げながらお見せします。
登壇内容
『呪術廻戦 ファントムパレード』の多彩なスキル演出を生み出した制作ツールへのこだわり というタイトルで、クライアントエンジニアの片山が発表させていただきます。よろしくお願いします。
呪術廻戦 ファントムパレードについて
まずはじめに、『呪術廻戦 ファントムパレード』について説明します。
『呪術廻戦 ファントムパレード』は2018年より週刊少年ジャンプにて連載中の、芥見下々氏による人気漫画を原作としたテレビアニメ呪術廻戦を元にした作品初のスマートフォンゲームです。
テレビアニメ呪術廻戦の第一期の物語を追体験できるだけでなく、福岡を舞台にしたファンパレオリジナルのストーリーが楽しめるコマンドバトルRPGとなっています。
バトル部分についてもう少しだけ簡単に説明していきます。
呪術廻戦の世界観を再現したターン制のコマンドバトルRPGとなっていまして、様々なキャラクターを編成してバトルすることができます。
そして、キャラごとに様々なスキルを持っているんですが、スキルごとに用意されている「多彩なスキル演出」というところがこのゲームの魅力の一つだと思っています。
本セッションでは「スキル演出」というところに焦点を当てていきたいと思います。
- 「スキル演出がどのように作られているのか?」
- 「それを生み出す制作ツールがどのようなものなのか?」
- 「制作ツールを作る上で、エンジニアの視点でこだわっていることは何か?」
そういった内容をこのセッションでお伝えできればと思います。
アジェンダはこちらです。
スキルTimelineについて
まずはじめにスキルTimelineについて話していきたいと思います。
『呪術廻戦 ファントムパレード』では、スキル演出の制作にUnityのTimelineを用いています。
虎杖のスキル「拳打」を具体例として、実際のスキル演出とスキルTimelineをスライドに載せてみました。
この画像だと小さくて分かりづらいかと思いますので、このタイムラインを少し簡略化して図示してみたいと思います。
スキルTimelineはそれぞれの機能を持ったTrackの組み合わせによって作られています。
例えば、
- 相手のところへ移動して、元の位置へ戻るといった移動を制御するためのTrack
- パンチするモーションを再生するためのTrack
- ヒットのタイミングで実際にダメージを発生させるためのTrack(ヒット通知Track)
- エフェクト再生のためのTrack
- SE再生のためのTrack
など、機能ごとのTrackを組み合わせて一つのスキルタイムラインを作っています。
すごくシンプルなスキルを例に挙げて説明したんですが、必殺スキルや連携必殺の演出など、より派手で複雑な演出でもTrackの組み合わせによって同様に作られています。
必殺スキルでは、
- 動画の再生を行うためのTrack
- 各種ポストエフェクトのパラメータを操作するためのTrack
など、さらに色々なTrackを駆使しながら演出が作られています。
スキルTimeline制作ツールの全体像
ここからはスキル演出を作るための「制作ツール」の話に移りたいと思います。
まずはじめに、スキルTimeline制作におけるエンジニアの役割について簡単に説明させてください。
先ほど説明した、Trackを組み合わせながら一つのスキルタイムラインを作っていく部分は、クリエイターの役割になっています。
それに対してエンジニアは、Track自体を実装したり、そこに機能追加をしたり、クリエイターがスキル演出を何度も確認できる環境を作ったり などなど...
広く、スキルTimelineを作るための「制作ツールの開発」がエンジニアの主な役割となっています。
こちらがその、私たちがスキル確認シーンと呼んでいる、スキルだけを何度も実行して確認するための環境になります。
この環境の上で、クリエイターがTimelineを調整してもらっています。
このスキル確認シーンにはいくつも機能があるんですが、いくつか抜粋して紹介していきたいと思います。
例えば、スキル結果のパターンごとに演出を確認する機能があります。
スキルを実行した結果、
- 相手を倒した場合
- 黒閃が発生した場合
- ヒットしなかった場合
など、そのパターンごとにどういう演出になっているのか確認することができます。
また、スキル確認シーンには「Previewモード」という、Timelineをフレーム単位で確認しながら編集できる機能があります。
このPreviewモードは演出のクオリティを上げるためには必須の機能であると考えていますので、各TrackでPreviewモードまでサポートするように作っています。
スキルTimeline制作ツールへのこだわり
ここからはより細かいところまで深掘りながら、制作ツールへのエンジニア的な「こだわり」について話していきたいと思います。
まずはじめに、スキルTimeline制作のフローについて触れておきたいと思います。
エンジニアが制作に大きく変わり始めるのは「絵コンテ確認」です。
このタイミングでは、エンジニアとクリエイターとで絵コンテを一緒に見ながら、「この演出はどうやって実現しようか?」「どういう機能が必要なのか?」ということを話し合います。
そしてエンジニアが演出の実現に必要な機能を作り、その後、クリエイターに引き継いでいくという流れになっています。
しかし、実際にはここまで綺麗な一本道になっているわけじゃなく、エンジニアとクリエイターとの間で綿密にコミュニケーションを取ったり、何度もラリーを繰り返しながら、まさに「二人三脚」というような作り方をバトルチームでは大事にしています。
その中でエンジニアとしては、
- クリエイターがやりたいことができるツールになっているのか?
- 使いやすいツールになっているのか?
ということに向き合いながら、こだわりを持って制作ツールの開発をおこなっています。
ここからは、そんなエンジニア的こだわりについて、3つの事例を挙げながら紹介していきたいと思います。
1つ目の事例は「汎用エフェクト」に関するものです。
『呪術廻戦 ファントムパレード』では、スキルの効果に対応した「汎用エフェクト」というものがあります。
回復効果なら緑色のエフェクト、バフ効果ならオレンジ色、デバフなら青色といった感じですね。
この汎用エフェクトですが、最初に簡単に説明したヒット通知Trackの処理として、自動生成するようなシステムにしています。
ただし、スキルごとに、この自動生成を「やらないようにする」機能があります。
ここでは、この機能について少し深ぼって話していきます。
開発中の話になるんですが、元々は「汎用エフェクトを自動生成するシステム」というものはなく、ヒット通知Trackにエフェクト生成Trackを並列させることで演出を作ってました。
これでも演出を作ることはできたんですが、この並びがあまりにもたくさんあったので、エンジニア側から工数削減のためにこのシステムを提案した経緯があります。
しかし、
- 汎用エフェクトを出したくない演出もあるんじゃないか?
- 自動生成するというルールが縛りになってしまって、本当にやりたい演出が作れない場合があるんじゃないか?
そういったことまで考えて、このON/OFF機能というものも合わせて実装しました。
実際に、家入の必殺スキル「反転術式(大)」というスキルでは、回復の汎用エフェクトではなく、このスキル専用のエフェクトを使ったリッチな演出になっています。
このように、ON/OFFを選択できるという小さい機能ではあるんですが、クリエイターの作業工数を減らしつつ、ただし「クリエイターの表現の幅を狭めない」という意図が込められている、こだわった機能になっています。
続いて2つ目の事例は「キャラクター制御の共通化」についてです。
各Trackの機能要件として、例えば、
- スキルの実行キャラの位置を移動させたい
- スキルの実行キャラにモーションを取らせたい
- スキルの対象キャラの色を変えたい
などがあるのですが、ここはエンジニアとしては、
- 広く「キャラを制御するTrack」としてインターフェースを作ってキャラの参照の渡し方を共通化する
- どのキャラを制御するかはTrack上で選べるようにする
といった設計を考えていきます。
スライドに、実際のエディターのスクショを載せてみました。
インターフェースで実装を共通化していくという考え方は目新しいものでは全然ないと思うんですが、強調したいのは選択できるタイプの「種類の多さ」です。
例えば、スキルの対象キャラより「手前にいるキャラ」を非表示するというTrackがあるんですが、これも「キャラを制御するTrackの一つ」と考えて、一つのタイプとして共通化されています。
他にも、ボスが登場してくる時の「強敵出現演出」でも同じTimelineの仕組みを使っているんですが、ここでは「ボス」に対してエフェクトをかけるなどの演出があり、これも一つのタイプとして共通化されていたりします。
このように、キャラクター制御はかなり徹底して一箇所に集約できていると思っています。
普段から、クリエイターにとって「使いやすいツールになっているか?」ということを意識しているんですが、実装を共通化していくことは、ツールにとってはそのまま「機能の共通化」「使いやすいツール」に繋がっていくと思うので、かなりこだわって作っている箇所です。
最後、3つ目の事例は、「Track単位での演出分岐」ということについて話していきたいと思います。
ファンパレでは、演出のクオリティを高めるために、「スキル実行時の状況によって細かく演出を変えたい」という話がありました。
例えば、
- スキル対象が1体 or 複数の場合
- 式神がいる or いない場合
- トドメをさしてバトルに勝利する場合
に演出を分岐させたいということです。
ただ、パターンごとにTimelineを分けて作るという方針だと、似たようなTimelineが複製されていくことが目に見えてたので、無駄が多いとも感じていました。
ということで、Timelineごと分岐させるのではなく、「Track単位で演出を分岐できる仕組み」というものを実装しました。
具体的に、ブレイク演出を例に説明していきます。
上が普通のブレイク演出、下が、ブレイクと黒閃が同時に発生した場合の演出になってます。
Timelineとしては1つですが、その中には「黒閃の演出」に関するTrackがいくつか置かれていて、
- 黒閃が発生しなかった時はMuteされる
- 黒閃が発生した時は実行される
ということを、スキル実行時に動的に切り替えるような作りになってます。
続いて、ブレイクが1体に対して起きた場合と、複数体同時に起きた場合の演出を並べてみました。
これはすごく細かい話になってしまうんですが、1体の時と複数体の時とでエフェクトの出し方を変えていて、これもTrack分岐の仕組みを使って切り替えている演出だったりします。
実際のエディターはこのような見た目になっていて、Trackごとに色々な条件を設定できるようになってます。
また、クリエイターはTrack分岐を作る上で「複数のTrackに対して同じ条件を設定をする」ことがたくさんあると思ったので、複数Trackを選択した状態での「同時編集機能」も作っていたりします。
このように、Track単位での演出分岐の仕組みは、演出のクオリティを一段引き上げるためにエンジニアとしてできることを細かく積み重ねた、こだわりを持った機能になっています。
最後まとめになります。
スキルTimelineの仕組みや、その制作ツールについて話しました。
また、ファンパレではエンジニアとクリエイターの二人三脚という作り方を大事にしていて、その中で、スキルTimeline制作ツールには、演出のクオリティを高めるためのエンジニア的な「こだわり」がいくつも込められています。
機能の1つ1つが技術的に尖っているわけではないんですが、
- クリエイターがやりたいことができるツールになっているのか?
- 使いやすいツールになっているのか?
そういうことを考えながら、エンジニアとして「やるべきこと」をやっているということが伝わっていれば幸いです。
以上になります。ありがとうございました。
©芥見下々/集英社・呪術廻戦製作委員会 ©Sumzap, Inc./TOHO CO., LTD.