どうも、ぶっさんです。
BluePrintにGateというノードがあります。
Gateが使いたい。とにかく使いたい。
まず名前が鬼カッコイイ。他のフロー制御を一線を画してる感が凄い。
ノードを簡単に説明するとEnterとOpenに出力されている際はExitに流れますが、EnterとCloseに出力されているとExitには出力されず止まるというものです。Enterに何も接続されていないと何も起こりません。
詳しくはこちらにかいてあります。
BluePrintを使っていろいろと作成していると使えそうな場面が出てきますが、Gateノード使わないほうが良いねってことが多かったのでなかなか使う機会がない。
なのでGateをメインに何か作成しようと思いましたが、本当に何も思い浮かばないのでもう扉でいいんじゃね?って事で作りました。
ゴブリン可愛い(*^_^*)
手動扉を実装しよう!
使用するもの
FirstPersonテンプレート
StarterContent
仕様
扉に設置したTriggerBoxに入った状態で右クリックすると開閉が行える。
まずGateを使用せずに扉を作っていきます。
FirstPersonCharacterのBluePrintを作成します。
今回はBluePrintInterfaceを使っています。
Unreal Engine 4 Blueprint QuickShot - 8 - Adding ...
これを見てね!
一応完成部分も貼っておきます。
プロジェクト設定の入力のAction Mappingでrightとし入力キーを右クリック
扉のBluePrintを作成します。
扉の周りにBoxを設置します。これをTriggerBoxとします。
次にグラフに移りBoxに入ったかどうかを判定します。Blean型の変数を作り以下のようにセットし入った場合のみチェックを付けます。
次にブランチを出し、Boxに入った状態のみTrueへ出力されるようにします。
次にFlipFlopとタイムラインを作成します。FlipFlopのAにはPlay、BならReverseを接続します。
TimeLineをダブルクリックし、[f]をクリックします。一秒間で開くようにしたいので長さを1とし、以下のようにセットします。
次にLerpのRotationを使用します。以下のようにしてもいいのですが、
設置の際向きを変えると
— ぶっさん (@Bussan_desu) March 17, 2015
こうなるのでConstructionScriptで設置した扉のRotationの情報を取得しておきます。
Rotator変数を作成[名前をRotationとする]し、Get Actor Rotationノードを出し変数にセットします。
LerpノードのA,Bの部分を右クリックし構造体ピンを分割を選択します。
先ほど作ったRotationをゲットし、Break Rotに繋げます。そしてA部分にYawを繋げます。もう一つBreakRotに繋げYawに+90しBのYawに繋げます。
これで完成です。
ここからが本番です。これをGateを使ったノード構成に変更します。
Gateを使わない手動扉
Gateを使った手動扉
変数一つ節約できただけ・・・
なんかもっと、しゃぁ!Gate使ったぞ!!って思わせる奴ないですかね・・・
自分は何にも思い浮かびません・・・
Gateを有効活用できる日まで僕は諦めない・・・
以上、Gateを使ったけど上手く使いこなせなかったよという報告でした。あざした!