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
位置情報を用いたモバイルゲームが 気軽に作れる 3D リアルマップサービス 「ARO...
Search
Ryuichi Jinushi
March 27, 2019
Programming
0
60
位置情報を用いたモバイルゲームが 気軽に作れる 3D リアルマップサービス 「AROW」について (実践編) / how to AROW practice at Gotanda.unity #11
https://meetup.unity3d.jp/jp/events/1047
でお話した内容です。
Ryuichi Jinushi
March 27, 2019
Tweet
Share
More Decks by Ryuichi Jinushi
See All by Ryuichi Jinushi
非エンジニアにも分かる UniRx(ゆにあーるえっくす)/ UniRx for non-engineers
ryuj
1
49
マップゲーム SDK 競合の話 / arow and other map game sdk
ryuj
0
910
マップゲーム SDK AROW とその運用を支える AWS の構成 / AROW with AWS
ryuj
0
84
少人数の SDK 開発を支えるテストの話 / tests for small group development
ryuj
0
430
技術書のすゝめ / suggestion of technical book
ryuj
0
73
Other Decks in Programming
See All in Programming
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
830
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
280
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
140
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
380
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
1
270
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
570
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.4k
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
100
Passkeys for Java Developers
ynojima
0
170
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
130
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
GraphQLとの向き合い方2022年版
quramy
46
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
How STYLIGHT went responsive
nonsquared
100
5.6k
Adopting Sorbet at Scale
ufuk
76
9.4k
Gamification - CAS2011
davidbonilla
81
5.3k
The Cost Of JavaScript in 2023
addyosmani
49
8.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
4 Signs Your Business is Dying
shpigford
183
22k
How to train your dragon (web standard)
notwaldorf
92
6k
Transcript
Copyright Drecom Co., Ltd. All Rights Reserved. 位置情報を用いたモバイルゲームが 気軽に作れる 3D
リアルマップサービス 「AROW」について(実践編) 株式会社ドリコム DRIP部 地主龍一
Copyright Drecom Co., Ltd. All Rights Reserved. どちらさま? 地主龍一(Ryuichi JINUSHI)
• じぬ • ryuj • @reximology • #土地は無いけど地主 最近 • ペルソナ5 • Houdini
Copyright Drecom Co., Ltd. All Rights Reserved. なんの人? • フレームワーク
(Ruby) • ネイティブアプリ (Objective-C/Android Java) • ネイティブゲーム (C++, Cocos2d-x) • ゲーム SDK (Unity/C#)
Copyright Drecom Co., Ltd. All Rights Reserved. スキルレベル https://twitter.com/ito_yusaku/status/1042604780718157824 Unity
を「完全に理解」しています
Copyright Drecom Co., Ltd. All Rights Reserved. 位置情報と 3D リアルマップによる
AR アプリ開発プラットフォーム
Copyright Drecom Co., Ltd. All Rights Reserved. 今日のお話 • AROW
でできること • サンプルで用いた API の紹介
Copyright Drecom Co., Ltd. All Rights Reserved. できること 街並みを作れる •
データから建物を生成 • 建物を prefab へ置換 • 道・川・地形を生成
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 • 実測のデータを用いるためビルの形状が多様
• メッシュの動的生成が必要
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 • 頂点配列からメッシュを生成
• 上中下階それぞれ 別々のテクスチャを設定 • 各面のタイリング幅を統一 • 面ごとに UV を丸め込んで 見切れを回避
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 旧 現在
• メッシュを分けない ように修正 • UV を積み重ねることで反 転を回避
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 • ドロネー三角形分割で形状を解釈
• 統一感排除のためにランダムな傾け
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 インテリアマッピング
Copyright Drecom Co., Ltd. All Rights Reserved. prefab 置換 •
道に対してモデルの前方を向けると違和感がなくなる • 建物から最も近い道を探索して Rotation を調整している
Copyright Drecom Co., Ltd. All Rights Reserved. 道・地形編 道の自動生成
Copyright Drecom Co., Ltd. All Rights Reserved. 道・地形編 • 高低差を加味したヒートマップ
• 頂点同士の中間に頂点を増やすことでなめらかな表現
Copyright Drecom Co., Ltd. All Rights Reserved. サンプル API 編
Copyright Drecom Co., Ltd. All Rights Reserved. 初期化 var data
= File.ReadAllBytes("xyz.arowmap"); var model = ArowMapObjectModel.LoadByData(data); ArowMapObjectModel • 建物・道・地形などのデータを管理 • .arowmap 関連処理のラッパ
Copyright Drecom Co., Ltd. All Rights Reserved. 経路探索 NodeMapUtility.GetShortestRoute( nodeMap,
startKey, goalKey, limitCount, out costDict, out routes); • Node: 場所の情報 • NodeMap: 検索対象となる場所の情報セット • key: Node の識別子 • routes: 探索結果の key リスト
Copyright Drecom Co., Ltd. All Rights Reserved. 建物の生成 var config
= new CreateConfig(); BuildingCreator .Builder(model.BuildingDataModels) .SetConfig(config) .SetOnMeshCreatedCallBack( /* mesh to GameObject callback */ ) .Build(); • config: 描画形式などの設定クラス • creater: 生成処理の実行クラス
Copyright Drecom Co., Ltd. All Rights Reserved. まとめ • AROW:3D
リアルマップ生成 SDK • 現状:各種機能が(どうにか)動く状態 ◦ 建物の生成・prefab 置換 ◦ 道・川の生成 ◦ 地形の生成 ◦ 経路探索 • 今後は利用者のフィードバックを元に改善を実施
Copyright Drecom Co., Ltd. All Rights Reserved. AROW Open Test
Version 2019.04 中旬 https://arow.world/
Copyright Drecom Co., Ltd. All Rights Reserved. AROW のデベロッパーコミュニティとして、Facebook グループ「AROW
相談所」を開設しています。 AROW に関する情報交換の場としてぜひご活用ください。 「AROW 相談所」のご案内
Copyright Drecom Co., Ltd. All Rights Reserved. おわり いかがでしたか?