Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3か月前の自分に伝えたいUEFN / Verseの知見5選

3か月前の自分に伝えたいUEFN / Verseの知見5選

2023年 10月13日 UEFN.Tokyo 勉強会 02 にて登壇

Kenta Iwasaki

October 18, 2023
Tweet

More Decks by Kenta Iwasaki

Other Decks in Technology

Transcript

  1. 3か月前の自分に伝えたい
    UEFN / Verseの知見5選
    10月13日 UEFN.Tokyo 勉強会 02
    株式会社サイバーエージェント エンジニア
    イワケン/岩﨑 謙汰/@iwaken71

    View full-size slide

  2. イワケン / 岩﨑謙汰 / @iwaken71
    iwaken7
    1
    2018年 Unityエンジニア
    VTuber / VRアプリ / Vキャラライブ
    2020年 UEエンジニア
    バーチャルプロダクション
    2023年 UEFNエンジニア New!
    Fortniteのレベルは現在109 (ゼロビルド勢)
    フォロワー 7050人
    XR界の吉田松陰

    View full-size slide

  3. UEFNと自分
    2023.3 UEFN発表 2023.5 UEFN面白そう! 2023.7 個人Map公開
    会社でもやるぞ! 企業様のマップ制作
    2023.10 技術記事投稿
    ・Mapを3つ公開
    ・UEFN Qiita記事数ランキング1位
    (6個/9個)

    View full-size slide

  4. UEFNわからん
    Verseわからん
    3か月前の自分
    UE/Unityだったら
    こう実装できるのに...

    View full-size slide

  5. 今: UEFNプレゼンも作れるように

    View full-size slide

  6. 「UEFNプレゼン」を元に知見解説
    3か月前の自分に伝えたいUEFN / Verseの勘所
    • スライド公開予定
    • 詳細記事公開予定
    知識のインデックスを貼れると良いと思います

    View full-size slide

  7. UEFN / Verse知見5選
    • 早く知りたかった仕掛け3選
    • Verseスタイルガイド
    • Verse UI実装
    • マルチプレイでデバッグしよう
    • 生のコードを見よう

    View full-size slide

  8. 早く知りたかった
    Devices(仕掛け) 3選

    View full-size slide

  9. 174種類覚えるのは大変
    • Devices (仕掛け)とは、島で特定のインタラクティブな体験を
    設定することのできるクリエイティブ用ツールです。

    View full-size slide

  10. 早く知りたかった仕掛け3選
    早く知りたかった仕掛けランキング
    • Mutator Zone
    • Prop Manipulator
    • Tracker

    View full-size slide

  11. Mutator Zone
    使い方
    • このZoneに入ったら〇〇というイベントが取れる!
    • Zoneに入ったら武器の付与
    他にできること
    • エモート検出
    • 武器使用の禁止
    • ジャンプ禁止
    • 重力変更
    • スピード倍率変更

    View full-size slide

  12. Prop Manipulator 小道具操作機
    使い方
    • このPropがダメージを受けたら○○というイベントが取れる!
    • 撃たれたらスライドを進める
    他の使い方
    • Propを破壊できなくする
    • Propを見せる/隠す
    • Propの体力変更

    View full-size slide

  13. Tracker
    使い方
    • 目標の設定
    左に出るミッション、クエスト的なもの
    使い方パターン
    • 経過時間
    • Score
    • 撃破数
    20種類以上活用可能

    View full-size slide

  14. Verseスタイルガイド

    View full-size slide

  15. Verseの書き方に慣れる
    Why: メンテナンスが容易で一貫性のあるVerse コード
    1つだけ紹介
    ・タイプには lower_snake_case
    ・その他のすべては PascalCase
    C#と逆なんだよなぁ...
    https://dev.epicgames.com/documentation/ja-jp/uefn/verse-code-style-guide-in-unreal-editor-for-fortnite

    View full-size slide

  16. あとで見ると良いかもです
    https://dev.epicgames.com/documentation/ja-jp/uefn/verse-code-style-guide-in-unreal-editor-for-fortnite

    View full-size slide

  17. Verse UI実装

    View full-size slide

  18. 今回のVerse UI実装
    • Texture
    • Text
    現在のスライド
    を表示

    View full-size slide

  19. Verse UI実装
    初見ムズすぎ問題

    View full-size slide

  20. サンプルコードを載せました
    • まずは写経から
    • 全体像を理解しながらコードを書くことで理解が進む

    View full-size slide

  21. VerseUIで話すこと
    • Verse UIの全体像
    • Canvas内配置の数値
    • Textureの呼び出し方
    • マルチプレイ対応でmap活用

    View full-size slide

  22. [全体像] Verse UI classの依存関係

    View full-size slide

  23. classの依存関係からわかること
    • playerに対してwidgetを付与する
    • widgetにはたくさんの種類がある
    canvas
    button_load (ボタンのUI要素)
    texture_block (TextureのUI要素)
    text_block (文字のUI要素)
    • canvasの中にwidgetを複数持つことができる (厳密にはcanvas_slotの中)
    canvas
    texture
    Add Widget
    Player
    text

    View full-size slide

  24. Widget配置の数値わからん問題

    View full-size slide

  25. Widget作って数値を参考に

    View full-size slide

  26. TextureをVerseから呼び出す
    ① TextureをAssets.digest.verseに登録する
    ② TextureをVerseコードで使用する
    Verse

    View full-size slide

  27. Assets.digest.verseに登録する
    • Contents以下にフォルダを作る
    • 画像データをを保存する
    • Menuバーの[Verse]>[Build Verse Code]からビルドする

    View full-size slide

  28. TextureをVerseコードで使用する方法
    • using {/Verse.org/Assets}を追加
    • {フォルダ名/module名}.{ファイル名/変数名}として使用可能
    例 Textures.Slide001

    View full-size slide

  29. なんでmapでWidget定義?
    • Player毎にWidgetを保持しているから
    • マルチプレイの時にこの実装じゃないと不具合が発生する
    • 私はWidget情報をまとめたclassの実装をmapのValueに設定しています。
    mapとは、Key-Valueで情報を持つ
    プログラミングの書き方
    canvas
    texture
    Add Widget
    Player
    text

    View full-size slide

  30. マルチプレイで
    デバッグしよう

    View full-size slide

  31. PC + Switchでデバッグ
    • シングルプレイではうまくいっても、
    マルチプレイでうまくいかないことも (特にUI実装)
    • Switchスペックでも動くMapに
    PC
    Switch

    View full-size slide

  32. 生のコードを見よう

    View full-size slide

  33. VSCode見る & 検索
    • 仕掛けを右クリック「Open Definition in Visual Studio Code」
    「Damaged」で検索

    View full-size slide

  34. 最後に
    • Xフォロー @iwaken71 よろしく!
    • 今年はUEFNの日本語記事30本は書きたい
    参考にしていただけると嬉しいです!
    • 一緒にUEFN勉強・マップ制作する仲間をゆる募してます!
    個人でも会社でも
    ゼロビルドしたい

    View full-size slide