Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マップゲーム SDK 競合の話 / arow and other map game sdk
Search
Ryuichi Jinushi
September 23, 2019
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マップゲーム SDK 競合の話 / arow and other map game sdk
こちらで LT したときの資料です。
https://connpass.com/event/139403/
Ryuichi Jinushi
September 23, 2019
More Decks by Ryuichi Jinushi
See All by Ryuichi Jinushi
非エンジニアにも分かる UniRx(ゆにあーるえっくす)/ UniRx for non-engineers
ryuj
1
72
マップゲーム SDK AROW とその運用を支える AWS の構成 / AROW with AWS
ryuj
0
110
少人数の SDK 開発を支えるテストの話 / tests for small group development
ryuj
0
620
位置情報を用いたモバイルゲームが 気軽に作れる 3D リアルマップサービス 「AROW」について (実践編) / how to AROW practice at Gotanda.unity #11
ryuj
0
83
技術書のすゝめ / suggestion of technical book
ryuj
0
93
Other Decks in Programming
See All in Programming
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
440
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.4k
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
AWSに止められる覚悟してますか?
morizo_1984
2
510
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
740
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
Webの地図
yosuke_furukawa
PRO
6
5.1k
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.3k
Design in an AI World
tapps
1
350
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Limits of Empathy - UXLibs8
cassininazir
1
700
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
Visualization
eitanlees
153
17k
Accessibility Awareness
sabderemane
1
230
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
How to Ace a Technical Interview
jacobian
280
24k
Code Review Best Practice
trishagee
74
20k
Ruling the World: When Life Gets Gamed
codingconduct
0
390
Transcript
Copyright Drecom Co., Ltd. All Rights Reserved. マップゲーム SDK 競合の話
株式会社ドリコム DRIP 部 地主龍一
Copyright Drecom Co., Ltd. All Rights Reserved. 自己紹介 地主龍一(Ryuichi JINUSHI)
• じぬ / ryuj / @reximology • DRIP 部(新規開発) 最近 • キングダムハーツ3 • オクトパストラベラー • 新しいポインターを買ってもらった
Copyright Drecom Co., Ltd. All Rights Reserved. 昨日の戦利品
Copyright Drecom Co., Ltd. All Rights Reserved. 位置情報と 3D リアルマップを用いた
アプリ開発プラットフォーム
Copyright Drecom Co., Ltd. All Rights Reserved. マップデータ + Unity
SDK AROW の提供物
Copyright Drecom Co., Ltd. All Rights Reserved. Google
Copyright Drecom Co., Ltd. All Rights Reserved. Google Maps Unity
SDK Demo
Copyright Drecom Co., Ltd. All Rights Reserved. 競合 SDK さわって比較してみた話
今日の内容
Copyright Drecom Co., Ltd. All Rights Reserved. アジェンダ • 概要と全体像の章
• とりあえず動かす章 • デモと実装を眺める章 • 考察の章
Copyright Drecom Co., Ltd. All Rights Reserved. SDK の現状 •
3ヶ月前くらいから存在 • あくまでデモ版 • データは限定的(ニューヨーク・マンハッタンのみ) • プロダクトに用いるなら問い合わせ必須 • ドキュメントは存在 • デモが無いケースがある • 日本語情報は無い
Copyright Drecom Co., Ltd. All Rights Reserved. 概要 • 建物生成
• 道生成 • prefab 置換 • 小物配置 Unity SDK • マップデータ • POI • 遊べる場所 • 適度な分布 • 場所の属性 Playable Locations API
Copyright Drecom Co., Ltd. All Rights Reserved. 概要 • 建物生成
• 道生成 • prefab 置換 • 小物配置 Unity SDK • マップデータ • POI • 遊べる場所 • 適度な分布 • 場所の属性 Playable Locations API 本日はこっちの話
Copyright Drecom Co., Ltd. All Rights Reserved. とりあえず動かす章
Copyright Drecom Co., Ltd. All Rights Reserved. 手順(ドキュメント通り) 1. Scene
新規作成 2. Create Empty 追加 3. Maps Services をアタッチ 4. Basic Example をアタッチ 5. LatLon を 40.748128, -73.988519 に設定 6. 起動
Copyright Drecom Co., Ltd. All Rights Reserved. 成果物
Copyright Drecom Co., Ltd. All Rights Reserved. 考察 • ノンプログラミングで地図生成
• 本当は API Key が必要
Copyright Drecom Co., Ltd. All Rights Reserved. 登場人物 MapService •
コアとなるクラス • 本日の主役 BasicExample • MapService の呼び出し役 • 使うときコピペする対象 • SDK 本体の機能とは無関係
Copyright Drecom Co., Ltd. All Rights Reserved. MapService 基準点 •
InitFloatingOrigin • MoveFloatingOrigin ライフサイクル • WillCreate • DidCreate • DidModify
Copyright Drecom Co., Ltd. All Rights Reserved. 地図の構成要素(MapFeature)
Copyright Drecom Co., Ltd. All Rights Reserved. MapFeature の種類 ExtrudedStructure
建物 ModeledStructure 建物(特殊形状) Segment 道 Region 公園など AreaWater 池 LineWater 川?
Copyright Drecom Co., Ltd. All Rights Reserved. WillCreate でできること mapsService.Events.ExtrudedStructureEvents.WillCreate.AddListener(args
=> { // 生成キャンセル args.Cancel = true; // metadata で種類ごとに分岐 var metadata = args.MapFeature.Metadata; switch (metadata.Usage) { case StructureMetadata.UsageType.Restaurant: break; } // 建物のリソースを変更 var builder = new ExtrudedStructureStyle.Builder(); builder.WallMaterial = Resources.Load<Material>("..."); builder.RoofMaterial = Resources.Load<Material>("..."); builder.Prefab = Resources.Load<GameObject>("..."); args.Style = builder.Build(); });
Copyright Drecom Co., Ltd. All Rights Reserved. DidCreate でできること mapsService.Events.ExtrudedStructureEvents.DidCreate.AddListener(args
=> { // .GameObject で生成物にアクセスできる args.GameObject.AddComponent<MeshCollider>(); });
Copyright Drecom Co., Ltd. All Rights Reserved. デモと実装を眺める章
Copyright Drecom Co., Ltd. All Rights Reserved. デモ • 01_BasicExample
• 02_DynamicLoading • 30_Fencing • KitchenSink
Copyright Drecom Co., Ltd. All Rights Reserved. デモ • 01_BasicExample
:さっきのとほぼ一緒 • 02_DynamicLoading • 30_Fencing • KitchenSink :機能全乗せ
Copyright Drecom Co., Ltd. All Rights Reserved. 02_DynamicLoading
Copyright Drecom Co., Ltd. All Rights Reserved. 02_DynamicLoading DynamicMapsService(Example 用のまとめ役)
• 内部に MapService を内包 • カメラが動いた際の load/unload • センター位置の調整
Copyright Drecom Co., Ltd. All Rights Reserved. load/unload の実装 //
load mapsService.MakeMapLoadRegion() .AddViewport(Camera.main, MaxDistance) .Load(RenderingStyles); // unload mapsService.MakeMapLoadRegion() .AddViewport(Camera.main, MaxDistance) .UnloadOutside();
Copyright Drecom Co., Ltd. All Rights Reserved.
Copyright Drecom Co., Ltd. All Rights Reserved. MakeMapLoadRegion() • MapLoadRegion
インスタンスを生成して返す • 生成時、既存の ITileLoader を受け取る • → 既存のマップを編集できる zoom を変えた地図とか作るなら MapService ごと再生成
Copyright Drecom Co., Ltd. All Rights Reserved. 30_Fencing
Copyright Drecom Co., Ltd. All Rights Reserved.
Copyright Drecom Co., Ltd. All Rights Reserved.
Copyright Drecom Co., Ltd. All Rights Reserved.
Copyright Drecom Co., Ltd. All Rights Reserved. ご清聴 ありがとうございました!
Copyright Drecom Co., Ltd. All Rights Reserved. 30_Fencing を頑張って起動 •
ApiKeyChecker をデタッチ • Fencing Example Script > Dynamic Maps Service に LatLon を設定
Copyright Drecom Co., Ltd. All Rights Reserved.
Copyright Drecom Co., Ltd. All Rights Reserved. Fencing • 特定の建物に一定距離近づいたことを検知
• 設定した Layer で当たり判定を取得 var fencingService = GetComponent<FencingServiceComponent>().FencingService; var fencingRule = FencingRule.NewRule() .StructureArea(StructureMetadata.UsageType.Shopping, 20f); fencingService.RegisterRule(fencingRule, FENCING_LAYER);
Copyright Drecom Co., Ltd. All Rights Reserved. 考察の章
Copyright Drecom Co., Ltd. All Rights Reserved. Google Maps SDK
の各種機能 • サクッと動くデモ • 動的ロードのデモ • 建物への接近検知デモ
Copyright Drecom Co., Ltd. All Rights Reserved. AROW の各種機能 •
サクッと動くデモ Scene_MoveControlCreatedMap.unity • 動的ロードのデモ Scene_DynamicMapLoad.unity • 建物への接近検知デモ IArowPoiVisitor & ArowPoiObserver
Copyright Drecom Co., Ltd. All Rights Reserved. 案外 AROW よくね?
Copyright Drecom Co., Ltd. All Rights Reserved. AROW Open Test
Version https://arow.world/ 今ならベータ版を無料で使えます!
Copyright Drecom Co., Ltd. All Rights Reserved. ご清聴 ありがとうございました!