シヴァのブログ

UnityやUE4や趣味とかいろいろ...

「Unreal Engine」いろいろ作ってみる

Unreal Engine」いろいろ作ってみようと思う。
のちのち追加していく予定。

Part1「床に乗るとライトがON,OFFになる」
Part2「動く床」
Part3「ユニティちゃん」
Part4「スローモーション」
Part5「カメラ・・・」
Part6「自動ドア」
Part7「武器の切り替え」
Part8「4画面」

Part1「床に乗るとライトがON,OFFになる」

ボックストリガーを用いて、ライトのON,OFFを切り替える。
床に乗るとと書いているが、実際は「ボックストリガーに触れると...」である。

Add On Actor Begin Overlap:トリガーに触れた時...。
On Actor End Overlap:トリガーから離れた時...。


参考①:Unreal Engine 4 でゲームを作る Part3 レベルブループリント by Hiyaba(ひやば) ニコニコ動画講座/動画 - ニコニコ動画
参考②:Blueprint Light Switch Tutorial - Epic Wiki

ライト:OFF ライト:ON
f:id:shivaT:20150713161701p:plain:w300 f:id:shivaT:20150713161838p:plain:w300

レベルブループリント
f:id:shivaT:20150713161923p:plain


Part2「動く床」

タイムラインを用いて、床を上下に自動的に動かす。
バージョンが異なるためか分からないですが、
「合成したブループリントで置換」がなかったため、
参考サイト①と初めだけやり方が異なります。

「ブループリント/スクリプトを追加」で、「合成したブループリントで置換」します。
f:id:shivaT:20150716154809p:plain

タイムラインの設定 イベントグラフの設定
f:id:shivaT:20150716154822p:plain:w300 f:id:shivaT:20150716154830p:plain:w300

実行
f:id:shivaT:20150716161101p:plain

※注意点
可動性を「ムーバブル」にしないと動かない。
これのせいで一時間近く床が動かなくて悩んだ...。
f:id:shivaT:20150716155346p:plain

参考①:UE4 5分で作れてしまう動く床の作り方 - Let's Enjoy Unreal Engine
参考②:【UE4】タイムラインを使って床を動かす【初心者】


Part3「ユニティちゃん」

ユニティちゃんをアンリアルエンジンの世界に出してみた。

「unitychan.fbx」インポート
インポートオプションの内容はよく分かっていません
f:id:shivaT:20150716205408p:plain

「Blend Mode」の値を「Translucent」に変更
f:id:shivaT:20150716210552p:plain

「unitychan_WIN00.fbx」インポート
f:id:shivaT:20150716205809p:plain

表示モードを「非ライティング」に変更して、完成
f:id:shivaT:20150716205202p:plain

参考:UE4でゼロからユニティちゃんを表示させるまで - Let's Enjoy Unreal Engine


ユニティちゃんライセンス

このコンテンツは、『ユニティちゃんライセンス』で提供されています


Part4「スローモーション」

キー「G」を押すとスローモーションになる。

・Global Time Dilation
・Custom Time Dilation

レベル全体をスローモーションさせる

f:id:shivaT:20150720101603p:plain:w300 f:id:shivaT:20150720112150p:plain:w300

参考:UE4:スローモーションの実装について - 僕の私のUnrealな日々


Part5「カメラ・・・」

Post Process Volume を用いて、カメラに変化をつける。

Default Film-Saturation-0(白黒) Depth Of Feild-Method-Gaussian(ぼやける)
f:id:shivaT:20150722152629p:plain:w200 f:id:shivaT:20150722152653p:plain:w200 f:id:shivaT:20150722152706p:plain:w200
Misc-Blendables-Water_Material(水滴) Misc-Blendables-WaterMaterial_2(ノイズ) Misc-Blendables-Water_Material(水滴スライド)
f:id:shivaT:20150722160858p:plain:w200 f:id:shivaT:20150722194110p:plain:w200 f:id:shivaT:20150723011614p:plain:w200

・Water_Materialの設定
WaterDrop(参考サイト③)
法線テクスチャはUE4のフォーラムのものを使用している。
f:id:shivaT:20150722161146p:plain:w600


・WaterMaterial_2の設定
Noise(参考サイト③)
Constant3Vector:(0,1,0),(1,0,0)

f:id:shivaT:20150722185426p:plain:w300 f:id:shivaT:20150722193453p:plain:w300


・水滴スライドの各設定
Water_Material

f:id:shivaT:20150723012636p:plain:w300 f:id:shivaT:20150723012647p:plain:w300
レベルブループリント タイムライン MPC_RainDrop
f:id:shivaT:20150723013038p:plain:w200 f:id:shivaT:20150723013341p:plain:w200 f:id:shivaT:20150723013533p:plain:w200

※Details→Post Process Volume→Unboundのチェックを付けると、
サイズに関わらずシーン全体を覆うPostProcessVolumeとして動作する。
※「TexCoord」=「TextureCoordinate」
(TextureCoordinate テクスチャ座標)
テクスチャは、UV 座標という座標で管理されるので、それを利用しながらタイリングを変更する。
※Collection Parameter(MPC_RainDrop):DropPower,slide

参考①:Unreal Engine 4 Tutorial - Post Process Effects - YouTube
参考②:もんしょの巣穴blog [UE4] キャラクターを泳がせる
参考③:Water on camera lense effect
参考④:Post Process Materials | Unreal Engine
参考⑤:Unreal Engine | Material Parameter Collections


Part6「自動ドア」

Trigger Volume (トリガーボリューム) を用いて、ドアを上下に開閉させる。
プレイヤーがこのトリガー ボリュームに入ると、タイムラインが実行されドアが開く。
プレイヤーがボリュームから立ち去ると、2 秒間待機後にタイムラインを逆再生し、ドアが元に戻る(閉まる)。

ドアの現在位置を「Door Initial Locaion」と名付けたベクター変数をレベルブループリント内で設定。
タイムラインのカーブのさせ方は、タイムラインZ軸の点の上で右クリックして「キー補間」の自動にチェックを入れる。
今回の場合、(0,0)と(1,360)の2点。

レベル設定 レベルブループリント タイムライン
f:id:shivaT:20160421100500p:plain:w200 f:id:shivaT:20160421100518p:plain:w200 f:id:shivaT:20160421100532p:plain:w200
閉めた状態 開いた状態
f:id:shivaT:20160421100551p:plain:w300 f:id:shivaT:20160421100607p:plain:w300

参考:Unreal Engine | ドアを開ける


ドアを回転させて開閉させる。(上とほとんど同じ方法)
Cubeを使用して作成しようとしたが、ピボット(回転軸)がアクタの中心にあるため、うまく回転できなかった。
また、ピボットの位置も変更できなかったため、スターターコンテンツの「SM_Door」を使用した。
現在のドアの回転値を「Door Rotator」と名付けた3D回転変数をレベルブループリント内で設定。
タイムラインY軸の2点を(0,90)と(1,0)とする。

レベル設定 レベルブループリント タイムライン
f:id:shivaT:20160421122814p:plain:w200 f:id:shivaT:20160421122835p:plain:w200 f:id:shivaT:20160421122847p:plain:w200
閉めた状態 開いた状態
f:id:shivaT:20160421122902p:plain:w300 f:id:shivaT:20160421122915p:plain:w300


Part7「武器の切り替え」

シューティングゲームで、武器を変更したものを作成したいため、切り替える方法を調べた。
コンテンツ ブラウザ 内でスケルタルメッシュを ダブルクリックして、最初にペルソナでメッシュを開く。

手に武器を追加したいので、"hand_l" と "hand_r" のボーンの子として、"weapon_l", "weapon_r"ソケットを追加。
f:id:shivaT:20160426160742p:plain:w300

武器を装備させる方法
①StaticMeshをActorとして生成してソケットにアタッチする今回はなし
②StaticMeshComponentを作成してソケットにアタッチする

②の方法で、
指定したメッシュを作成し、指定したソケットにアタッチする命令、CreateWeapon関数を作成


参考:もんしょの巣穴blog [UE4] 武器切り替え


一旦、保留で。

Part8「4画面」

コンシューマーゲームによくある4人プレイ時、4つの画面に分かれるのをつくってみた。

f:id:shivaT:20160428075349p:plain:w300

操作は、対応していなく、1画面しか動きません。

簡単なブループリントでできます。
f:id:shivaT:20160428074509p:plain:w300

これだけ。


*ここから下はこれから作りたいもの

Part10「映画館」

参考:Unreal Engine | Media Framework

Part11「ポーズ(一時停止)機能」

参考:UE4 - ポーズ対応まとめ - ほげたつブログ

Part12「文字の表示(自動再生)」

参考: