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
ARDKハンズオン1のメインスライド
Search
ppengotsu
June 17, 2022
Technology
0
800
ARDKハンズオン1のメインスライド
ppengotsu
June 17, 2022
Tweet
Share
More Decks by ppengotsu
See All by ppengotsu
ARDKハンズオン1用に準備して欲しいこと
ppengotsu
0
540
Other Decks in Technology
See All in Technology
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
140
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.1k
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
430
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
15k
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
3
12k
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
15k
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
160
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
140
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
6
4.1k
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
240
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
380
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
6.7k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.9k
Building Applications with DynamoDB
mza
95
6.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Why Our Code Smells
bkeepers
PRO
337
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Code Reviewing Like a Champion
maltzj
524
40k
BBQ
matthewcrist
89
9.7k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Transcript
#ARDKUG Zoomで質問受付中 Niantic Lightship ARDK online Hands-on workshop #1 佐久間捷矢
/ デザイニウム 1
#ARDKUG Zoomで質問受付中 登壇者 2 Designium @ppengotsu 佐久間 Niantic 白石 Designium
@marikocco マリコ Niantic Joe
#ARDKUG Zoomで質問受付中 ハンズオンの質疑など 3 エラーで詰まった場合などは、Discordの”〇〇” Zoomのチャットで質問くださ い。 zoomは、いいね!👍などリアクションもお願いします 人数が人数ですので、もし自分のところでは、そのエラーなおったよー!みたい な方いたら、返信お願いします。
Twitterで制作物などをつぶやくときは、#ARDK #ARDKUG をつけてツイートし てもらえるとたすかります。
#ARDKUG Zoomで質問受付中 本日の流れ 4
#ARDKUG Zoomで質問受付中 ARDKの説明の前に、、 5
#ARDKUG Zoomで質問受付中 Unityで新規プロジェクトを作成 6 Unity2021.3.3f1で、新規3D(URP)プロジェクトを作成してください。 作成後、プラットフォームをiOSに変更してください。
#ARDKUG Zoomで質問受付中 ARDKの簡単な説明 7
#ARDKUG Zoomで質問受付中 ARDKとは? 8 NianticのLightshipに属するAR SDKとなります Niantic Lightship ARDK VPS
#ARDKUG Zoomで質問受付中 ARDKを使った例 9 https://youtu.be/bQ8lUzU52Pc
#ARDKUG Zoomで質問受付中 ARDKの特徴 10 特徴は、4つあります。 • メッシュ • セマンティックセグメンテーション •
マルチプレイヤー • VPS ←New!!
#ARDKUG Zoomで質問受付中 ARDKの特徴 - メッシュ機能 11 • iPhone8以上 • 2018年以降発売のハイエンド
Android であれば、周りの環境に合わせて、 メッシュを生成できます。 https://youtu.be/4m_rdpFxJao この後、一緒に作ります。
#ARDKUG Zoomで質問受付中 ARDKの特徴 - セマンティックセグメンテーション機能 12 後半、この機能のサンプル で遊びます。 https://www.youtube.com/watch?v=fpKNd2LKAuk &t=3s
#ARDKUG Zoomで質問受付中 ARDKの特徴 - マルチプレイヤー機能 13 iOS、Androidを相互に繋ぎ、 複数端末を同期したARを作成できます。 サーバは、Nianticが稼働させている ものを使います
後半、この機能のサンプル で遊びます。 https://youtu.be/bQ8lUzU52Pc
#ARDKUG Zoomで質問受付中 ARDKの特徴 - VPS機能 14 現実の位置に合わせて、3Dモデルを 設置できるようになる機能です。 詳細 https://lightship.dev/docs/ardk/vp
s/concepts_and_terminology.html https://www.youtube.com/watch?v=wwFiZ7CU9LE &t=24s
#ARDKUG Zoomで質問受付中 ARDKの特徴 15 特徴は、4つあります。 • メッシュ • セマンティックセグメンテーション •
マルチプレイヤー • VPS ←New!!
#ARDKUG Zoomで質問受付中 ARDKの簡単な説明は終わり 16
#ARDKUG Zoomで質問受付中 初級編2の実践 17
#ARDKUG Zoomで質問受付中 目標 18
#ARDKUG Zoomで質問受付中 情報 19 参考元ブログ https://note.com/thedesignium/n/nbfba2a831469 ブログは、少し古いARDKかつ、旧式レンダーラインで環境構築したものです。
#ARDKUG Zoomで質問受付中 ステップ一覧 20 1. PlayerSettingsの変更 2. ARDK本体のインポート 3. ARDKライセンスキー発行
4. ARDKライセンスキーの設定 5. URP特有の設定 6. シーン作成 7. メッシュ生成機能の設定 8. ボールを飛ばす設定 9. ビルド
#ARDKUG Zoomで質問受付中 PlayerSettingsの変更 21 Bundle Identifier 各自(xcodeで設定し てもよい) Camera
Usage Desciption “ForAR”などいれてく ださい Location Usage Desciption “ForAR”などいれてく ださい
#ARDKUG Zoomで質問受付中 ARDK本体のインポート 22 事前準備でダウンロード済みのARDK本体を Unityにインポートしてください ARDK本体のダウンロード先 https://lightship.dev/account/downloads 途中表示される アラートはYESでよいです。
#ARDKUG Zoomで質問受付中 ARDKライセンスキー発行 -1 23 https://lightship.dev/account/projects
#ARDKUG Zoomで質問受付中 ARDKライセンスキー発行 -2 24 https://lightship.dev/account/projects わかりやすいものにしておくとよい わかりやすいものにしておくとよい ライセンス発行するボタン
#ARDKUG Zoomで質問受付中 ARDKライセンスキー発行 -3 25 https://lightship.dev/account/projects ここのボタンで、ライセンスキーをコピーします
#ARDKUG Zoomで質問受付中 ARDKライセンスキーの設定 26 Unityプロジェクトへ戻ります。 1. /Assets/Resources/ARDK フォルダを作成 2. 作成したフォルダで右クリックして
ArdkAuthConfigを作成 3. Api keyに、さきほどコピーしたキーを設定
#ARDKUG Zoomで質問受付中 URP特有の設定 27 /Assets/Settings/URP-Balanc ed-Rendererの設定を変更しま す。 ・ARSessionFeature ・DepthMeshRenderFeature の2つを追加してください。
詳細: https://lightship.dev/docs/ardk/rendering/urp.html#doxid-urp
#ARDKUG Zoomで質問受付中 シーン作成 28 1. シーンを新規作成し、シーン名を”Main”にしてください 2. MainCameraを削除 3. /Assets/ARDK/Extensions/Prefabs/ARSceneManagerをシーンに追加
#ARDKUG Zoomで質問受付中 メッシュ生成機能の設定 - 1 29 /Assets/ARDK/Extensions/Meshing/ARMesh をシーンに追加してください
#ARDKUG Zoomで質問受付中 メッシュ生成機能の設定 - 2 30 新しいマテリアルを作ってください 透過設定にし、 透過率を90前後に調整してみてください。
#ARDKUG Zoomで質問受付中 メッシュ生成機能の設定 - 3 31 シーン上のARMeshの設定を変更します。 ・MeshPrefabを /Assets/ARDK/Extensions/Meshing/ARMesh ColliderChunkに変更
・UseInvisibleMaterialをオンに変更 ・InvisibleManterialに新規作成したMaterialに 変更
#ARDKUG Zoomで質問受付中 ボールを飛ばす設定 - 1 32 https://github.com/TheDesignium/public_ardkhandson1/blob/main/ActionM anager.cs 上記、スクリプトをダウンロードして、Unityへインポートしてください
#ARDKUG Zoomで質問受付中 ボールを飛ばす設定 - 2 33 シーンで、球体(Sphere)を作成し、”Ball”と名前を変 えてください。 作成後、 ・Scaleを0.1に変更
・Rigidbody追加 ・RigidbodyのMassを0.01に変更 上記3つの変更をしてください。
#ARDKUG Zoomで質問受付中 ボールを飛ばす設定 - 3 34 シーンで、空のオブジェクトを作成し、”Manager”に名前を変更し てください。 ”Manager”オブジェクトに、ActionManager.csを追加してくださ い。
次、ActionManager.csの紐づけ作業をします ・”BallPrefab”には、さきほど作成したBallおぶえジェクト ・”Main Camera”には、シーン上のARSceneManagerの小オブジェク トであるARSceneCameraオブジェクト のそれぞれを紐づけるようにしてください。
#ARDKUG Zoomで質問受付中 ビルド 35 作成した”Main”シーンをビルド対象に追加し、 いつもどおりBuild&Runして、実機で動作させてみてください。 何か詰まった!や質問などがあったら教えてください。
#ARDKUG Zoomで質問受付中 おまけ 36 時間が余った方向け • VPSの解説 ◦ https://note.com/thedesignium/n/n10cbe153a7c7 •
Mesh1のシェーダをいろいろ変えてみると おもしろいかとおもいます。
#ARDKUG Zoomで質問受付中 休憩 〜??:?? 37
#ARDKUG Zoomで質問受付中 後半 38
#ARDKUG Zoomで質問受付中 ARDK公式サンプルを試す 39
#ARDKUG Zoomで質問受付中 流れ 40 • ARDK公式サンプルインポートと設定 • ビルド • セマンティックセグメンテーション
• マルチプレイヤー
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-1 41 さきほどボールを出せるようになったUnityプロジェクトに、 事前にダウンロードしていた”ardk-examples-2.0.0.unitypackage”をインポート してください。 https://lightship.dev/account/downloads
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-2 42 URPマテリアルに変更が必要です。 まず、ARDKExamplesフォルダに含 まれるマテリアルをURPに対応させ ます。 5番目で表示されたマテリアルを すべて選択してください
1 3 4 2 5
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-3 43 マテリアルを選んだ状態で、 Editメニューの Rendering>Maerials>Convert Selected Build~~~URPを選んで ください。
表示された警告はYesを選んでく ださい
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-4 44 ダブったARDKライセンスキーファイルを削除 します ARDKExamples>Resources>ARDK>ArdkAuthC onfig を削除します
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-5 45 ビルド対象シーンにサンプルシーン全て追加し ます。 Materialと同様に、ARDKExsampleフォルダの Sceneを全て選びます 1 3
2 4
#ARDKUG Zoomで質問受付中 ARDK公式サンプルインポート-6 46 さきほど選んだシーンを、ビルド対象に追加し てください。 そして、SceneSelectorシーンを一番上にして ください。
#ARDKUG Zoomで質問受付中 ビルド 47 ビルドしてください。たぶん時間かかるかと思います。。。
#ARDKUG Zoomで質問受付中 セマンティックセグメンテーション - 1 48 SemanticSegmentationシーンを開いてみてください 右上の”Change Feature Channel”で対象物を変えてみてください
#ARDKUG Zoomで質問受付中 セマンティックセグメンテーション - 2 49 SemanticSegmentationExampleManagerでは、 Update文で、セグメンテーションのテクスチャを使って マスクの設定をしています。
#ARDKUG Zoomで質問受付中 マルチプレイヤー 50 ARNetworkingExampleManagerシーンを みてみましょう。
#ARDKUG Zoomで質問受付中 マルチプレイヤー 51 1. 端末Aで矢印1のボタンを押し、ルームIDを作ります 2. 端末1の矢印2に表示されたルームIDを、端末Bの矢 印2に入力してください 3.
端末Aで矢印3のボタンをおす 4. 端末Bで矢印3のボタンをおす 5. まわりをしばらく見渡すとローカライズできて、 お互いの端末位置に立方体が表示されます 1 2 3
#ARDKUG Zoomで質問受付中 マルチプレイヤー 52 ARNetworkingExampleManagerには、バイト形式でデータ送受信している例があ ります 送信 受信
#ARDKUG Zoomで質問受付中 マルチプレイヤー 53 エラーコード https://lightship.dev/docs/ardk/multiplayer/low_level_networking_errors.h tml
#ARDKUG Zoomで質問受付中 残り時間、各シーン試してみてください 54
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 55 ボールを飛ばすトリガーを送受信するようにしてみます 時間がある場合
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 56 Assets/ARDKExamples/ARNetworking/ARNetworkingシーンを複製し、 ”ARNetworkingWithBall”という名前にしてください その後、作成したシーンを開いてください
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 57 /Assets/ARDK/Extensions/Meshing/ARMesh をシーンに追加してください
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 58 シーン上のARMeshの設定を変更します。 ・MeshPrefabを /Assets/ARDK/Extensions/Meshing/ARMesh ColliderChunkに変更 に変更
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 59 シーンで、球体(Sphere)を作成し、”Ball”と名前を変 えてください。 作成後、 ・Scaleを0.1に変更 ・Rigidbody追加 ・RigidbodyのMassを0.01に変更
上記3つの変更をしてください。
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 60 https://github.com/TheDesignium/public_ardkhandson1/blob/main/ActionNe tworkManager.cs をダウンロードし、Unityプロジェクトへ追加してください。
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 61 シーンで、空のオブジェクトを作成し、”Manager”に名前を変更し てください。 ”Manager”オブジェクトに、ActionNetworkManager.csを追加して ください。 次、ActionNetworkManager.csの紐づけ作業をします ・”BallPrefab”には、さきほど作成したBallおぶえジェクト
・”Main Camera”には、シーン上のARSceneManagerの小オブジェク トであるARSceneCameraオブジェクト のそれぞれを紐づけるようにしてください。
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 62 ビルドします ビルド対象に、”ARNetworkingWithBall”シーンを追加し、 シーンリストの先頭にし、ビルドしてください
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 63 送信部分 ボールを発生させたい位置と飛ばしたい方向を送信してます。
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 64 受信部分 受信した位置、方向に向かって ボールを発射する処理をしている
#ARDKUG Zoomで質問受付中 ボール発射するサンプルのネットワーク版 65 今回のサンプルは、発射トリガーだけを送受信してます。 そのため、飛ばした後のボールの位置は同期されません。 今回のような低レイヤーの実装なら、常に位置情報を送受信する修正を行う必要があります。 高レイヤーの場合は、位置同期便利クラスを使うとよいかもれしれないです https://lightship.dev/docs/ardk/multiplayer/HLAPI/network_spawning.html#doxid-hlapi-network- spawning
#ARDKUG Zoomで質問受付中 サンプル補足 66 • 深度取得しているサンプルやVPSのサンプルもあります • 公式のテンプレートもあります ◦ 公式テンプレートは、新しいシーン
を作ってから、各テンプレを選ぶと よさそうです。
#ARDKUG Zoomで質問受付中 Q&A 67
#ARDKUG Zoomで質問受付中 Nianticからの話 68
#ARDKUG Zoomで質問受付中 おわり 69