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
1k
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
Iwaken Lab. 説明スライド 2024.04.01
iwaken71
0
2.2k
Coding Stoicだった 自分を思い出す
iwaken71
0
150
HoloLensと謎解きの融合: 「TARGET」開発物語 - 企画から一般公開に向けての道のり
iwaken71
0
110
Iwaken Lab.紹介スライド2023.05.14
iwaken71
0
3.7k
Babylon.js書籍出版の裏側。ツイートから始まった奇跡の1年を振り返る
iwaken71
0
390
XR好き学生支援コミュニティIwaken Lab.が今熱い
iwaken71
0
150
オンライン時代の 技術仲間の増やし方 ~3つのコミュニティ事例を添えて~
iwaken71
0
800
やりたいことを仕事にして会社を楽しもう「会社員+コミュニティ型個人」 な生き方の勧め
iwaken71
1
260
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
1
1.4k
Other Decks in Technology
See All in Technology
複雑なState管理からの脱却
sansantech
PRO
1
130
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
560
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
190
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Making Projects Easy
brettharned
115
5.9k
4 Signs Your Business is Dying
shpigford
180
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Bash Introduction
62gerente
608
210k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Six Lessons from altMBA
skipperchong
27
3.5k
Ruby is Unlike a Banana
tanoku
97
11k
Happy Clients
brianwarren
98
6.7k
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勉強・マップ制作する仲間をゆる募してます!
個人でも会社でも ゼロビルドしたい