前回
サクッと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…を選択
一覧から変換後のUEのバージョンを選んで「OK」
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をビルドするためだけのプロジェクトを作成します。
※この時にC++のテンプレートを選ぶことによりプラグインのビルドが可能になる。
まずはエクスプローラーから直接ファイルを操作します。
プロジェクト作成後に自動的に開くVisualStudioをいったん閉じて(C++のテンプレートを選んだからかUnreal Eingineのエディタではない)、RollercoasterPlugin_v4_6_1.zipのContentフォルダとPluginsフォルダをRollercoasterPluginをビルドするためだけのプロジェクトのルートフォルダにコピー
コピー後にRollercoasterPlug46.uprojectをダブルクリック
ここで「はい」を選択。ビルドされます。
ビルドが無事終了すると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の中身を突っ込んで起動したら
—————————
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?
—————————
Error
—————————
DK2Coaster could not be compiled. Try rebuilding from source manually.
というループに陥る。C++のテンプレートでプロジェクト作成超大事。
次回
次はジェットコースターの背景、レベルデザインを行います。