Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3か月前の自分に伝えたいUEFN / Verseの知見5選
Search
Kenta Iwasaki
October 18, 2023
Technology
0
1.3k
3か月前の自分に伝えたいUEFN / Verseの知見5選
2023年 10月13日 UEFN.Tokyo 勉強会 02 にて登壇
Kenta Iwasaki
October 18, 2023
Tweet
Share
More Decks by Kenta Iwasaki
See All by Kenta Iwasaki
31歳男性としての人生資本バランス & ウェルビーイング
iwaken71
0
97
Iwaken Lab. 説明スライド 2024.04.01
iwaken71
0
4.3k
Coding Stoicだった 自分を思い出す
iwaken71
0
180
HoloLensと謎解きの融合: 「TARGET」開発物語 - 企画から一般公開に向けての道のり
iwaken71
0
140
Iwaken Lab.紹介スライド2023.05.14
iwaken71
0
3.8k
Babylon.js書籍出版の裏側。ツイートから始まった奇跡の1年を振り返る
iwaken71
0
450
XR好き学生支援コミュニティIwaken Lab.が今熱い
iwaken71
0
190
オンライン時代の 技術仲間の増やし方 ~3つのコミュニティ事例を添えて~
iwaken71
0
870
やりたいことを仕事にして会社を楽しもう「会社員+コミュニティ型個人」 な生き方の勧め
iwaken71
1
340
Other Decks in Technology
See All in Technology
実践AIガバナンス
asei
3
170
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
210
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.9k
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
640
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
23k
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
320
帳票Vibe Coding
terurou
0
150
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
470
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
33k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
4
1.8k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
338
57k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Modern Web Designer's Workflow
chriscoyier
695
190k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Site-Speed That Sticks
csswizardry
10
790
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Scaling GitHub
holman
462
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Transcript
3か月前の自分に伝えたい UEFN / Verseの知見5選 10月13日 UEFN.Tokyo 勉強会 02 株式会社サイバーエージェント エンジニア
イワケン/岩﨑 謙汰/@iwaken71
イワケン / 岩﨑謙汰 / @iwaken71 iwaken7 1 2018年 Unityエンジニア VTuber
/ VRアプリ / Vキャラライブ 2020年 UEエンジニア バーチャルプロダクション 2023年 UEFNエンジニア New! Fortniteのレベルは現在109 (ゼロビルド勢) フォロワー 7050人 XR界の吉田松陰
UEFNと自分 2023.3 UEFN発表 2023.5 UEFN面白そう! 2023.7 個人Map公開 会社でもやるぞ! 企業様のマップ制作 2023.10
技術記事投稿 ・Mapを3つ公開 ・UEFN Qiita記事数ランキング1位 (6個/9個)
UEFNわからん Verseわからん 3か月前の自分 UE/Unityだったら こう実装できるのに...
今: UEFNプレゼンも作れるように
「UEFNプレゼン」を元に知見解説 3か月前の自分に伝えたいUEFN / Verseの勘所 • スライド公開予定 • 詳細記事公開予定 知識のインデックスを貼れると良いと思います
UEFN / Verse知見5選 • 早く知りたかった仕掛け3選 • Verseスタイルガイド • Verse UI実装
• マルチプレイでデバッグしよう • 生のコードを見よう
早く知りたかった Devices(仕掛け) 3選
174種類覚えるのは大変 • Devices (仕掛け)とは、島で特定のインタラクティブな体験を 設定することのできるクリエイティブ用ツールです。
早く知りたかった仕掛け3選 早く知りたかった仕掛けランキング • Mutator Zone • Prop Manipulator • Tracker
Mutator Zone 使い方 • このZoneに入ったら〇〇というイベントが取れる! • Zoneに入ったら武器の付与 他にできること • エモート検出
• 武器使用の禁止 • ジャンプ禁止 • 重力変更 • スピード倍率変更
Prop Manipulator 小道具操作機 使い方 • このPropがダメージを受けたら◦◦というイベントが取れる! • 撃たれたらスライドを進める 他の使い方 •
Propを破壊できなくする • Propを見せる/隠す • Propの体力変更
Tracker 使い方 • 目標の設定 左に出るミッション、クエスト的なもの 使い方パターン • 経過時間 • Score
• 撃破数 20種類以上活用可能
Verseスタイルガイド
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
あとで見ると良いかもです https://dev.epicgames.com/documentation/ja-jp/uefn/verse-code-style-guide-in-unreal-editor-for-fortnite
Verse UI実装
今回のVerse UI実装 • Texture • Text 現在のスライド を表示
Verse UI実装 初見ムズすぎ問題
サンプルコードを載せました • まずは写経から • 全体像を理解しながらコードを書くことで理解が進む
VerseUIで話すこと • Verse UIの全体像 • Canvas内配置の数値 • Textureの呼び出し方 • マルチプレイ対応でmap活用
[全体像] Verse UI classの依存関係
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
Widget配置の数値わからん問題
Widget作って数値を参考に
TextureをVerseから呼び出す ① TextureをAssets.digest.verseに登録する ② TextureをVerseコードで使用する Verse
Assets.digest.verseに登録する • Contents以下にフォルダを作る • 画像データをを保存する • Menuバーの[Verse]>[Build Verse Code]からビルドする
TextureをVerseコードで使用する方法 • using {/Verse.org/Assets}を追加 • {フォルダ名/module名}.{ファイル名/変数名}として使用可能 例 Textures.Slide001
なんでmapでWidget定義? • Player毎にWidgetを保持しているから • マルチプレイの時にこの実装じゃないと不具合が発生する • 私はWidget情報をまとめたclassの実装をmapのValueに設定しています。 mapとは、Key-Valueで情報を持つ プログラミングの書き方 canvas
texture Add Widget Player text
マルチプレイで デバッグしよう
PC + Switchでデバッグ • シングルプレイではうまくいっても、 マルチプレイでうまくいかないことも (特にUI実装) • Switchスペックでも動くMapに PC
Switch
生のコードを見よう
VSCode見る & 検索 • 仕掛けを右クリック「Open Definition in Visual Studio Code」
「Damaged」で検索
最後に • Xフォロー @iwaken71 よろしく! • 今年はUEFNの日本語記事30本は書きたい 参考にしていただけると嬉しいです! • 一緒にUEFN勉強・マップ制作する仲間をゆる募してます!
個人でも会社でも ゼロビルドしたい