Open4

Unreal Engineでホラーゲームを作る際に便利な「Horror Engine」を自分好みにアレンジする

さんきゅっぱさんきゅっぱ

UnrealEngineで一人称ホラゲーを作る際には以下のアセットが役に立ちそうです

  • Horror Engine
    • 一人称ホラゲーで必要になりそうな機能は大体実装されている
    • 昔からずっとあるアセットだからちょっと古め
    • 実装内容が参考になるためEpicに買収され無料化された(過去形)
    • 最近はその契約?が切れたのか、再び有料化された「SE」が登場した
  • Pro First Person Horror Template
    • P.T.から着想を得てそうなリアルなホラゲーに適している
    • おそらく8番出口にも使われている
    • 最低限の実装

ちゃんとホラゲーを作りたいとなるとHorrorEngineが良いわけですが、ドキュメントが一切なく、Youtubeにちょろっとチュートリアルがある程度です。わからなかったらDiscordで聞いてねって感じなのと、「令和のホラゲー」を作ろうと思うと若干機能が足りなかったりしそうなので、備忘録的に実装を解読した結果と自分好みにアレンジした内容について書いていこうと思います。(重要そうなところだけ)
もし、ちゃんとまとまりのある文章に出来たら、記事にしようと思ってます。

話は360°変わりますが、最近個人ゲーム開発界隈に入り浸るためのX(旧Twitter)アカウントを作ったので、ぜひフォローしてください。作ったはいいもののお友達がいなくてとても寂しい状態です。

さんきゅっぱさんきゅっぱ

Horror Engineで出来ること

分類についてはかなり適当ですが、とりあえずできることを列挙します。(抜け漏れは悪しからず。気づいたら追加します)

何ができるか

プレイヤーの操作に関連する項目

  • 前後左右の移動(当たり前)
  • 視点の移動(当たり前)
  • 素材に応じて足音を鳴らす・HeadShake(歩いた時のカメラの揺れ)
  • 左右へのリーン(体を傾ける)
  • 走る
  • ジャンプ
  • しゃがむ
  • 落下処理
  • フォーカス(視点のズーム)

装備品関連の項目

  • フラッシュライト
  • グロウスティック
  • ビデオカメラ
  • カメラ(写真)
  • ライター
  • 松明
  • ピストル

ギミック関連の項目

  • カードキーロック
  • ナンバーロック
  • キーロック
  • 引き出し
  • 梯子
  • 引き戸
  • オブジェクトを運ぶ
  • ロッカー
  • 監視カメラ
  • レバー
  • ハンドル
  • スイッチ
  • ビデオデッキ(ビデオカセットの再生)
  • ラジオ
  • フレーバーテキストなどの読み物

トリガー関連の項目

簡単なトリガーもありつつ、現時点で解読できなそうなものもあったので、別途記載する

さんきゅっぱさんきゅっぱ

プレイヤーの動きについて

HorrorEngineにデフォルトで設定されているプレイヤーの動き(操作感)では、自分が開発しようとしているホラゲーに合わないので、まずはここを変える必要がある
HorrorEngineでプレイヤーの動きを調整するには、以下のStructureの更新が必要
HorrorEngine > Blueprints > HE_GameplaySettings

ただし、デフォルトの状態で調整できるのは以下の項目のみ

上記のパラメータは、以下のStructureで定義されている
HorrorEngine > Blueprints > Structures > Gameplay > Gameplay_player

ここで設定されている値は様々なところから使用されている。
僕のゲームでは、上記に加えて、以下の値の調整が必要だった

  • Gravity Scale
  • Max Acceleration
  • Braking Friction Factor
  • AirControl

そのため、Gameplay_playerに定義を追加し、任意の値を設定。
前述のとおり、このStructureの値は様々なところで使用されているが

  • キャラクターの動きに関する設定値であること
  • Jump Velocityの設定値が適用されている

という理由から
HorrorEngine > Blueprints > Player > HE_Character
のConstructionScriptで反映することにした。

さんきゅっぱさんきゅっぱ

CameraのPostProcess

CameraのPostProcessはデフォルトで特に設定されていない?
どちらにしても少しいじりたかったので
HorrorEngine > Blueprints > Player > HE_Character
のパラメータとしてCameraPostProcessを定義し、デフォルト値に好みの値を設定。

ConstructionScriptでPlayerCameraに対してPostProcessを設定した。