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
マップゲーム SDK 競合の話 / arow and other map game sdk
Search
Ryuichi Jinushi
September 23, 2019
Programming
0
1k
マップゲーム SDK 競合の話 / arow and other map game sdk
こちらで LT したときの資料です。
https://connpass.com/event/139403/
Ryuichi Jinushi
September 23, 2019
Tweet
Share
More Decks by Ryuichi Jinushi
See All by Ryuichi Jinushi
非エンジニアにも分かる UniRx(ゆにあーるえっくす)/ UniRx for non-engineers
ryuj
1
56
マップゲーム SDK AROW とその運用を支える AWS の構成 / AROW with AWS
ryuj
0
90
少人数の SDK 開発を支えるテストの話 / tests for small group development
ryuj
0
510
位置情報を用いたモバイルゲームが 気軽に作れる 3D リアルマップサービス 「AROW」について (実践編) / how to AROW practice at Gotanda.unity #11
ryuj
0
66
技術書のすゝめ / suggestion of technical book
ryuj
0
79
Other Decks in Programming
See All in Programming
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
Patterns of Patterns
denyspoltorak
0
1.4k
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
Oxlint JS plugins
kazupon
1
980
今から始めるClaude Code超入門
448jp
8
8.9k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
CSC307 Lecture 03
javiergs
PRO
1
490
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.3k
CSC307 Lecture 07
javiergs
PRO
1
550
AI & Enginnering
codelynx
0
120
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
The Cult of Friendly URLs
andyhume
79
6.8k
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Ethics towards AI in product and experience design
skipperchong
2
200
The Curious Case for Waylosing
cassininazir
0
240
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. ご清聴 ありがとうございました!