ジェイのブログ

Unity,UnrealEngine,ゲーム制作,プログラミング,日記も書きます!

UEFNとVerseで学んだことまとめ

こんにちは!ジェイです。

1月11日からVerseの勉強を始めたので5日間で学んだことのまとめです。

初日はPrint関数で計算の結果をログに出力しました。

HelloWorld的なのは久しぶりで新鮮な感覚です~

 

2日目はコインの出現と条件付きボタン

www.youtube.com

ボタンを押すとコインが出てくる

手順

1.アイテムスポナーとボタンを設置

2.アイテムスポナーの詳細からユーザーオプションの「タイマーに合わせてアイテムをスポーン」と「タイマーに合わせてアイテムをリスポーン」のチェックを外す

3.Verseを追加して、spawner_buttonと名付ける

4.以下のコードを張り付ける

using { /Verse.org/Simulation }
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/UI }
using { /UnrealEngine.com/Temporary/UI }

spawner_button := class(creative_device):
    @editable
    Button:button_device = button_device{}
    @editable
    ItemSpawner:item_spawner_device = item_spawner_device{}
   
    OnBegin<override>()<suspends> : void = Button.InteractedWithEvent.Subscribe(OnButtonInteractedWith)
    OnButtonInteractedWith(InPlayer:agent) : void = ItemSpawner.SpawnItem()

 

Verseは変数のスコープがインデントによって変わるので注意しましょう!

C#の感覚でタブや改行を追加するとエラーが大量に発生します。

5.Verseをビルドしてspawner_buttonを画面内に追加する

6.エディタ内のspawner_buttonを選択して、右下の詳細からButtonに「ボタン」とItemSpawnerに「アイテムスポナー」を選択する

7.画面上のアイテムスポナーを選択して、右下の詳細からユーザーオプションのアイテムリストに「スポーンするピックアップ」に「ゴールド」を追加する

ここまでの作業でボタンを押すとコインが出てくるようになります。

Verseの説明

・@editableはエディタ上で表示するかどうか

・suspendは非同期処理を実装する

・OnBeginは最初に1回だけ実行される

条件付きボタンを押すと雪だるまが出現する

www.youtube.com

雪だるまと条件付きボタンを配置する

1.Fortniteフォルダでsneakyと検索して「SneakySnowman」を画面上にドラッグ&ドロップして2個作り1つサイズを大きくする

2.条件付きボタンを2つドラッグ&ドロップして雪だるまの前に置く

条件付きボタンの詳細設定

・ユーザーオプション→キーアイテムが必要にチェックいれて数字を任意の数にする

・キーアイテムにゴールドを追加する

・使用後に無効化

以上を2つの雪だるまに設定する

データレイヤーの作成

3.ウィンドウ→World Position→データレイヤーアウトライナーを選んでデータレイヤーウィンドウを開いて右側にくっつける

4.データレイヤーアセットのなしの部分をクリックして、新規データレイヤーアセットを押してNewLayerと名前を付けてコンテンツ内に保存する(このデータレイヤーを2つ作る)

5.コンテンツブラウザ内で右クリック→シネマティクス→レベルシーケンスを選択して、NewLayerSeqと名付ける(これを2つ作る)

6.5で作ってNewLayerSeqをダブルクリックするとシーケンサーが開かれる

7.左のトラックをクリックして、データーレイヤーを選ぶ

8.シーケンス上にカーソルを持ってきて、右クリック

雪だるまにデータレイヤーアセットを設定する

最初に小さい方の雪だるまをクリックして、詳細→データレイヤーアセットのインデックスに先ほど作ったNewLayerをセットして、同様に大きい雪だるまにもセットする

データレイヤーアセットの作成からセットまで

・シーケンス上にカーソルを持ってきて、右クリック→プロパティ→データレイヤーアセットのインデックス0にNewLayerを選択する

・コンテンツブラウザに戻ってきて、NewLayerSeq2の方も2.と同じように作成する

ムービーシーケンサーを設置して設定する

・Fortniteフォルダからムービーシーケンスの仕掛けを2つ雪だるまの前にドラッグ&ドロップする

・ムービーシーケンスの仕掛けの詳細→ユーザーオプション→シーケンスにNewLayerSeqを設定して、同じようにNewLayerSeq2も設定する

・ムービーシーケンスの仕掛けの詳細→ユーザーオプション編集→再生機能の配列に条件付きボタンを追加して、下の「なし」の所に「OnActivated」に設定して、同じように条件付きボタン2も追加する

IsLand設定

・uefn右側にあるアウトライナーからislandsettingsを選択します。

islandsettingsの詳細設定にて、下のほうにスクロールして「無限建築素材」のチェックマークをはずす

この作業をしないと最初から条件付きボタンが押せてしまうので注意する

応用編(爆発エフェクトと音声の追加)

・コンテンツブラウザからNewLayerSeq2をダブルクリックする

・Fortniteフォルダ内で「vfx」と検索して、GrenadeExplosion(Niagrasシステム)を大きな雪だるまの中にドラッグ&ドロップする

シーケンサーに戻り、トラック→シーケンサへのアクタで「NS Grenade Explosion」を押す

・NS Grenade Explosionの「+」を押して、NiagraComponent0を押す

・NiagraComponent0の「+」を押して、「Niagaraシステムのライフサイクルトラック」を押すと中央にゲージが出現する

・ゲージを3本とも短くする(0900のあたりまで)

・NS Grenade Explosionが選択されてる状態で、トラックを押してオーディオトラックをクリックする

・オーディオの「+」を押して、ExplodingBarrel_Explode_01_Cueを選ぶとゲージがでるので長さが同じになるように調整する

 

以上でボタンを押すとコインが出てきて、コインを持っていると条件付きボタンが押せる仕組みが完成です!