コースターが走る音や、コースの勾配でコースターが加速、減速するようにしてみます。
前回
サクッと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キーでスケールを編集します。
コースターの加速をBPで定義
次にTriggerVolumeに衝突した後のイベントをBPへ定義していきます。
シーンアウトライナーでTriggerVolume1を選択。「イベントを追加」からOnActorBeginOverlapを選択。
※TriggerVolumeを選択した状態でレベルBPから追加もできる。
選択後、自動的にレベルBPが開き、赤矢印で示したOnActorBeginOverlap(TriggerVolume1)が配置される。
その他の部分を上の図のように作成。
設定内容の説明についてはこちら サクッと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
※数値などは調整したため弄ってある。
その他
手前のレールが途切れる、消える
前回レベル全体のスケールを小さくしたため、相対的にカメラのビュー範囲(レンダリングされる範囲)より近い位置にある手前のレールの3Dオブジェクトがカリングされて描画されなくなります。
対応
カメラのビュー範囲の開始を指定するNear Clip Planeを下げる。
Unityではカメラコンポーネントの設定、Clipping PlanesのNearから設定を行いますが、UE4ではプロジェクトの設定にて行います。(dizgidさんありがとうございます。)
デフォルトは10。RollercoasterPluginで参考にしたUE4Rollercoasterのプロジェクトで0.5なのでそれに倣う。
モーションブラーを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/