Home » 位置情報を用いたモバイルゲームが気軽に作れる 3D リアルマップサービス「AROW」について(実践編)

位置情報を用いたモバイルゲームが気軽に作れる 3D リアルマップサービス「AROW」について(実践編)

by eiga

株式会社ドリコムで開発している「3D リアルマップ生成 SDK AROW」に関して、実例を交えながら実際の使い方を紹介しています。

Gotanda.unity #11
https://meetup.unity3d.jp/jp/events/1047

Summarize this content in Japanese 宜しくお願いしますあろうの実践編と題しってドリップぐ地主の方から発表させて いただきます 本スライドも同じくドリコムテックてうって言ったかなとから高のこういう共有して おりますのでぜひそちらもご確認ください まず自己紹介なんですけれども私地主流域と言います エンジン dk なあかんとですとジヌとか r ああいう j という名前を使って いる活動させていただいております よく聞かれることとして本屋なんですかっていうところと 土地を持ってるんですかっていうところが聞かれてり主ですけど散らないですよって 言ったら社内 sns にこのタグがつけられておりました 最近の周囲としてはフーディニというツールとかであのエフェクトを作って遊んでおり ます 高技術的なところで言いますと学生の頃は ruby をやって言って仕事でずっと スマートフォンを関わっておりますで今はゲーム sdk 開発というところで ユニティーと c #に関わっているんですけれども 今年に入ってからのではれた実は意味経歴は短くて私のレベルとしては言って を完全に理解したと言ったようなレベルではないかという風に考えております 入ってを改めましてあろうの話をさせていただきます どうも本日の方内容としてはあるのでどんなことができるのかというところと広いが 見せたサンプルで実際に裏ではどんな api を使っていたのかといったところをお 話させていただきます あるので何ができるのかというと町並みの表現ができるというのが非常に特徴であると 考えております 実際のデータから建物を生成したりその建物プレハブで置き換えたり方の道とか地形と いったものも含めた表現が可能となっています であるの大きな特徴としてやりその実際のデータを使っているというところがあります 既存のアセットでもビルを生成するジェネレーターのような方がいくつかあるんです けれども まぁ大半は事前に飯を用意していてそれを並べるといったような形なんですけれども 我々は当然実在のビルの形状を使いますので結構この大多角形と呼ばれるようないびつ な形状がは 1多く存在していますなので事前に目終了するのではなく基本的には計算してメッシュ を生成してあげるといったような処理が必要になっています 例えばこちらはあろうで生成したビルなんですけれども頂点配列からメッシュを 汲み上げています この例の場合ですと上野回真ん中の会下の海でそれぞれ別のて串を設定してそれをタイ リングで表現するといったようなことをやっています ビルの面の長さも当然ビルによって異なりますのでそのあたりはタイリングが一番相性 が良いと考えているテント

8面ごとに uv の丸め込み行っているので例えばビルの窓みたいな右れると違和感 が出てしまうようなてくし慌ててももし 自然が表現になるといったようなところを実装として入れています この恋工夫の話なんですけれども当社の実装だと飯をその1階から2階2階から3階 みたいな組み方をしていたんですけれども そうするとあの画像にあるように回ごとに影が分かれてしまってちょっと違和感が強い 表現になってしまっていたのでまずはそのメッシュを1階から2階次は3回って言った ような 頂点を使い回さない景色 に変えましたただそのそれと当社の実装が uv を0101にしていたので画像が 反転してしまっていたので 猶予0123と積み重ねるような計算によって対応することでまぁ画像と影の表示って いうのを正しく を行っているようになりました またですねあの屋上の形状も当然ビルに合わせてあげる必要があるのでこの部分は delaunay 三角形分割いうアルゴリズムを適用していて ようあの多角形をそれを構成する三角形に分割すると一定のアルゴリズムを使って メッシュの計算と精製を行っています またですね別の表現方法としてインテリアマッピングデーのを適用しています こちらはの本心が出るのスパイダーマンなどで少し話題になって技術なんですけれども できることとしてはそのビルの部屋の中とかまで8日ができると ただそのモデルおいているわけではなくて計算によって天井とかいうかとか僕の壁とか そういったものを全部見るのそっ 画面に描画してあげるって言ったようなイメージですね であのあるので a のコンセプトとして高い没入感による ar 体験といった ところがありますのでこういうリアリティ衛星の高いところ 技術では非常に相性が良いという風に考えております ねえとプレハブ痴漢ができるという話をちらっとしたんですけれども 現状ですとメッシュをくみ上げてその大きさに応じて事前に設定したプレハブを並べて あげるといったようなことが可能になっているんですけれどその並べると大手程度に元 雑でその違和感の強い表現になっていましたのでこの部分はどう一番近い道を探索して そう これはそちらの方向に向けるというような処理を入れています こうすると建物の入り口が道音符のでどうか形が違和感のない自然な街並みというのが 表現できたという風に考えています でちょっと本日はこのあたりはのさわりだけの紹介させていただくんですけれども 例えばこういう実在の道データを使って動的な家生成といったような建物以外の部分の 表現も可能になっています 同じく地形表現ですね東洋標高データを用いて高さを止めしで生成して地図上にこう 地形といったものを表現するといったような機能もあろうの方で実装しています はいではここで実際の行動少しだけ紹介させていただくんですけれども 干支我々が提供するものとしてはあろうマップというバイナリファイルを提供してい ます こちらず飲み方としては緑が我々の独自クラスで黄色がその関数なんですけれども

小沢論なファイルまず arrow up オブジェクトモデルというところで初期化 しますこちらのプレスは建物とか諸々のデータもなると思っているクラスであろう マップに関 ファイルに関するラッパーのようなものと思ってください 例えば先ほど広いお店した青い点から赤い点に進むといったサンプルなんですけれども アキラは原料る濃度マップユーティリティーてクラスのゲットショーティスとルードと いう関数で実現しています だんご紹介だしては濃度というのが場所のことでノードマっていうのが場所のセット キーというのが濃度の識別子ですたのでこちらに寄せているソスコードですと スタートキーが差すノードからゴールキーがを刺す濃度まで計最短経路探索してそれを ルーツという配列に反してくるといったような処理になっています ルーツというのはあの id の配列が帰ってきますので先ほど例ですと返された配列 の順番に農道をとってきてそのポジションに向かうように unity 者のモデル アップデートしてあげるといったような処理で先ほどのような挙動が実現できています またですね生成部分なんですけれども使うのは大きく二つのクラス コンフィグのクラスとクリエイターのクラスというのを用意しています 例えばまあクリエイト config というのは8インテリアマッピングであるとか 利用するテクスチャーであるとかそういったビルの描画のための設定を行なうクラスで それをクリエイターに渡してあげることでへとメッシュを生成したりその はもしくはゲームオブジェクトごと生成したりといったようなところも処理を実現して います 道とか地形の生成も大磯こういったインターフェイスでへ飛んでくるパーサーに使って いただく想定をしています はいえーとそれではまとめさせていただくんですけれども我々あろうという3 pdr マップを生成するための sdk 開発をしを行っております 現状ですね各種機能がようやくいろいろ繋がってきて動く状態になっていて街並み表現 とか 経路探索といったところが可能になっています今後はそれを実際にデベロッパーさんに 使っていただいてフィードバックを得てどんどん 改修を進めていきたいというふうに考えておりますその実際に使っていただくという ところから少しだけ宣伝をさせていただくんですけれども 来月の中旬からですねオープンテストバージョンといったもののリリースを予定してい ます 事前登録がで必要なんですけれどもデベロッパーさんに完全に無料でへの sdk を 定理布教してでは実際使っていただいて 阿蘇を集めるといったようなことを考えておりますのでちょっとでも興味を持って いただいた方ぜひ雲 arrow . world という公式サイトをご確認

ください 青好きですねコミュニティを facebook グループに用意しておりますので ぜひこちらもご覧いただきたいのと 私も広いと同じく懇親会参加させていただくのでぜひまあ話しかけるきっかけとして アロンのことを聞いていただければなと 思いますはいそれでは以上となりますご静聴ありがとうございました [拍手]