Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
立方体異世界生成魔法(キュービックディメンション・ジェネレーションマジック)
Search
Satoshi Komatsu
July 25, 2024
Programming
710
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
立方体異世界生成魔法(キュービックディメンション・ジェネレーションマジック)
2024/07/24
MIERUNE BBQ #10 in 札幌時計台 発表資料
https://mierune.connpass.com/event/321230/
Satoshi Komatsu
July 25, 2024
More Decks by Satoshi Komatsu
See All by Satoshi Komatsu
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
910
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
940
新宿ダンジョンを可視化してみた
satoshi7190
3
1.2k
Webエンジニアに転生したらCSS魔導士になった件
satoshi7190
3
4.5k
MapLibre GL JS とCSSアニメーションでできること
satoshi7190
0
1.4k
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.1k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
160
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
260
Next.js: The final boss of Web Performance
guaca
0
210
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Simple Storage Service(S3) is not simple
iwatsukayura
0
280
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
530
contenteditable と日本語入力に向き合う
colorful12
0
200
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
golang-bob.pdf
iwatsukayura
0
130
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Embracing the Ebb and Flow
colly
88
5.2k
Deep Space Network (abreviated)
tonyrice
0
370
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Navigating Weather and Climate Data
rabernat
0
550
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Crafting Experiences
bethany
1
380
Raft: Consensus for Rubyists
vanstee
142
7.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Transcript
⽴⽅体異世界⽣成魔法 Satoshi Komatsu キュービックディメンション・ジェネレーションマジック Glyph designed by "project daisy bell"
Satoshi Komatsu フロントエンドエンジニア @satoshi7190 @satoshi7190 株式会社MIERUNE
⽴⽅体異世界⽣成魔法 キュービックディメンション・ジェネレーションマジック
実際の地形からMinecraftの地形を作るツール (開発中段階です) ⽴⽅体異世界⽣成魔法 キュービックディメンション・ジェネレーションマジック
Minecraft(マイクラ)とは? • 広⼤なブロックの世界を探検 し、創造するゲーム • 様々なブロックを使って⾃由 に建築ができる • 創造⼒を発揮できる⼦供から ⼤⼈まで楽しめる
https://www.minecraft.net/ja-jp
マイクラの世界にリアルな地形を誰でも簡単に再現できる!!
変換ツール 変換後のデータ 元データ とりあえず⼯夫した点
変換ツール 変換後のデータ 元データ 使う側の気持ち とりあえず⼯夫した点
元データが未知の物質(ファイル)だと 不安感でユーザーは利⽤しない。準備が⾯倒。 元データ Geotiff COPC とりあえず⼯夫した点
APIという魔法で未知の物質に触れなくても 変換できるようにした API
地理院タイル https://maps.gsi.go.jp/development/tileCoordCheck.html https://maps.gsi.go.jp/development/ichiran.html
地理院タイルの仕組み 地図画像の出典:国⼟地理院
地理院タイルの仕組み 世界をグリッドに分割 地図画像の出典:国⼟地理院
地理院タイルの仕組み 世界をグリッドに分割 地図画像の出典:国⼟地理院
タイル画像 地理院タイルの仕組み
縦256px 横256px 地理院タイルの仕組み ある地域のを⼀枚の画像として取得できる 地図画像の出典:国⼟地理院
地理院タイルの仕組み 4分割して⼀段上の解像度が⾼い画像を取得する 地図画像の出典:国⼟地理院
地理院タイルの仕組み 4分割して⼀段上の解像度が⾼い画像を取得する 地図画像の出典:国⼟地理院
地理院タイルの仕組み 地図画像の出典:国⼟地理院
地理院タイルの仕組み 地図画像の出典:国⼟地理院
地理院タイルの仕組み 地図画像の出典:国⼟地理院
地理院タイルの仕組み 地図画像の出典:国⼟地理院
ズームレベル(Z) 10 11 12 13 地理院タイルの仕組み 地図画像の出典:国⼟地理院
X 地理院タイルの仕組み Y ズームレベル(Z)13 地図画像の出典:国⼟地理院
X 地理院タイルの仕組み Y ズームレベル(Z)13 地図画像の出典:国⼟地理院
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 地図画像の出典:国⼟地理院
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のタイル座標で領域が確定する 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/{z}/{x}/{y}.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/{z}/{x}/{y}.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/{layer}/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/13/7252/3234.jpg URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 航空写真 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/std/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 電⼦国⼟基本図 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/slopemap/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 傾斜量図 地図画像の出典:国⼟地理院
地理院タイルの仕組み https://cyberjapandata.gsi.go.jp/xyz/dem_png/13/7252/3234.png URLパターンに従ってタイル画像を取得する Z:13 X:7252 Y:3234 標⾼タイル 地図画像の出典:国⼟地理院
標⾼タイルとは? • 各ピクセルには標⾼値が格納 されている • 標⾼値をRGBで独⾃エンコー ドしたものなので⾒た⽬がお かしい • 2次元画像データだけど、デ
コードすれば3次元データと して使える 地図画像の出典:国⼟地理院
URLリクエストのみで地形情報を取得できる 地形の⾼さ情報 地形の⾊情報 地図画像の出典:国⼟地理院
クロスプラットフォームのデ スクトップアプリケーション 開発⾔語はRust 使⽤した技術
地図画⾯から変換したい領域を選択して決定を押すだけ フロント側
地形データを取得してマイクラのワールドデータ(.mca)を⽣成する バックエンド側 fastnbt クレート 地図画像の出典:国⼟地理院 https://github.com/owengage/fastnbt
https://www.reddit.com/r/Minecraft/comments/14jrc92/created_a_full_color_palette_for_all_the_blocks/ 画像の各ピクセルのカラー情報から⼀番⾊が近いブロックを選択 バックエンド側 地図画像の出典:国⼟地理院
⾼さ情報からブロックを積み上げる バックエンド側 地図画像の出典:国⼟地理院
出⼒時のズームレベルを変えることでスケールの変更が可能 ズームレベル(Z) 14 12 13
タイル画像の種類を変えれば、ブロックの⾊も変わる 電⼦国⼟基本図 傾斜量図 地図画像の出典:国⼟地理院
地形の解像度が⾼いデータ(兵庫県)を使えば 1/1スケールで再現できる 建物の⾼さを含むデータ(DSM) ズームレベル17(1ブロック1mスケール)
難点 マイクラの限界の⾼さが 384ブロックまで。 標⾼が⾼い⼭は解像度 (スケール)を低く設定 しないと⼭頂が削れる。
今後の課題点 • 並列処理ができてないので変換処理遅い • 技術的には⽇本列島全てを変換可能だが、範囲が広 すぎるとエラーでうまく変換できない • 解像度の限界。⼀部の地域しか1/1スケールの再現が できない。