サクッとOculusジェットコースターをつくろう! その6 ~ プロジェクトとプラグインをバージョンアップ UnrealEngine43分クッキング #UE4Study

 

スクリーンショット_012915_015355_AM_mini

前回

サクッとOculusジェットコースターをつくろう! その5 ~ コースターの加速をブループリントで実装
http://2vr.jp/2015/01/18/ue4-de-oculus-rollercoaster-5/

前回はRollercoasterPlugin4.4.1を使い、コースターの落下に合わせて降下音を鳴らしたり、物理法則に則ってコースターを加速や減速させたりと一通り使いこなせるようになりました。

今回

UE4.6.1対応版のRollercoasterPlugin 4.6.1が公開されたので、プロジェクトの対象UEバージョンの切り替えと、プロジェクトで使用しているRollercoasterPluginのバージョンアップを行います。

開発環境

  • Unreal Engine 4.6.1
  • RollercoasterPlugin 4.6.1

RollercoasterPluginのバージョンアップ

UE4.4で作ったプロジェクトをUE4.6へ変換後にRollercoasterPluginをバージョンアップします。

以前のRollercoasterPluginが古いバージョンのUnrealEngine 4.4.3にしか対応していなかったため、泣く泣く旧バージョンのUEを使用していました。
ちなみに、機能の差分までは調査していませんがUE4.4から4.6へアップデートするだけでだいぶ負荷が軽減されました。

UE4.4→4.6

プロジェクトフォルダを開いて~.uprojectを右クリック、コンテキストメニューのSwitch Unreal Engine version…を選択

無題クリップ_012915_120645_AM

一覧から変換後のUEのバージョンを選んで「OK」

無題クリップ_012915_120946_AM

RollercoasterPlugin 4.4.1→4.6.1

 こちらのフォーラムのトピックからRollercoasterPlugin_v4_6_1.zipを入手

UE4 Rollercoaster [v1.0 Now with real physics!]
https://forums.oculus.com/viewtopic.php?f=42&t=8032&start=260#p237811

※注意 - 2015/1/29現在

RollercoasterPlugin_v4_6_1.zipをそのままUE4.6.xのプロジェクトで使おうとするとプラグインの対象とするUEのバージョンに差異がある時に発生するプラグインのリビルドを求めるような状況に陥ります。
プラグインの作者の方が4.6.1を公開した直後のレスを読むと他の方も同じ症状に苦しんでいる様子

本来であれば、4.4→4.6に変換したプロジェクトフォルダに含まれるプラグインのフォルダを、エクスプローラー上で手動で差し替えるだけで済みます。
しかし、RollercoasterPlugin4.6.1のzipにUEの対象ビルドを決める何かしらの何かが含まれていないため自分でプラグインをUE4.6向けにビルドしてみます。

 

RollercoasterPlugin v4.6.1をビルドする

新たにRollercoasterPluginをビルドするためだけのプロジェクトを作成します。

スクリーンショット_012915_010258_AM

※この時にC++のテンプレートを選ぶことによりプラグインのビルドが可能になる。

まずはエクスプローラーから直接ファイルを操作します。

プロジェクト作成後に自動的に開くVisualStudioをいったん閉じて(C++のテンプレートを選んだからかUnreal Eingineのエディタではない)、RollercoasterPlugin_v4_6_1.zipのContentフォルダとPluginsフォルダをRollercoasterPluginをビルドするためだけのプロジェクトのルートフォルダにコピー

無題クリップ_012915_011124_AM

スクリーンショット_012915_011238_AM

コピー後にRollercoasterPlug46.uprojectをダブルクリック

ここで「はい」を選択。ビルドされます。

無題クリップ_012915_011422_AM

スクリーンショット_012915_011610_AM

ビルドが無事終了するとUnreal Engineのエディタが起動
→この時点でUnreal Engine4.6.1でも無事動くRollercoasterPlugin 4.6.1が完成。
RollercoasterPluginをビルドするためだけのプロジェクトの役目が終了したのでUnreal Engineのエディタを閉じます。

最後にRollercoasterPluginをビルドするためだけのプロジェクトのPlugins\RollercoasterPluginとContent/Rollercoasterを、前の項でUE4.4→4.6へ移行した自分のプロジェクトの当該フォルダと差し替えて完了。

確認としてUnreal Engine 4.6で開き実行しましょう。
RollercoasterPlugin側の関数に変更はないためそのまま素直に動いてくれるはず。

おまけ

もしC++のテンプレートで作られていないDK2CoasterプロジェクトにそのままRollercoasterPlugin4.6.1.zipの中身を突っ込んで起動したら

無題クリップ_012915_124729_AM —————————
Missing DK2Coaster Modules
 —————————
The following modules are missing or built with a different engine version:

UE4Editor-RollercoasterPlugin.dll

Would you like to rebuild them now?

無題クリップ_012915_124759_AM

 —————————
Error
—————————
DK2Coaster could not be compiled. Try rebuilding from source manually.

というループに陥る。C++のテンプレートでプロジェクト作成超大事。

次回

次はジェットコースターの背景、レベルデザインを行います。