【UE4】 画面上で動かせるお星さま
できること
いつもの操作感で画面上で動くお星さまが作れる。
お星さまの動かし方
ざっくり説明すると
星の座標は、マウスの位置とプレイヤーの位置を足した座標から奥の壁に向かって線を引いて、壁とぶつかったところとなってます。
画面の中心から上下左右のマウスが画面のどこにいるかの値がとれるので[ConvertMouseLocationToWorldSpace]を使ってます。
マウスの値、上下で-1~1、左右で-1~1
この値に画面のサイズに近いぐらいの補正をかけてます。
画面のサイズによってはあまり動かないのでは? と思いましたが、カメラも動かすしこれぐらいで大丈夫かなという感じです。
以上がマウスで動かす場合です。
あとから導入したコントローラーはマウスカーソルの位置を更新してます。
※Y軸もX軸と同様
コントローラーでやると、画面を超えれる問題を見つけてしまったので良い子のみんなは制限をいれようね。
【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