「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 |
---|---|
レベルブループリント
Part2「動く床」
タイムラインを用いて、床を上下に自動的に動かす。
バージョンが異なるためか分からないですが、
「合成したブループリントで置換」がなかったため、
参考サイト①と初めだけやり方が異なります。
「ブループリント/スクリプトを追加」で、「合成したブループリントで置換」します。
タイムラインの設定 | イベントグラフの設定 |
---|---|
実行
※注意点
可動性を「ムーバブル」にしないと動かない。
これのせいで一時間近く床が動かなくて悩んだ...。
参考①:UE4 5分で作れてしまう動く床の作り方 - Let's Enjoy Unreal Engine
参考②:【UE4】タイムラインを使って床を動かす【初心者】
Part3「ユニティちゃん」
ユニティちゃんをアンリアルエンジンの世界に出してみた。
「unitychan.fbx」インポート
※インポートオプションの内容はよく分かっていません
「Blend Mode」の値を「Translucent」に変更
「unitychan_WIN00.fbx」インポート
表示モードを「非ライティング」に変更して、完成
参考:UE4でゼロからユニティちゃんを表示させるまで - Let's Enjoy Unreal Engine
Part4「スローモーション」
キー「G」を押すとスローモーションになる。
・Global Time Dilation
・Custom Time Dilation
レベル全体をスローモーションさせる
参考:UE4:スローモーションの実装について - 僕の私のUnrealな日々
Part5「カメラ・・・」
Post Process Volume を用いて、カメラに変化をつける。
Default | Film-Saturation-0(白黒) | Depth Of Feild-Method-Gaussian(ぼやける) |
---|---|---|
Misc-Blendables-Water_Material(水滴) | Misc-Blendables-WaterMaterial_2(ノイズ) | Misc-Blendables-Water_Material(水滴スライド) |
・Water_Materialの設定
WaterDrop(参考サイト③)
法線テクスチャはUE4のフォーラムのものを使用している。
・WaterMaterial_2の設定
Noise(参考サイト③)
Constant3Vector:(0,1,0),(1,0,0)
・水滴スライドの各設定
Water_Material
レベルブループリント | タイムライン | MPC_RainDrop |
---|---|---|
※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点。
レベル設定 | レベルブループリント | タイムライン |
---|---|---|
閉めた状態 | 開いた状態 |
---|---|
※ドアを回転させて開閉させる。(上とほとんど同じ方法)
Cubeを使用して作成しようとしたが、ピボット(回転軸)がアクタの中心にあるため、うまく回転できなかった。
また、ピボットの位置も変更できなかったため、スターターコンテンツの「SM_Door」を使用した。
現在のドアの回転値を「Door Rotator」と名付けた3D回転変数をレベルブループリント内で設定。
タイムラインY軸の2点を(0,90)と(1,0)とする。
レベル設定 | レベルブループリント | タイムライン |
---|---|---|
閉めた状態 | 開いた状態 |
---|---|
Part7「武器の切り替え」
シューティングゲームで、武器を変更したものを作成したいため、切り替える方法を調べた。
コンテンツ ブラウザ 内でスケルタルメッシュを ダブルクリックして、最初にペルソナでメッシュを開く。
手に武器を追加したいので、"hand_l" と "hand_r" のボーンの子として、"weapon_l", "weapon_r"ソケットを追加。
武器を装備させる方法
①StaticMeshをActorとして生成してソケットにアタッチする今回はなし
②StaticMeshComponentを作成してソケットにアタッチする
②の方法で、
指定したメッシュを作成し、指定したソケットにアタッチする命令、CreateWeapon関数を作成
一旦、保留で。
Part8「4画面」
コンシューマーゲームによくある4人プレイ時、4つの画面に分かれるのをつくってみた。
操作は、対応していなく、1画面しか動きません。
簡単なブループリントでできます。
これだけ。
*ここから下はこれから作りたいもの
Part9「古代文明?」
Part10「映画館」
Part11「ポーズ(一時停止)機能」
Part12「文字の表示(自動再生)」
参考: