Slide 1

Slide 1 text

⽴⽅体異世界⽣成魔法 Satoshi Komatsu キュービックディメンション・ジェネレーションマジック Glyph designed by "project daisy bell"

Slide 2

Slide 2 text

Satoshi Komatsu フロントエンドエンジニア @satoshi7190 @satoshi7190 株式会社MIERUNE

Slide 3

Slide 3 text

⽴⽅体異世界⽣成魔法 キュービックディメンション・ジェネレーションマジック

Slide 4

Slide 4 text

実際の地形からMinecraftの地形を作るツール (開発中段階です) ⽴⽅体異世界⽣成魔法 キュービックディメンション・ジェネレーションマジック

Slide 5

Slide 5 text

Minecraft(マイクラ)とは? • 広⼤なブロックの世界を探検 し、創造するゲーム • 様々なブロックを使って⾃由 に建築ができる • 創造⼒を発揮できる⼦供から ⼤⼈まで楽しめる https://www.minecraft.net/ja-jp

Slide 6

Slide 6 text

マイクラの世界にリアルな地形を誰でも簡単に再現できる!!

Slide 7

Slide 7 text

変換ツール 変換後のデータ 元データ とりあえず⼯夫した点

Slide 8

Slide 8 text

変換ツール 変換後のデータ 元データ 使う側の気持ち とりあえず⼯夫した点

Slide 9

Slide 9 text

元データが未知の物質(ファイル)だと 不安感でユーザーは利⽤しない。準備が⾯倒。 元データ Geotiff COPC とりあえず⼯夫した点

Slide 10

Slide 10 text

APIという魔法で未知の物質に触れなくても 変換できるようにした API

Slide 11

Slide 11 text

地理院タイル https://maps.gsi.go.jp/development/tileCoordCheck.html https://maps.gsi.go.jp/development/ichiran.html

Slide 12

Slide 12 text

地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 13

Slide 13 text

地理院タイルの仕組み 世界をグリッドに分割 地図画像の出典:国⼟地理院

Slide 14

Slide 14 text

地理院タイルの仕組み 世界をグリッドに分割 地図画像の出典:国⼟地理院

Slide 15

Slide 15 text

タイル画像 地理院タイルの仕組み

Slide 16

Slide 16 text

縦256px 横256px 地理院タイルの仕組み ある地域のを⼀枚の画像として取得できる 地図画像の出典:国⼟地理院

Slide 17

Slide 17 text

地理院タイルの仕組み 4分割して⼀段上の解像度が⾼い画像を取得する 地図画像の出典:国⼟地理院

Slide 18

Slide 18 text

地理院タイルの仕組み 4分割して⼀段上の解像度が⾼い画像を取得する 地図画像の出典:国⼟地理院

Slide 19

Slide 19 text

地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 20

Slide 20 text

地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 21

Slide 21 text

地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 22

Slide 22 text

地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 23

Slide 23 text

ズームレベル(Z) 10 11 12 13 地理院タイルの仕組み 地図画像の出典:国⼟地理院

Slide 24

Slide 24 text

X 地理院タイルの仕組み Y ズームレベル(Z)13 地図画像の出典:国⼟地理院

Slide 25

Slide 25 text

X 地理院タイルの仕組み Y ズームレベル(Z)13 地図画像の出典:国⼟地理院

Slide 26

Slide 26 text

X 地理院タイルの仕組み Y X:7252 Y:3234 X:7253 Y:3234 X:7251 Y:3234 X:7252 Y:3233 X:7252 Y:3235 X:7253 Y:3233 X:7253 Y:3235 X:7251 Y:3235 X:7251 Y:3233 ズームレベル(Z)13 地図画像の出典:国⼟地理院

Slide 27

Slide 27 text

X 地理院タイルの仕組み Y Z:13 X:7252 Y:3234 Z:13 X:7253 Y:3234 Z:13 X:7251 Y:3234 Z:13 X:7252 Y:3233 Z:13 X:7252 Y:3235 Z:13 X:7253 Y:3233 Z:13 X:7253 Y:3235 Z:13 X:7251 Y:3235 Z:13 X:7251 Y:3233 ZXYのタイル座標で領域が確定する 地図画像の出典:国⼟地理院

Slide 28

Slide 28 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/{z}/{x}/{y}.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院

Slide 29

Slide 29 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/{z}/{x}/{y}.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院

Slide 30

Slide 30 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院

Slide 31

Slide 31 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院

Slide 32

Slide 32 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/13/7252/3234.jpg URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 航空写真 地図画像の出典:国⼟地理院

Slide 33

Slide 33 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/std/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 電⼦国⼟基本図 地図画像の出典:国⼟地理院

Slide 34

Slide 34 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/slopemap/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 傾斜量図 地図画像の出典:国⼟地理院

Slide 35

Slide 35 text

地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/dem_png/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 標⾼タイル 地図画像の出典:国⼟地理院

Slide 36

Slide 36 text

標⾼タイルとは? • 各ピクセルには標⾼値が格納 されている • 標⾼値をRGBで独⾃エンコー ドしたものなので⾒た⽬がお かしい • 2次元画像データだけど、デ コードすれば3次元データと して使える 地図画像の出典:国⼟地理院

Slide 37

Slide 37 text

URLリクエストのみで地形情報を取得できる 地形の⾼さ情報 地形の⾊情報 地図画像の出典:国⼟地理院

Slide 38

Slide 38 text

クロスプラットフォームのデ スクトップアプリケーション 開発⾔語はRust 使⽤した技術

Slide 39

Slide 39 text

地図画⾯から変換したい領域を選択して決定を押すだけ フロント側

Slide 40

Slide 40 text

地形データを取得してマイクラのワールドデータ(.mca)を⽣成する バックエンド側 fastnbt クレート 地図画像の出典:国⼟地理院 https://github.com/owengage/fastnbt

Slide 41

Slide 41 text

https://www.reddit.com/r/Minecraft/comments/14jrc92/created_a_full_color_palette_for_all_the_blocks/ 画像の各ピクセルのカラー情報から⼀番⾊が近いブロックを選択 バックエンド側 地図画像の出典:国⼟地理院

Slide 42

Slide 42 text

⾼さ情報からブロックを積み上げる バックエンド側 地図画像の出典:国⼟地理院

Slide 43

Slide 43 text

出⼒時のズームレベルを変えることでスケールの変更が可能 ズームレベル(Z) 14 12 13

Slide 44

Slide 44 text

タイル画像の種類を変えれば、ブロックの⾊も変わる 電⼦国⼟基本図 傾斜量図 地図画像の出典:国⼟地理院

Slide 45

Slide 45 text

地形の解像度が⾼いデータ(兵庫県)を使えば 1/1スケールで再現できる 建物の⾼さを含むデータ(DSM) ズームレベル17(1ブロック1mスケール)

Slide 46

Slide 46 text

難点 マイクラの限界の⾼さが 384ブロックまで。 標⾼が⾼い⼭は解像度 (スケール)を低く設定 しないと⼭頂が削れる。

Slide 47

Slide 47 text

今後の課題点 • 並列処理ができてないので変換処理遅い • 技術的には⽇本列島全てを変換可能だが、範囲が広 すぎるとエラーでうまく変換できない • 解像度の限界。⼀部の地域しか1/1スケールの再現が できない。