UE4 拡張可能な柵を作ろう

柵が欲しい

学生が作っているステージを見ると、進行方向がわからなかったり、柵がなくて不安な崖とかがあります

ステージのガイドとして、ここから落ちる落ないを分からせる柵ってかなり重要なんではないでしょうか

柵を作るところから取っ掛りに、ラーニングに使えるものがあることを知ってもらい、ブループリントに興味を持ってもらえたらと思って作成してみました

【目次】



スポンサードリンク

GDC2014に柵を数値入力で増やすデモがあったのを思い出しました
柵のRaining デモは 7:14くらいから

GDCDemo2014のプロジェクトからAssetを入手する"#"

GDCDemo2014のプロジェクトを入手する"#"

GDCDemo2014のデモはEpicLauncherのラーニングから無料で入手することができます
image

[プロジェクトを作成する]をクリックしてプロジェクトを作成
image

入手していない人は[無料]ボタンになっていると思いますが、無料をクリック後に作成することができます
image

デモから該当の柵を発見します
BP_Railingというブループリントで動作しています
image

RailLengthに数値を入力するだけで、あっという間に直線の柵が作成することができます
image
上の画像はRailLenghtに80を入力しました
image

最新版で動作を確認する"#"

GDC2014Demoは4.11までしか対応していないので、現在正式リリースされている4.15.2で動作するか確認します。
Content > Assets > Blueprints > BP_Railingを右クリック
アセットアクション > 移行を選択します
image

Mapを変更していると保存が求められます
image

OKをクリック
image

4.15.2で作成したプロジェクトのContentフォルダを選択します
image

移行したプロジェクトを開きます
BP_Railingが移行されているので動作を確認します
4.15.2のプロジェクトでも動作することが確認できました
image

モデリング用のリファレンスを入手する"#"

モデリングをする際のリファレンスを入手します
GDCDemo2014の柵のスタティックメッシュをFBXにエクスポートします

StaticMeshを右クリック
アセットアクション > エクスポート
image

FBXを保存します
image

柵をモデリングする"#"

DCCツールにインポートします
かなり大きいので、実スケールとモデリング用に小さくスケールしたリファレンスのグループを作成しました
image

終端側をモデリングしてから、複製してつなぎ部分を作成したほうが楽でした
image

つなぎ部分を作成します
グリッドを利用して、接合部が終端と同じになるようにします
image

終端部分の出てる突起部分を削除します
image

Pivotを原点に合わせます
image

マテリアルを新規作成して、終端とつなぎ部分に同じマテリアル(M_StoneRail)を設定します
(UVをそれぞれ分ける際には別々に設定、今回はUV展開をしないでマテリアルだけで実装)
image

つなぎ部分に作成したマテリアル(M_StoneRail)を設定します
image

作成した終端とつなぎ部分をFBXにエクスポートします
image

UE4で柵をRailingするブループリントを実装する"#"

エクスポートした柵FBXをインポートします
image

スタティックメッシュを置き換えるだけで再利用可能"#"

1番早く再利用するのは複製して、スタティックメッシュを置き換えれば再利用することができます

BP_Railingを右クリック
Dupliateを選択します
image

複製が作成されますので、ダブルクリックしてエディタを開きます
RailStartに終端のスタティックメッシュを設定します
image

RailEndも同様に終端のスタティックメッシュを設定します
image

ConstructionタブのAddStaticMeshComponentノードのスタティックメッシュをつなぎのスタティックメッシュに設定します
image

コンパイルボタンをクリックすれば、BP_Railingを作成したFBXで利用することができます
image

BP_Railingを調べながら作りを理解する"#"

これだけだと勉強にならないので、BP_Railingを見ながら1から作成します

Blueprintを作成します
image

親クラスにActorを選択します
image

StaticMeshをRailStart追加します
スタティックメッシュに終端を設定します
image

StaticMeshを追加して、名前をRailEndにします
スタティックメッシュに終端を設定します
RailEndはZ軸を180回転します
終端同士がくっついた状態であれば問題ありません
ずれ等がある場合はDCCツールで修正します
image

変数:RailLength(Integer)を追加します
image

ブループリントをBP_Railingを見ながら実装します
image

つなぎ部分がGCDDemo2014のままなので、作成したつなぎの柵に変更します
image

AddStatiMeshComponentを選択して、スタティックメッシュをつなぎの柵に置き換えます
image

RailLengthの値を1に設定して、確認します
無事完成しました
image

マテリアルを設定します
image

ゲーム画面に配置して、GDCDemo2014のBP_Railingと同じように動くことを確認できました
image

総括"#"

何か簡単なものを取っ掛りに、ラーニングのコンテンツを参考にすると、学習のコツがつかめます


スポンサードリンク