UEFN Verse言語 メタバース

【UEFN】Verseを使って他の仕掛けとのインタラクションをカスタムコード化する方法

【UEFN】Verseを使って他の仕掛けとのインタラクションをカスタムコード化する方法
みなみ

他の仕掛けとのインタラクションをカスタムコード化する方法について教えてください!

りゅう

初心者向けにわかりやすく解説してほしいですね!

こんなお悩みを解決します。

 本記事の内容
 本記事の信頼性

この記事を書いている僕は、クリエイター兼ブロガーです。実際にUEFNを使っており、現在進行形で学んでいます。

今回は、他の仕掛けとのインタラクションをカスタムコード化する方法について解説します。

なお、今回使用するオブジェクトの配置等は以下の記事をご参照ください

>> 公式ドキュメントを見る

さっそく、やっていきましょう。

あすか

仕掛けのリファレンスを作成する

仕掛けのリファレンスを作成する

なお、以下のコードの解説文はプログラミング初心者の主がなんとか調べて記述したものです。

参考程度にどうぞ。

あすか

誤りがありましたら恐縮ですm(_ _)m

▼ このコードは、アイテムスポーナーとボタンの仕掛けを作成し、それぞれの仕掛けを初期化するためのコードです。

@editable
Button:button_device = button_device{}
@editable
ItemSpawner:item_spawner_device = item_spawner_device{}

仕掛けイベントに反応する

仕掛けイベントに反応する

button_device クラスが公開する InteractedWithEvent にサブスクライブする必要があります。

ゲームを開始したときに実行します。

OnBegin<override>()<suspends>:void=
    Button.InteractedWithEvent.Subscribe(OnButtonInteractedWith)

▼ このコードは、ボタンがインタラクトされたときに呼び出されるOnButtonInteractedWithメソッド内に、ItemSpawner.SpawnItem()というコードが追加されています。

OnButtonInteractedWith(InPlayer:agent):void=
    ItemSpawner.SpawnItem()
 agent型が採用されている理由
 SpawnItemについて

完全なスクリプト

完全なスクリプト
using { /Verse.org/Simulation }
using { /Fortnite.com/Devices }

spawner_button := class<concrete>(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()

今日はここら辺で。

お疲れさまでした🍵

  • この記事を書いた人
  • 最新記事

あすか(Asuka)

自己紹介:UEFNクリエイター兼ブロガー
Verse言語独学中 | UE・プログラミング・3Dモデリング完全初心者 | 備忘録として学習記録をブログに残しています。
■好きな言葉
徳は弧ならず必ず隣あり.
■ひとこと
まだまだ未熟者ですが、
よろしくお願いします。

-UEFN, Verse言語, メタバース
-, ,