Slide 1

Slide 1 text

Hakodate in Real-Time CG: Building a GML Converter and Live Visual Performance yuchi / Naoki Katahira RubyIlluminations 2026 2026/04/24

Slide 2

Slide 2 text

˒ yuchi / Naoki Katahira ˒ GMO Pepabo, Inc. (SUZURI) ˒ Music Live [Visualization, Technical] / DIY Keyboard Self Introduction

Slide 3

Slide 3 text

๫ྗతʹΧϫΠΠ2025 - Live at LanPage

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

˒ 3D map data(̏࣍ݩిࢠࠃ౔جຊਤ) provided by the GSI ˒ Converting GML data to OBJ data using Ruby ˒ Visual performance in TouchDesigner using imported OBJ data Talk About

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

˒ Released on 2026/04/01 ˒ h tt ps://www.gsi.go.jp/kibanjoho/mapinfo3D.html 3D map data at GSI(3࣍ݩిࢠࠃ౔جຊਤ)

Slide 9

Slide 9 text

˒ Parts of Hakodate City are eligible. 3D map data at GSI(3࣍ݩిࢠࠃ౔جຊਤ) h tt ps://www.gsi.go.jp/common/000276823.pdf

Slide 10

Slide 10 text

˒ Goryokaku and Hakodate Arena are not included in the service. 3D map data at GSI(3࣍ݩిࢠࠃ౔جຊਤ)

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

˒ Data is provided in GML and SHP formats. ˒ GML is wri tt en in CityGML format. 3D map data at GSI(3࣍ݩిࢠࠃ౔جຊਤ)

Slide 13

Slide 13 text

What is GML

Slide 14

Slide 14 text

˒ Geometry Markup Language ˒ XML-based format for geographic data ˒ Used to describe spatial features (points, lines, polygons) and their a tt ributes About GML

Slide 15

Slide 15 text

˒ A 3D model description format for cities, an extension of GML. ˒ Detailed explanation available on PLATEU's media outlet, MLIT ˒ h tt ps://www.mlit.go.jp/plateau/learning/tpc03-2/ CityGML

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

ग़యɿࠃ౔஍ཧӃ΢ΣϒαΠτ(maps.gsi.go.jp)

Slide 20

Slide 20 text

˒ ͜ͷ··Ͱ͸XMLσʔλ ˒ ൚༻ͷ3DσʔλΛѻ͏ιϑτͰ͸࢖͑ͳ͍ ˒ blender ˒ unity ˒ etc… 3D map data(̏࣍ݩిࢠࠃ౔جຊਤ)

Slide 21

Slide 21 text

˒ h tt ps://github.com/kata0510/dkg3d-to-obj dkg3d-to-obj

Slide 22

Slide 22 text

˒ Conversion application for 3D electronic national land base maps ˒ Converting GML data to OBJ data using Ruby dkg3d-to-obj

Slide 23

Slide 23 text

˒ Parsing GML with Nokogiri::XML ˒ The building height is calculated using maxElv - grElv ˒ Collect posList as a 2D coordinate sequence ˒ Convert latitude and longitude to meters (XYZ) ˒ equidistant azimuthal approximation conversion ˒ Create a 3D mesh by extruding the bo tt om, top, and side walls ˒ Output OBJ File dkg3d-to-obj

Slide 24

Slide 24 text

Demo

Slide 25

Slide 25 text

Hakodate in Real-Time CG?

Slide 26

Slide 26 text

˒ Using TouchDesigner ˒ node-based tool ˒ For real-time visuals and interactivity ˒ Used in art, installations, and live shows Hakodate in Real-Time CG?

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Demo

Slide 29

Slide 29 text

˒ I'll be doing VJ (visual e ff ects) during the DJ set later ˒ We will also use CG images of the city of Hakodate. ˒ Let's enjoy the fi nal night of RubyKaigi to the very end!🍻 Hakodate in Real-Time CG