【UE4】 ステージ管理をやってみる。 パート2 (可変ドアver1.0)
できること
キー入力で楽に行先を変更しようというものです。
どこ〇もドアに近くなってます。
前回のドアがベースになってます。
こんな風にドアに行先を設定してるんだなぁという感じでおさらいしておくと読める!
前回の記事では、レベル上に配置して行先を設定したドアは、ゲーム内で行先が固定されたドアです。
前回の記事:[【UE4】 ステージ管理をやってみる。]
用意するもの
”StageSelect”と名前を付けて下記のようにドアを配置したレベル
データテーブル
今作はサブレベルによる難易度変更を行ったので、StageLebelNameは全部同じで、StageBranchが増えてます。
ドアの中身。
ステージデータの読み込み
ステージ変更 ←NEW
ドアを開ける
鍵の開閉 ←(今回は使いません)
--マクロ説明--
GetDataTableDataの流れ
"stageSelect"をデータテーブルに送ってデータを1行取ってきてドアの情報を作る。
SetWidgetDataの流れ
"stageLevel"と"stageTitle"をドアの文字に表示する。
--変数説明--
stageSelect ・・・ データテーブルの一番左の数字が入る。 データテーブルからデータを指定して取得するのに使用。
レベル上で行先の切り替えと入力に合わせて動く物
昨日ゲームパッドに力技で対応したので、そっち側の解説。
ゲームパッドが右に大きく倒れたか、左に大きく倒れたかでドアにセットするデータを変更しています。
終わり。
簡易VRスペースを作成しよう。
こんな風なスペースを作れます。
VRスペースのルール
・真ん中の白色パネルが最初に立つ場所
・灰色パネルには物は置かない
・緑色パネルには腰より高いものは置かない
使ったパネルの数
緑色16枚、灰色8枚、白色1枚(1パネル 30cm x 30cm)
1Kのお部屋でもVRスペース確保優先で作るとなんとかなります。
壁に手をぶつけない、何も踏まない蹴飛ばさない。
この安心感・・・没入感をしっかりと高めてくれます!
Airtoneなどは、あまり移動しないので、全力で楽しめます。
少し歩き回る場合は緑色にも何も置かない方がいいですね。
そして、寝るときはこの上に布団を置いてます。
そして、開発スペースはこんな感じです。
使ったパネルのAmazonリンク
【UE4】レベル上に配置したアクタを楽に置き換える
できること
レベル上に仮配置した物を簡単に本番用に置き換える
レベル上に配置したアクタを選択
コンテンツブラウザ上で置き換えたいBPを選択
レベル上で配置したアクタを右クリック
選択中のアクタと置換→選択”BP_・・・・・・”
結果
【UE4】画面上に浮かび出るイベントテキストをつくってみる
できること
- こんな風に画面上に表示するテキストが楽に作れる(ブレスオブザワイルドより)
参考
- 【第5回UE4ぷちコン】UE4初心者がUnrealEngineでノベルゲームを作ってみた
http://qiita.com/YuukiOgino/items/7922e178d27d21e0257f
用意するもの
- 構造体・・・・・・データテーブルの構造登録
- データテーブル・・・・・・テキスト情報登録
構造体の中身
- Command・・・・・・イベントのタイトル、グループ
- CharacterID・・・・・・発言者
- Text・・・・・・発言内容
- Enter・・・・・・決定、送信(Trueまでは同じページで表示)
データテーブル
構造体の形に合わせて、データ登録。
画像はテスト用のデータです。
同じ Commandをかたまりとして、1つのイベントで使う感じです。
表示イメージ
T1:BPの制御で3行表示にしているため、4行目が見えなければOK
「 Test1
Test2
Test3 」
T2:2行を表示して文字が消えた後、1行表示されればOK
「 Test5 「 Test7
Test6 →
」 」
T3:1行、1行、1行と表示されればOK
「 Test8 「 Test9 「 Test10
→ →
」 」 」
T4: 送信してないので表示されない
Textを表示するスクリーンを配置するWidgetを作る
<BP>
Textを表示するスクリーン
結果
いい感じにできたなぁ
あとはイベントに応じてコマンド送ってあげるだけでOK
【UE4】 ステージ管理をやってみる
できること
- レベル上に配置した、テレポーターのような物(ドア)に移動先を簡単に指定できるようになる。
用意するもの
- 列挙体・・・・・・ステージ名を登録。
目的:変な割り当て阻止 - 構造体・・・・・・データテーブルの構造登録
- データテーブル・・・・・・ステージ情報登録
列挙体の中身
ステージ名を登録。 ステージレベルの名前からコピーしたもの。
構造体の中身
・プレイヤーに見せるステージのタイトル
・プレイヤーに見せるステージの難易度
・OpenLevelするためのステージ名
・ステージのイメージ画像のマテリアル
データテーブル
構造体の形に合わせて、データ登録。
私はRowNameをIDにした。
ActorにWidgetをつけてこんなのを作る。
BPでデータテーブルを呼び出す
RowNameで呼び出したいデータテーブルの行を指定できるので、
RowNameを変数にして、パブリックにしてレベル上で変更できるようにする。
あとは、データをWidgetに送ったり、OpenLebelに繋いだりする。
レベルに並べて、エディタ上でIDを指定。
左から”デフォルト”の”StageSelect”を0,1,2,3と指定してPlayしてみた結果。
気持ちがいい。
新しいステージへの道を開く方法。
レベルを作る→列挙体に名前登録→データテーブルに登録→レベルに配置してID指定