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
NinjaGazeTyping
Search
Graffity
July 22, 2024
Programming
0
29
NinjaGazeTyping
AppleVisionPro 専用Spatial ゲーム Ninja Gaze Typing の制作にまつわるLTです
Graffity
July 22, 2024
Tweet
Share
More Decks by Graffity
See All by Graffity
AppStoreConnectAPIを使って端末登録作業を自動化しよう!(Unity CI/CD 完全に理解した 勉強会)
graffity
0
260
AppleVisionProCICD
graffity
0
320
HandgestureTool for AppleVisionPro
graffity
0
40
Graffity 採用候補者の皆様へ
graffity
1
14k
Other Decks in Programming
See All in Programming
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
310
CSC509 Lecture 14
javiergs
PRO
0
140
nekko cloudにおけるProxmox VE利用事例
irumaru
3
420
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Become a Pro
speakerdeck
PRO
26
5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Mobile First: as difficult as doing things right
swwweet
222
9k
Transcript
CONFIDENTIAL visionOS engineer オンラインLT会 vol.5 NinjaGazeTyping 製作話 2024/02/21
登壇者情報 Graf fi ty(ג) ॴଐUnityΤϯδχΞ ઐྖҬɿαϯυϓϩάϥϛϯά UnityΛத৺ͱͨ͠ใൃ৴ͳͲΛߦ͍ͬͯ·͢ɻ 2 visionOS engineer
オンラインLT会 vol.5 著書&査読協⼒ @8bitdots https://qiita.com/Cova8bitdot @cova8bit.bsky.social
CONFIDENTIAL
CONFIDENTIAL 世界初のマルチプレイ ARシューティングゲーム 「ペチャバト」 4 プロダクト紹介 - ペチャバト
で、 最短3ヶ⽉ つくります ⼼動かすARエンタメ企画 「Gra ff i ty AR Studio」は、ARに特化したエンタメDXファームです。
2C向けに展開しているARゲームの企画の知⾒やAR開発内製基盤など開発⼒を強みとし、 ARを活⽤したエンタメDXの企画から開発までご⽀援することができます。 プロダクト紹介 - Graffity AR Studio
CONFIDENTIAL 株式会社NTTコノキューと絶滅動物発掘ARゲーム「ロストアニマルプラネット」を企画・開発 受注から3ヶ⽉の開発期間で、2023年8⽉にリリースを実施いたしました 6 Graffity AR Studio - 実績紹介 ×
CONFIDENTIAL ⽬次 1. Ninja Gaze Typing の紹介 2. 製作にあたって遭遇した技術的課題
CONFIDENTIAL ⽬次 1. Ninja Gaze Typing の紹介 2. 製作にあたって遭遇した技術的課題
Ninja Gaze TypingはApple VisionPro のGaze&Tap という操作を利⽤したタイピングゲームです Ninja Gaze Typing の紹介
Ninja Gaze TypingはApple VisionPro のGaze&Tap という操作を利⽤したタイピングゲームです Ninja Gaze Typing の紹介
キーボードの各キーに視線を向けると 少し⽩っぽくなり、選択状態として表⽰されます。
Ninja Gaze TypingはApple VisionPro のGaze&Tap という操作を利⽤したタイピングゲームです Ninja Gaze Typing の紹介
Vision Pro では選択状態の時に 親指と⼈差し指をくっつけるとTap操作、 つまり選択操作が可能です。
Ninja Gaze TypingはApple VisionPro のGaze&Tap という操作を利⽤したタイピングゲームです Ninja Gaze Typing の紹介
ちなみに本ゲームはUnityの PolySpatial というVisionOS⽤ライブラリを⽤いて開発しています Ninja Gaze Typing の紹介
CONFIDENTIAL ⽬次 1. Ninja Gaze Typing の紹介 2. 製作にあたって遭遇した技術的課題
⼀部内容は既にQiitaや開発者インタビュー記事で公開してあります 15 製作にあたって遭遇した技術的課題 https://qiita.com/Cova8bitdot/items/5b77a390c12571fea7e8 https://qiita.com/Cova8bitdot/items/aead03ee29fb8b595a7e https://note.com/gra ffi ty/n/nc176aee1c19a
ハンドトラッキング周りで遭遇したトラブル2選 16 製作にあたって遭遇した技術的課題 • HandTracking 使⽤のための権限リクエストのTextを⼊⼒なしだとアプリがクラッシュする • PolySpatialで特定のコンポーネントを利⽤するとハンドトラッキングの利⽤が強制されてしまう
ハンドトラッキング周りで遭遇したトラブル2選 17 製作にあたって遭遇した技術的課題 • HandTracking 使⽤のための権限リクエストのTextを⼊⼒なしだとアプリがクラッシュする • PolySpatialで特定のコンポーネントを利⽤するとハンドトラッキングの利⽤が強制されてしまう
HandTracking 使⽤のための権限リクエストのTextを⼊⼒なしだとアプリがクラッシュする Info.plist の NSHandsTrackingUsageDescription のテキストが未設定だと実機でクラッシュします こちらはvisionOS1.0での問題で、現在公開されているvisionOS1.1βでは修正済になっているそうです 18 製作にあたって遭遇した技術的課題
ハンドトラッキング周りで遭遇したトラブル2選 19 製作にあたって遭遇した技術的課題 • HandTracking 使⽤のための権限リクエストのTextを⼊⼒なしだとアプリがクラッシュする • PolySpatialで特定のコンポーネントを利⽤するとハンドトラッキングの利⽤が強制されてしまう
PolySpatialで特定のコンポーネントを利⽤するとハンドトラッキングの利⽤が強制されてしまう • HandTrackingを明⽰的に使うことを設定してないのに⾃動的にHandTrackingがOnになる問題 • PolySpatialのVisionOSLoaderというClassがHandTracking有効化の設定を⾏う • 実際にはVisionOSSessionSubsystemが権限リクエストの処理をしている • ARSession コンポーネントを使うと上記が⾃動的に実⾏される
https://discussions.unity.com/t/is-it-possible-not-to-use-handtracking-and-not-to-request-hand- tracking-authority/335809 20 製作にあたって遭遇した技術的課題
PolySpatialで特定のコンポーネントを利⽤するとハンドトラッキングの利⽤が強制されてしまう 特にAR/MR機能を利⽤しないのであればXR Plug-in Managementの AppleVisionOS をO f にするのが 有効だそうです。 ちなみに、UnityのPolySpatial
の⼀部ドキュメントで Apple VisionOS Loader と書いてあるものは上記の Plug-in Providers のことだそうです。表記ブレがあるのでご注意ください(Unity公式からも回答済) また、本件は今後適切に権限設定できるように改修予定だそうです。 21 製作にあたって遭遇した技術的課題
まとめ AR/MR機能やパススルー映像の綺麗さは他のHMDと⽐べても利⽤する価値は⼗分あると思います VisionOS 並びにPolySpatial はまだまだ発展途上ですが、⼯夫とアイデア次第では ⾯⽩いゲームは⼗分開発可能です 新規デバイスの初期開発段階は⾊々⼤変ですが、根気よく開発すれば、全く新しい体験や⾯⽩いものが できると思います。 22 最後に
Vision Pro向けのSpatialゲームを⼀緒に開発したいUnityエンジニア募集! Gra ff i ty は 、Unity PolySpatialで VisionPro向けにSpatialゲームを開発したいメンバー
を募集中です! 我こそは!!と思う⽅は是⾮Gra ff i tyメンバーにお声がけ頂い たり、採⽤ページからアクセスしていただけると幸いです。 代表Xアカウント : https://twitter.com/ok_totti HP : https://herp.careers/v1/gra ffi ty 最後に、NinjaGazeTyping 無料ゲームなので是⾮ご体験く ださい!! (弊社オフィスでも体験可能です) 23 最後に Gra ffi tyに興味ある& オフィスでVision Proを体験したい⽅は Gra ffi ty代表の森本にDMしてください!