[UE4]第11回UE4ぷちコン反省:進行制御
概要
第11回UE4ぷちコン応募作品の進行制御の記録。
・DataTableで進行管理しようとしたがBlueprintに乗り換えた
・1イベントで1カット分の注目Actor選択や音声再生、入力指示データ再生を行う
・よく使う処理は派生元Classで記述した事で、チュートリアルを楽に作れた
Blueprintによる進行管理
・当初は、進行管理もタイミングゲームのような秒数と実行内容を表にしたもので進めればよいだろうと考えていた
・だが、タイミングゲーム部分をDataTableで作ってみた際に見えた反省から、フォーマットを策定しきれないと悟りBlueprintで記述することにした
・1カットの単位を「セクション」とした
・これに着手する前にAnimation Montageを触っていたので深く考えず単語を持ってきた
・1セクションで行う事
・タイミングゲームのデータを再生する(タイミングゲームの記事参照)
・そのゲームに必要な演出を再生する
・表示するActor選択
・使用するカメラ選択
・音声再生
・発火するエフェクト
例えば、ゲーム本編のセクション進行制御は以下のようになっている。
・タイミングゲームの終了待ち等でDelayノードが活躍しまくっている
・セクションBlueprintの基底クラスはC++で定義している
・単に自分が書きなれているだけなので、基底をBlueprintにしても良いと思う
・プレイアブルチュートリアルに挑戦したかったので、そちらでも使いそうな処理は基底クラス側で書いて流用した
良かった点
・セクション別にデバッグできる
・いちいち新しく作った部分までプレイせずに済み、調整のイテレーションが速い
・編集してすぐ確認できる
・Blueprintの強み
・汎用処理をくくりだすことで素早くチュートリアルを作れた
悪かった点
・ノードグラフが散らかる
・仕方のない部分ではあるが…
・複数人で平行に作る場合は、1セクションで1Blueprintにするなど工夫が必要だろう
・あまりにも柔軟になんでも書けるものだから、思わず爆発セクションのカメラのFOV制御をTimelineノードで書いちゃった!
・爆発セクションの後に作ったスローガンセクションの回り込みカメラはSequencer制御なのに…
・爆発セクションはたまたま写真撮影がいい感じになったので、CineCameraへの乗り換えを行わなかったんや…
感想
・甘えすぎると、いつかきっと痛い目を見る
・節度を守れば、超付き合いやすい
以上