“仕掛け”をverseで使う方法

はじめに

下の動画のような、プレイヤーが接触すると消えるプラットフォームをつくります。

今回の学習によって、”仕掛け”をverseでつかう方法を身に着けることができます。

それでは、まいります。

使用する仕掛けをレベルに配置する

まずは、仕掛けを2つ設置します。

プレイヤースポーンパッドの仕掛け(Player Spawn Pad Devices) ×1

カラーチェンジタイルの仕掛け(Color Changing Tile Devices)×1

verseで新しい仕掛けをつくって設置したいので、verseデバイス名をPlatform_deviceとして、とりあえず設置します。

”仕掛け”をverseで使う方法

使用したい仕掛けの英語での正式名称を調べます。

カラーチェンジタイルの詳細設定にインスタンスとあるので、マウスをあわせると下画像のような表記が登場します。

クラス:Device_ColorChangingTilesが英語名のようですが、以下のEpicサイトにアクセスして確認していきます。このサイトはよく使うので要ブックマークを推奨します。

Epic Developer Community
Unreal Editor For Fortnite のドキュメント | Unreal Editor For Fortnite ドキュメンテーション | Epic D... Unreal Editor for Fortnite について知りたい情報すべてを集約しています。

Epicサイトにアクセスして、画面左上にページのフィルタとあります。(下画像の黄色枠部分参照)

ここに、先ほど調べたColorChangingTilesを入力します。なにも検索結果がでなければ、colorとかと入力すると(下画像の黄色枠部分)検索結果がでてきます。1つ正しそうな項目があるのでクリックしてみます。(下画像の緑色枠部分)

ここに、カラーチェンジタイルの仕掛けをverseでつかうときの設計図が書かれています。(英語表記のみ)

よく使うのは3つあって、一番上に記載されているクラス名(color_changing_tiles_device class)と、Dataという項目と、下の方にあるFunctionsという項目です。ページをスクロールして確認してみてください。

verseでは新しいクラスをつくっているというお話は以前にしました。クラスをつくるだけでなく、クラスを使うこともできるのです。

実際につかってみましょう。

まず、クラス名はcolor_changing_tiles_device classでしたので、verseスクリプトに記載していきます。

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

Platform_device := class(creative_device):

    #定数名 : クラス名 = クラス名{}
    #こうすることで、指定したクラスを使いますよと宣言できる
    @editable
    Platform : color_changing_tiles_device = color_changing_tiles_device{}

つぎに、Dataをつかいます。Dataはイベント機能ともよばれ、仕掛けの機能をつかって発生するイベントで、そのイベントに連鎖するようにしてほかの関数を呼び出すことができます(呼び出すことをsubscribeサブスクライブといいます)。主にOnbegin部分に書かれます。


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

Platform_device := class(creative_device):

    #定数名 : クラス名 = クラス名{}
    #こうすることで、指定したクラスを使いますよと宣言できる
    #Platformがcolor_changing_tiles_deviceの能力を引き継いでいますとしている
    @editable
    Platform : color_changing_tiles_device = color_changing_tiles_device{}

    #どんなイベントが起きるのかを書いていく
    #Platformがcolor_changing_tiles_deviceの能力を持っているので、Dataを使う。
    #DataにはActivatedEventがあるので使う。
    #プレイヤーがPlatformにふれるイベントのことで、
    #それに関連してOnPlayerTouch関数をsubscribeしている
    OnBegin<override>()<suspends>:void=
        Platform.ActivatedEvent.Subscribe(OnPlayerTouch)

最後に、Functionsをつかい、呼び出される関数の詳細をかきます。今回は、Hideをつかってみます。

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

Platform_device := class(creative_device):

    #定数名 : クラス名 = クラス名{}
    #こうすることで、指定したクラスを使いますよと宣言できる
    #Platformがcolor_changing_tiles_deviceの能力を引き継いでいますとしている
    @editable
    Platform : color_changing_tiles_device = color_changing_tiles_device{}

    #どんなイベントが起きるのかを書いていく
    #Platformがcolor_changing_tiles_deviceの能力を持っているので、Dataを使う。
    #DataにはActivatedEventがあるので使う。
    #プレイヤーがPlatformにふれるイベントのことで、
    #それに関連してOnPlayerTouch関数をsubscribeしている
    OnBegin<override>()<suspends>:void=
        Platform.ActivatedEvent.Subscribe(OnPlayerTouch)

    #OnPlayerTouchという関数の中身を書いている。
    #引数や戻り値はDataによってきめられている。
    #ここでは、Functionをつかい、Hideをつかうことにする。
    #消える機能である。
    OnPlayerTouch(InPlayer : agent) : void =
        Platform.Hide()

    #つまり、プレイヤーがプラットフォームにふれると、プラットフォームが消える仕掛けデバイスになる。

これで完成です。verseデバイス詳細設定で、最初に設置したカラーチェンジタイルを選択します。

下の動画のように、カラーチェンジタイルとverseデバイスをshiftキーを押しながら選択して、altキーを押してギズモで移動すると複製できます。これを4セットつくっておきます。

セッションを開始します。完成です。

まとめ

“仕掛け”をverseでつかう方法についてお話をしてきました。

仕掛けは200個以上あり、それぞれで違うイベント機能などを持ちます。

今回学習したように、いろいろと調べて、いろいろと試してみると、とても面白いです。

ぜひ挑戦してみてください。

それでは。お疲れ様でした。

ご質問やご感想はお気軽にコメント欄まで!

コメントする