サクッとOculusジェットコースターをつくろう! その5 ~ コースターの加速をブループリントで実装 UnrealEngine43分クッキング #UE4Study

スクリーンショット_011815_073759_AM

コースターが走る音や、コースの勾配でコースターが加速、減速するようにしてみます。

前回

サクッとOculusジェットコースターをつくろう! その4 ~ コースをつくってみる。 UnrealEngine43分クッキング
http://2vr.jp/2015/01/15/ue4-de-oculus-rollercoaster-4/

前回はRollercoasterPlugin4.4.1を使って作成したコースを一周走らせるところまで行いました。

環境

  • Unreal Engine 4.4.3
  • RollercoasterPlugin 4.4.1

 コースターを加速させる

落下するポイントで一気にガっと加速させましょう。

実装はレール上の任意の地点にトリガー用のコリジョンを配置して、PlayerPawnとぶつかったというイベントをレベルブループリント(以下BP)で受けて加速の処理を定義していきます。

コースターの加速はRollercoasterPlayerControllerに用意されているAddVelocityから。減速についてもこちらにマイナス値を与えればOK。

加速する地点にTrigger Volumeを配置

まずは急降下ポイントへTriggerVolumeを配置します。

Shift+1でモードパネルの配置モードへ切り替え、ボリュームからTrigger Volumeをビューポートへドラッグして配置。

レベルのスケールを変えたこともあり、配置後に選択してRキーでスケールを編集します。

スクリーンショット_011815_060341_AM

コースターの加速をBPで定義

次にTriggerVolumeに衝突した後のイベントをBPへ定義していきます。

シーンアウトライナーでTriggerVolume1を選択。「イベントを追加」からOnActorBeginOverlapを選択。
※TriggerVolumeを選択した状態でレベルBPから追加もできる。

無題クリップ_011815_061938_AM

選択後、自動的にレベルBPが開き、赤矢印で示したOnActorBeginOverlap(TriggerVolume1)が配置される。

スクリーンショット_011815_071029_AM

その他の部分を上の図のように作成。

設定内容の説明についてはこちら

サクッとOculusジェットコースターをつくろう! その3 ~ オープンソースなUE4Rollercoasterのレベルブループリントを読む。 UnrealEngine43分クッキング
http://2vr.jp/2015/01/13/ue4-de-oculus-rollercoaster-3/

説明の補足

RollercoasterPlayerControllerのAdd VelocityはRollercoasterPawnのClimbingがOFFの状態(=コースターが重力や摩擦係数の影響を受けるようになる)で有効になるのでAdd Velocityを与える前にClimbingをOFFへ設定。

ブループリントのつくりかたについてはこちら

Unity使いのOculusコンテンツ開発者がUnrealEngine4に再々入門してみる その3 ~ ゲームモードを知る
http://2vr.jp/2015/01/03/try-ue4-3/

サクッとOculusジェットコースターをつくろう! その2 ~ ブループリント続編  UnrealEngine43分クッキング
http://2vr.jp/2015/01/12/ue4-de-oculus-rollercoaster-2/

加速に合わせて音を鳴らす

RollercoasterPawnのStart Climbingが上るカタカタ音。
Start Fallingが落下音で、Fade Track Soundにてそれぞれの音をフェード効果でOFF

スクリーンショット_011815_073303_AM

※数値などは調整したため弄ってある。

スクリーンショット_011815_073759_AM

その他

手前のレールが途切れる、消える

前回レベル全体のスケールを小さくしたため、相対的にカメラのビュー範囲(レンダリングされる範囲)より近い位置にある手前のレールの3Dオブジェクトがカリングされて描画されなくなります。

対応

カメラのビュー範囲の開始を指定するNear Clip Planeを下げる。

Unityではカメラコンポーネントの設定、Clipping PlanesのNearから設定を行いますが、UE4ではプロジェクトの設定にて行います。(さんありがとうございます。)

無題クリップ_011815_052315_AM

 

デフォルトは10。RollercoasterPluginで参考にしたUE4Rollercoasterのプロジェクトで0.5なのでそれに倣う。

スクリーンショット_011815_062032_AM

 

モーションブラーをOFF

再生時にウザったかったカメラのモーションブラーもSmooth Frame RateからOFFにできる。

Happy my life | UnrealEngine4(4.5.1)+DK2(0.4.3)で75FPSを実現する
http://blog.cnu.jp/2014/10/31/oculus-dk2-ue4-75fps/

以上でコースターをコースのレールの高低差で加速、減速。それに合わせて音を鳴らすことも実装できました。

次回

Unreal Engine 4.6.1に対応したRollercoasterPlugin4.6.1が公開されたので、プロジェクトとプロジェクトに含まれるRollercoasterPluginプラグインのアップデートを行います。

サクッとOculusジェットコースターをつくろう! その6 ~ プロジェクトとプラグインをバージョンアップ
http://2vr.jp/2015/01/18/ue4-de-oculus-rollercoaster-6/