LoginSignup
6
4

ArcGIS Maps SDK for UnrealEngineとPLATEAUで遊ぼう

Last updated at Posted at 2023-10-14

ArcGIS Maps SDKで遊ぼう

内容としてはほぼ下の記事に書いてある内容です。みんなもArcGISMapにPlateauのモデルを生やして遊ぼう

大体Webページごと日本語に翻訳してもいけます
HighresScreenshot00000.png
こんなんが一時間ぐらいで作れます

目次
ArcGISの開発者用アカウントを作る
UEのプラグインを入れる
地図を表示する
PLATEAUを読み込む
プレイできるようにする

ArcGISの開発者用アカウントを作る

ArcGISの開発者用アカウントは無料で作成することができます。(ArcGISOnlineの方のアカウントの作り方は知らないので割愛します)
マップの読み込み量に応じて従量課金制となっていますが
・無料分が広大で個人で使う分にはそうそう使い切れない
・アカウント作成日から一か月ごとに無料枠のリセットあり
・従量課金をオンにしてクレジットカードを登録しなければ無料枠が終わった時点で読み込まれなくなる
システムなのでほぼ無料といっても差し支えありません。(※あくまで開発者用アカウントの話です)

使用量が気になったときはログイン後、ダッシュボード→最近のAPIキー→キーの上の使用状況の表示から確認できます

image.png

ログインはメールアドレスではなく名前なのでお間違いないよう (筆者は間違えてログインできない!とパニックになりました)

UEのプラグインを入れる

ArcGISのUEプラグインは2023年10月14日現在
UE5.0
UE5.1
UE5.2
に対応しています

この記事では
プラグインのバージョン v 1.3.0
UEのバージョン 5.2.1
を使用しています

プラグインの入れ方はプロジェクトファイルのPlugins下にプラグインを突っ込む方法です
わからない方はこちら

新しいプロジェクトにプラグインを入れる

既存のプロジェクトにプラグインを入れる

リビルドの警告が出ますがYesを押して続行してください(若干時間がかかりますがちゃんと起動します)

image.png

プラグインのチェックがついていることを確認します

地図を表示する

左上のモード選択からArcGISを起動します
image.png

こんなタブがでてきます
image.png

地球全体を表示させたい、かなり広範囲を飛び回りたい、地面が球状になっていないと困る場合はGlobal、
小範囲でいい場合はLocalを選びましょう。
Globalはこの後入力した緯度経度の地点が真上に来るように表示されます。

公式には Enable Large Worldsにチェックを入れてくださいとありますが現在その項目は削除されている模様なので飛ばして大丈夫です。とりあえず動きます。

Globalの場合

OriginePositionを開いて緯度経度を入力します。
image.png
ややこしいですがLongitudeが経度、Latitudeが緯度です。
Altitudeは高度らしいですがひとまず触らなくても大丈夫です。WKID(空間参照)も同様に触らなくて大丈夫です。
Createボタンを押します。

Localの場合

OriginPositionを開いて緯度経度を入力します。
image.png
Enable Extentにチェックを入れてMapextentに上で入力したのと同じ緯度経度を入力します。
Extent Shapeはマップの切り抜き方で、正方形・長方形・円から選ぶことができます。数字はメートル単位です。
Cleateボタンを押します。

この時点ではまだ地図は表示されません。

カメラタブに移動してカメラをCreateボタンで追加します。
image.png
ArcGISは、ArcGISのカメラを通さないとマップが表示されないようになっているようで、ひとまずカメラがないことにははじまりません。(後からプレイヤーのカメラに追加することができます)

Anthタブに移動してAPIキーを入力します
image.png

ArcGISのアカウントに移動て、右上のダッシュボードを押します。
APIキーが表示されるのでコピーしてきます。

image.png

コピーしたキーを
APIキーにコピーします。

Bacemapに移動して地図の見た目を決めます。
写実的な見た目にしたいのでImageryを選択します。
image.png

地図が読み込まれました。
image.png

Localで生成していると、なぜかEnable Extentのチェックが外れて広大な範囲が読み込まれています。
image.png

image.png
再度チェックをつけるときちんと制限された範囲が出てきます。

PLATEAUを読み込む

PLATEAUの建物のメッシュは公式がレイヤーを配布しており、PLATEAUのプラグインを入れなくても表示することができます。

PLATEAUと検索すると出てきます。
image.png

好きな範囲を選択して開きます。
スクロールしていくと右下の方にあるURLをコピーします。
image.png

UEに戻りLayerのタブを開きます。
image.png
Typeを3DObjectに変更します。
SourceにコピーしてきたURLを貼り付けます。
Nameに任意の好きな名前を入れます。一応日本語などは使わないこと推奨。(c++のシステムっぽいので)
image.png
入れ終わったらAddを押します。
image.png
モデルが表示されました。
Lod2がある範囲は2が、それ以外は1が表示されます。

プレイできるようにする

現状、マップはシミュレーションやプレイを押すと読み込まれなくなってしまいます。
image.png

これは大体追加したDefalutPawnがとんでもない位置にすっ飛んで行ってるせいです。
選択して0,0,50000とかにしてやればちゃんと表示されるようになります。
image.png

じゃあDefaultPawn以外でプレイしたい場合はどうすんねん、という話ですが、PlayerになるPawnにArcGISのカメラを追加してやることで解消できます。
ThirdPersonCharactorにカメラを入れてみます。
image.png
DefaultPawnを削除してThirdPersonCharactorを配置します。
空中に浮かせておかないと読み込みよりも地面をプレイヤーが通過するのが早くて落下してしまいます。
image.png
ArcGISのタブを開きます。
SetttingのタブからEnableMeshCollidersにチェックを入れます。
image.png
プレイしてみます。

いけましたね。

DefaultPawnを近くに置いておくことでLevelSequenceで動画の撮影もすることができます。
初期の読み込みさえ考慮すれば上空は十分使えそうですね。

ArcGIS for UEの使い方は以上です。
みんなもUEでArcGISを使って遊ぼう!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4