立方体異世界生成魔法(キュービックディメンション・ジェネレーションマジック)
by
Satoshi Komatsu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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スケールの再現が できない。