妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

SpriteStudioのデータをUE4で使う方法(アニメーションの単位時間)

f:id:una_unagi:20151229174715p:plain

妹「そういえばSpriteStudioの方で単位時間の設定があって、これが今1/60になってるんだけど、このままでいいのかな? 使うゲームエンジンに合わせて設定するみたいな話を見たんだけど、UE4がどうなってるのかわからないんだけど」

「そこはどんな数字でもいいよ。細かくアニメーションさせたいなら1/60とかでもいいし、マス目が多すぎて気になるなら1/20とかでもいいし」

妹「でも数字が違ってたらちゃんと表示出来ないのでは?」

「UE4の標準設定は負荷に合わせて変わるようになってて、最速が秒間62フレームになってる。だから負荷さえかかってなければ1/60のまま表示するし、60に足りない時はプラグイン側で途中のコマを飛ばして表示する。アニメ側が遅い場合は途中で待機するから、やっぱり同じスピードになる」

妹「飛ばした時に変になったりしない? 丁度表示を切り替えるタイミングのフレームを飛ばしたせいで絵がかわらないとか」

「そういうことは起きない。表示をスキップはするだけで途中の情報は考慮されてるから。でも重要なタイミングで絵が出ないという場合はある。例えば1/60で白と黒を1フレームごとに交互に表示してフラッシュさせるエフェクトだとして、途中が抜けると黒が続いて何がなんだかわからないことになるとか」

妹「それは大問題なのでは……」

「基本的にその状態は負荷かかりすぎてるってことだから、もっと高性能なパソコンで遊んで下さいっていう話になるんだけど、スマートフォン前提ならちょっと遅めにアニメ作った方がいいかも」

f:id:una_unagi:20151229215606p:plain

「それとUE4側で表示速度を変えるという事も出来る。例えばSpriteStudioで単位時間1/10にすると1/60の時の6分の1の生成速度になるけど、UE4側でAutoPlayRateを6.0にするとそれを6倍速で表示するから、トータルで元の1/60と同じ速度になる。ゲーム中に速度を調節したい場合はこの設定が使えそう」