「UNREAL FEST×ぷちコン 冬のゲームジャム祭り!」に参加しました
UE4ぷちコン(UE4を使って何かしらの作品をサクッと作る みたいなコンテスト)の UNREAL FEST版?( https://historia.co.jp/ue4petitcon-sp01 )に参加しました。
今回のテーマは「あつまる」だったので、満員電車から脱出するゲームにしました。
手刀を構える(「すいません」って感じで歩くやつ (なんて言えばいいんだこれ))ことで人の間をすり抜けて、ゴールにたどり着くゲームです。
いつもなら提出までの期限が約1ヶ月あるんですが、今回のUE4ぷちコンは2日ぐらいしかありませんでしたので、休む暇がなく、かなり体力を消費しました。
ゲーム処理の解説
人を押す処理
満員電車から脱出するゲームだったので人を押す処理を作りました。
処理の内容は、 内側にブロック用コリジョン, 外側にオーバーラップ用コリジョンを配置して、 外側のコリジョンがオーバーラップしていたら押される側をAddMovementInputで移動させることで、押されているように見せています。
処理負荷対策
満員電車から脱出するゲームだったのでキャラクターを大量に表示することになりました。
つまり処理負荷がすごいことになります。
今回した対処法は、
-
Desired Max Draw Distance を 0 よりも大きくする
-
CastShadowを切る
-
アニメーションの処理負荷を減らす
でした。
- Desired Max Draw Distance を 0 よりも大きくする
Desired Max Draw Distance を 0 よりも大きくした場合、キャラクターとカメラの距離がその数値よりも多いとキャラクターのメッシュが描画されなくなります。
- CastShadowを切る
CastShadowはキャラクターのメッシュの影がなくなります。電車内なのでバレないはずです。
- アニメーションの処理負荷を減らす
アニメーションの処理負荷を減らすのは、Optimizationという項目があったので負荷が減りそうな設定にしました(検証してません)。
Only Tick Pose when Rendered は、描画されてるときだけアニメーションするみたいなので、処理負荷が減りそうです。
Component Use Fixed Skel Bounds は、バウンディング(描画するかどうか判定する範囲)が固定されるみたいなのでCPUの負荷が減りそうです。
負荷が減りそうです。
一番効果があるように見えたのはCastShadowを切ることでした。
ライティングをビルドする時間も惜しい
約2日しかないのでライティングビルドを待っている暇などありません。
ビルドしなくてもまあまあの見た目にする方法があります。
World Settings(レベル編集中の詳細パネルの右にあったりする)の、Force No Precomputed Lightingを有効にして、
ライティング結果が取り消されるぞ という警告が出ますが「OK」を押します
そしてDirectionalLightの可動性をムーバブル、
SkyLightの可動性はステーショナリーに(これをすると明るくなります)
すると、ビルドしなくてもよくなります!
これはバカでかいステージにも有効です。
まとめ
休む時間がほしかったです。