第14回UE4ぷちコン振り返り 実装編

前回
akisenri.hatenablog.com

時系列で書くの無理そう…
ということで、作った内容毎で勘弁して。
そのほうがきっと誰かの役に立つはず…

Level

ベースはFirstPersonテンプレート。
まあ、ライティング関係以外ほぼ元のもの使ってないけど。
部屋はHQ Residential Houseのアセットを使用。
www.unrealengine.com
そこからライト消したりできないアセットをひたすら削除。
窓から外を見れるように邪魔なものも削除。
使わない部屋も削除。

全体はこんな感じ。
f:id:aki_senri:20201231164337j:plain

この時点で見えてるのはゲームの説明用の足+Shinbiちゃんの顔だけど、Level上にはVisibleを切って見えないようにしてクリア後の綺麗な足+Shinbiちゃんの顔も配置済み。
それぞれFullSunegeとRemoveSunegeの名前になってる。
Shinbiちゃんどこいった。

カメラは左から

  • タイトル用
  • ゲーム中用
  • ゲーム開始前の説明とクリア後用

最初は部屋を複製して各シーン毎に自由にできるようにしようと思ったけど、どうにもライティングがおかしくなる原因がなかなか分からなくて、一緒の部屋にまとめる。
後で床が抜けてて光がちゃんと反射してないのが原因だったのが発覚。
みんな、薄い床とか壁はやめようね。
部屋だけ複製するために元の外壁消したせいかもしれないけど。
家の内壁の法線が内側向いてて、外からの光が透過するから?なのか、外壁を新たに作っていくことに。
f:id:aki_senri:20201231172448j:plain

部屋の中でも夏の空気感が出るように、LightSourceのIntensityを少し高めの75くらいに設定。
今見るともう少し高めでも良かったかも。

脛毛を何度もスポーンさせるのは効率が悪いので、予めLevel上に配置しておき再利用できるように、部屋の裏側に脛毛を植える。
f:id:aki_senri:20201231173443j:plain

ゲームモード

Levelが遷移しないので、全て同じゲームモード内で処理する。
汚すぎて参考にならなそう。
ただ、グラフを分けたのでシーンごとに見れるようにはした。

f:id:aki_senri:20201231180854j:plain
この馬鹿みたいなコメントつけたの誰だよ。
自分か…

各シーンの遷移はほぼWidgetからのイベント任せ。
レベル上にシーケンサー配置して使おうとした跡があるけど、一切使ってない。

ゲーム説明用のキャラクターとゲームクリア時のキャラクター(足のあれ)

足の部分は板メッシュに写真のマテリアルを貼り付けただけ。
足が短い感じするけど長いほうだと自負している。
ただ足のサイズがでかい。

Shinbiちゃんは首だけのメッシュにするとか、そんな残酷なことはできないのでポーズを作った。
ただ、体がそのままだと足からはみ出すので、ひねったりなんやりしてみたけど、手足小さくしてもまとまらず、全体を小さくする手に出た。
それでも収まらなかったので、最終的に頭大きくして首をキュって曲げる方法になった。

ちょっと下から見るとこんな感じ。
f:id:aki_senri:20201231181806j:plain

横からだとこう。
f:id:aki_senri:20201231182043j:plain

これ大丈夫…?エピックの人に怒られない…?

クリア後の綺麗な感じを出すためのエフェクトはNiagara
f:id:aki_senri:20201231192910j:plain
パーティクルのテクスチャは用意せずにマテリアルで計算して作ってる。
以前、キラキラエフェクトを作りたくなって作ったものの使いまわし。
結構無茶な計算をして作ってる。
f:id:aki_senri:20201231193139j:plain

毛抜き

f:id:aki_senri:20201231184930j:plain
レイマンですね。
FirstPersonテンプレートを使ってしまったので、ThirdPersonテンプレートから召喚。

初期位置を見えるようにArrowを置いている。
左側の脛毛は掴む位置を見えるようにするためのダミー。

脛毛掴むアニメーションはUE4エディター上だけで作った。
結構しんどかった。
多分作るのに一番時間がかかったところ。
アニメーションBPも作って、内容は簡単だけどアニメーション制御をするようにした。
f:id:aki_senri:20201231184628j:plain
レイマンが移動する部分はスプライン使って別で動かしたけど、アニメーションに組み込んだほうが良かったかも。

一通り作った後、風呂に入りながら、操作方法が見えないことに気がついて、各方向の矢印は急遽Blenderで作って投入。
時間もギリギリだし、アニメーションもTickで動くように作ってしまった。

BPは許されるレベルのスパゲティと思いつつ、関数作ったほうが良さそうな部分が見える。
f:id:aki_senri:20201231191907j:plain

総括

ギリギリに作るな。