アルゴンUE4&アプリ開発日記

UE4のモバイル開発やアプリ開発をメインに紹介します!主に初心者から中級者向けに紹介していく予定。

【UE4】Daydream第2弾・開発中につまずきそうになった情報まとめ

Daydream開発でつまずきまとめ

Daydreamの開発の中でつまずいた所と勘違いを紹介します。

第一弾でDaydreamの初期設定やボタンイベントについては、

下記リンクで紹介しています!

argonauts.hatenablog.jp

その1.StartCameraFadeが動作しない

そもそもStartCameraFadeが何かわからない人もいるかと思うので、

一応説明しておくと、簡単にFadeInやFadeOutを実装できるノードです。

f:id:yoshikata1990:20180617001601p:plainターゲットは必ず必要ですがこれだけで、画面全体にVR環境でも

画面にフェード処理を加えることができます。

しかしモバイル環境ではプロジェクトの設定により動作しないことがあります。

それは、MobileHDRがOFFの場合になります。

プロジェクト設定で「hdr」で検索して、チェックを入れてあげてください。

f:id:yoshikata1990:20180617021652p:plain

最初のプロジェクト作成の際にスケーラブルな3D・2Dを選択して作成すると、

自動的にMobileHDRがOFFになります。

f:id:yoshikata1990:20180617012840p:plain

スケーラブルな3D・2Dを選択するといろいろな設定がOFFになります。

MobileHDR以外にBloom(発光表現)やモーションブラーなどもOFFになるので注意が必要です。

f:id:yoshikata1990:20180617021244p:plain

その2.モーションコントローラーの角度とか位置とかどうとるの?

モーションコントローラーの角度などはGoogleVRMotionControllerの

コンポーネントがあるのでそこから取得するのかと思ったら、

コンポーネントが持つGetMotionControllerから取得します。

位置はGetWorldLocationで取得して、FowardVectorモーションコントローラーの前方方向の向きをとってきてます。

f:id:yoshikata1990:20180617032224p:plain

その3.公式で用意されているlaserを使用したい。

公式が用意している下の線みたいなのがあります。

これはMotionControllerの機能ではないので説明しておきます。

f:id:yoshikata1990:20180617222020p:plain

コンポーネントでGoogleVRLaserVisualというものがあり、

これで一応の表示はできます。

f:id:yoshikata1990:20180617222227p:plain

ただ、Googleの公式・UE4の公式のどちらにも説明が全く無く、

モーションコントローラーにアタッチしても追従しないので、

注意が必要です。

モーションコントローラーに追従させる場合、

私は面倒臭いことが嫌いなので必要に応じてアタッチします。

今回はこんな感じです。

f:id:yoshikata1990:20180617223334p:plain

最後に・・・まだまだできるはず・・・

GoogleVR用の説明できていないコンポーネントはあるが、

今回はここまでです。特に最後のほうはどこに説明がないので、

UE4でDaydreamを開発する人はぜひ参考にしてみてください。

【UE4】Daydream開発第1弾!!プロジェクトの作成とボタンのイベントについて

Daydreamを今更・・・購入!!

Daydreamを購入しました!!

携帯はMoto Z Proを使用しています。

・・・正直今勢いがあるのは確実にOculus goのような気がするので、

ぜひそちらを買ってみてください(簡単に試すならそっちのほうがいい!!)

Daydreamの情報が少ないので来月までDaydreamでとりあえず隔週でブログを更新できたらと思います。

今回はDaydreamの設定とMotionControllerのボタンイベントを説明します。

テスト用のプロジェクトを作成

今回は初めてなのでとりあえずからのプロジェクトからスタートします。

f:id:yoshikata1990:20180527232228p:plain

Daydream用のプロジェクト設定について

まずはAndroid開発用のファイルをインストールします。

NVIDIA CodeWorks for Android | NVIDIA Developer

Android用の設定は下記のリンクでも説明しています。

こちらをご確認ください。

UE4.14・AndroidでVRの実機プレイまでの解説

インストールと設定が完了したら、プロジェクトの設定に移ります。

まずはDaydreamを使用するためにプラグインをONにします。

使用するのは「GoogleVR」と「GoogleVRMotionController」になります。

私はGoogleで検索してプラグインを見つけました。

f:id:yoshikata1990:20180527213342p:plain

次にプロジェクトの設定を行っていきます。

まずはAndroidSDKを設定します。

今の最新のバージョンのCodeWorksをインストールした際、

PASSを指定しない場合は下記の画像と同様で問題ないです。

f:id:yoshikata1990:20180527222213p:plain

次にAndroidのプロジェクト設定を行います。

まずSDKのバージョンを24に指定します。

これはAndroidOSでVRの最適化が行われているためです。

f:id:yoshikata1990:20180527224022p:plain

続いてGoogleVRのハードウェアサポートの設定です。

昔のプロジェクトではDaydream&Cardboardという分け方でしたが、

それぞれエレメントとして追加する仕組みに変更されているので注意です!

今回はとりあえず3.3DoFのDaydream設定にしています。

DoFって何かというと取得できる動作の情報量になります。

3DoFは「Yaw Pitch roll」の動きを認識できます。

6DoFは上記に加えて、「前後・左右・上下」も追加で認識できます。

Configure GoogleVR for sustained-performance modeもONにします。

f:id:yoshikata1990:20180527230330p:plain

最後にAndroidのBuildするarm系統を変更します。

Arm64を選択してArmv7の選択をOFFにします。

f:id:yoshikata1990:20180527230918p:plain

VRのMotionController対応を行う!

DaydreamのHMD・MotionControllerに対応したキャラクターを作成します。

Pawnのブループリントを作成して、

VR用のカメラとGoogleVRを設定します。

f:id:yoshikata1990:20180528222652p:plain

上記はコンポーネントの重なりになります。

同じシーンの中にカメラとGoogleVRMotionControllerコンポーネントを設定します。

続いて、BeginPlayイベントでトラッキングする原点とカメラの高さを指定します。

ブループリント内部はこの形です。

f:id:yoshikata1990:20180528232517p:plain

公式と同じですので下記リンクに細かい説明があります。

こちらも是非チェックしてみてください!
api.unrealengine.com

各ボタンのイベントについて

Daydreamコントローラーに各種ボタンが設定されています。

とりあえずタッチパッドの上下左右のボタンとマイナスボタンを試しました。

ーボタンがShoulderというイベントで、

タッチパッドのボタンはFaceButtonというイベントで取得できるようになっています。

f:id:yoshikata1990:20180528233108p:plain

今回はプロジェクトの設定と一部ボタンの説明をしました。

タッチパッドのX軸・Y軸が取れるみたいですが、

次回詳しく説明できたらと思います!!

 

UnrealFestWest行ってきました!

UnrealFestWestに参加してきました!

いまさらだけどUnrealFestWestに行ってきました。

講演の感想をちょっと振り返ろうと思います。

f:id:yoshikata1990:20180429110248j:plain

※午後からの参加だったので午後以降の講演の感想です。

※講演のスライドと動画は今年の5月中旬から下旬で公開される予定なので

 その時に再度情報を追加します!

ヒーローになりたい~UnrealEngineのもう1つの可能性~

Udemyで下記の講座を公開している方です。

www.udemy.com

こちらの講演ではどのようにしてUnrealEngineと出会い、

どのような形でその道を選んだのかというお話でした。

仕事の考え方とかとても参考になりました。

IncrediBuildでビルド時間を最大90%短縮!

こちらはIncrediBuildというソフトウェア高速化ツールを使用した、

どのように高速化したのかという講演でした。

ビルドする時間の短縮・レンダリング時間の短縮などが実例として紹介されました。

資料が上がったらリンクをつけておこうと思います。

「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例

こちらは筐体として開発された「電車でGO!!」の開発事例の紹介でした。

denshadego.net

どのモデルをどれぐらいの頂点数で作るか・どれぐらいまで風景を見せるのかなど

全体のステージの作り上げ方と全体的な地味な形をどう表現するのか紹介していました。

こちらも後日資料が上がるようなので、更新され次第追加しておこうと思います。

TINY METALの開発 ビッグゲームを小さなチームで

TINY METALのゲームを小規模で開発している事例の講演でした。

www.jp.playstation.com

どのようにして動作を軽くしたのかや、プロモーションなど

作成するのをどのようにして時間短縮を図ったのかなど

参考になる箇所がとても多くありました。

資料が上がるかと思いますので、後日追加します。

State of Unreal

最後の講演はEpicGamesの創業者でCEOの方が講演しました。

モバイルでハイクオリティのゲーム開発やモーション取得の動作など

UE4が幅広く使用されていることについて言及していました。

また4.20がUE4で登場するかと思うのでこちらも期待しておこうと思います!

【UE4】UnrealStudioBetaのDataSmithを試してみる

UE4のUnrealStudioBetaとは

UE4の4.19からUnrealStudioがベータ版として機能が追加されました。

UnrealStudioで可能なことをいくつかあります。

・3dsMaxのデータをDataSmithのデータに変換し、

 物体・マテリアルとテクスチャ・カメラや、ライティングの取り込み。

・CADのデータを自動的にUE4に最適化して読み込む。

上記以外にもRhino 3DやSolidWorksなど様々なツールから、

データをインポートすることが可能となっています。

今回は3dsMaxからDataSmithのデータを作成して、

UE4にインポートして動作するところまで確認します。

※今回はWindowsを使用して、3dsMaxは2018を使用しています。

UnrealStudioのベータ登録とインストール

まずはUnrealStudioのベータ版を取得するために下のリンクから、

ベータ登録を行う必要があります。

www.unrealengine.com

その際にはEpicGamesのアカウントが必要なので登録しておいてください。

登録したらBetaに参加してください。

参加しているとUnrealStudio用のランチャーをダウンロードするリンクがあるページが表示されるので、「UNREAL STUDIOをダウンロードする」を選択してダウンロードします。

f:id:yoshikata1990:20180331162905p:plain

ダウンロードが完了してインストールが完了したら、

左側のサブスクリプションステータスに追加されれば完了です。

f:id:yoshikata1990:20180331170139p:plain

3dsMaxからDataSmithとしてエクスポートする

※インストールする前に3dsMaxをインストールしてください。

UnrealStudioのインストールが完了したら、3dsMax Exporterをインストールします。

ランチャーの3DS Max Exporterから入手をクリックします。

ブラウザのサイトが表示されるので、

Autodesk 3ds Max のエクスポーターをダウンロードします。

f:id:yoshikata1990:20180331172154p:plain

ダウンロードしたらインストールを行い完了するまで進めます。

インストールまで完了したら、3ds maxを起動して、

datasmith用のデータとしてエクスポートします。

File→Exportでエクスポートします。

その際、UnrealDataSmithでエクスポートするように設定しておいてください。

f:id:yoshikata1990:20180331174904p:plain

問題なくエクスポートされたら完了です。

DataSmithとしてエクスポートしたデータをUE4に入れて動かしてみる

ここからはUE4のサンプルプロジェクトでDataSmithとして、

インポートして動かします。

まずUnrealStudioのProductViewerを選択しプロジェクトを作成します。

f:id:yoshikata1990:20180331180221p:plain

プロジェクトの作成が完了したらまず詳細設定を変更したり、

不要なデータなどを削除していきます。

まずProductViewerToolsのブループリントでInteractive Rootのエレメントの中身、

interactive_Rootをなしに変更します。

このinteractive_Rootは注視するアクターを選択するための指定になるので、

必ず変更してあげてください。

f:id:yoshikata1990:20180331181338p:plain

変更したら、Interactive_Rootの中に入っているデータは不要なので削除します。

アウトライナからも削除してあげましょう。

f:id:yoshikata1990:20180331181517p:plain

コンテンツはコンテンツ→Import Your Model HereというフォルダにSampleとして、

おいてあるのでこちらも削除します。

f:id:yoshikata1990:20180331181902p:plain

ここまで完了したらDetaSmithのデータをインポートします。

設定の隣にある、「Import Datasmith file」を選択して、

先ほどエクスポートしたDatasmithのファイルを選択してインポートします。

f:id:yoshikata1990:20180331182742p:plain

インポートする際どの場所にデータを保存するか選択します。

今回は先ほどのSampleがあった場所と同じ場所にインポートします。

f:id:yoshikata1990:20180331182906p:plain

その次にインポートするものを選択します。

今回はすべて選択しています(デフォルトが全選択されている状態です。)

f:id:yoshikata1990:20180331183151p:plain

DataSmithのインポートが完成したら、

「Datasmith Scene Import Data」とモデルとマテリアルが作成されます。

f:id:yoshikata1990:20180331185137p:plain

「アウトライナ」の箇所に語尾に_Rootと記載された、

モデルデータが入ったActorが作成されます。

f:id:yoshikata1990:20180331190329p:plain

インポートされていることを確認したら、

ProductViewToolesの「Interactive Root」にインポートされたActorを指定します。

f:id:yoshikata1990:20180331185158p:plain

ここまで完了したら、あとは動作確認として動かすだけです。

思った以上にサクサク動くしきれいだしゆうことなしです(`・ω・´)!

f:id:yoshikata1990:20180331193759p:plain

UE4のUnrealStudioBetaを使って思ったこと

・今回はベータ版の状態なので、今後いろいろと機能が増えるかと思いますが、

 いろいろなツールのデータをそのままインポートできるものが増えていくので、

 とても楽しみ!

UE4をあまり使用しない人でも自分で作ったモデルをUE4で動かした時、

 どう見えるのか簡単に確認する方法としてもいいのかなと思いました。

 

【UE4】スプラインを試してみた

スプラインを試してみる

今回はスプラインを軽く試してみます。

スプラインはランドスケープエディタのところから、

スプラインを編集を選択できます。

f:id:yoshikata1990:20180226232951p:plain

あとは、コントロールキーを押しながら、

クリックすることで、ランドスケープ制御点を設定することが出来ます。

f:id:yoshikata1990:20180226233515p:plain

制御点を削除する場合は、

選択した状態でデリートキーで削除できます。

ランドスケープに反映する

ランドスケープに指定したスプラインに合わせることもできます。

制御点を作成し、坂などををランドスケープで作ることもできます。

ランドスケープエディタのToolSettingにスプラインにトランスフォームから、

選択することができる

f:id:yoshikata1990:20180227000005p:plain

f:id:yoshikata1990:20180226235634p:plain

とても短い説明で申し訳ないですが、以上になります。

もう少し細かい説明はほかの時にやろうと思います!