本記事は下記のイベント用のものです。
Self-introduction
名前 河野 円(kohno madoak)
好きな物 おにやんまのうどん(oniyanma's Udon)
出身 広島(Hiroshima)
My work
サイバー南無南無 cyberNamunamu
仏教美術×テクノロジーアート
バイタルサイン・超高画質・SNS・XR・都市データ等
Buddhist art x technology art
Vital signs, ultra-high resolution, SNS, XR, urban data, etc.
imgee Inc.
時空とココロをテクノロジーアートで繋ぐ Technology art beyond imagination.
PV制作
カメラ制御 camera control
ステージシミュレーション stage simulation
PLATEAU プラグイン開発 PLATEAU Plug-in Development
都市3Dデータ界隈の様子
The urban 3D data neighborhood
賞金がリッチなコンテストが多い
賞金総額 200万円
賞金総額 300万円
賞金総額 200万円
応募作品はディスプレイやスマホで鑑賞するものが多く、インタラクティブな作品はほとんどありません!
TouchDesignerのユーザーがいないため、応募するだけで目立つことができます。
Most submissions are designed to be viewed on displays or smartphones, with very few interactive works!
Since there are no TouchDesigner users, simply submitting your work will make you stand out.
PLATEAUの魅力
オープンデータであること(Open data.)
日本中様々な場所のデータが自由に使える(商用OK)
Data from various locations throughout Japan can be used freely (commercial use OK)
コミュニティが充実している(The community is thriving.)
多くのイベントが企画されています。イベント内では、事業規模に関係なく、さまざまな方と気軽に交流することができます。また、TouchDesignerのコミュニティのように、Slack内で気軽に質問でき、たくさんのアドバイスをもらえます。
A variety of events are being planned. During these events, participants can casually connect with people from various backgrounds, regardless of the size of their business. Additionally, much like the TouchDesigner community, you can ask questions on Slack and receive plenty of advice.
様々なデータと融合か可能(Can be integrated with various data)
国際基準に基づいて作られたデータのため、さまざまなデータと融合することが可能です。
The data is created based on international standards, making it possible to integrate with various other datasets.
属性情報がある(attribute information)
3Dデータだけでなく、ビルやさまざまな物の情報が含まれており、建設年度・建設材料・使用用途などの詳細なデータも備えています。これらのデータは災害対策や都市開発の分野で非常に重宝されています。また、これらのデータを活用することで、『攻殻機動隊』のようなインタラクティブな作品を制作できるのではないかと考えています。
The data includes not only 3D models but also detailed information about buildings and various objects, such as construction year, building materials, and usage purposes. These datasets are highly valuable for disaster prevention and urban development. Additionally, leveraging this information could enable the creation of interactive works reminiscent of Ghost in the Shell.
カナリアス大望遠鏡でデジタル・ツインが構築されたように、3D的な表現だけでなく、各ビルの機能も再現し、イマーシブに体感できるコンテンツを制作することで、多くの方の役に立ち、都市を体感として理解できるコンテンツが作れるのではないかと考えます。
Just like the digital twin constructed for the Gran Telescopio Canarias, creating content that not only features 3D representations but also reproduces the functions of each building and offers an immersive experience could be highly beneficial to many people. It may also allow users to understand urban spaces through direct experiences.
完成イメージ
完成イメージ:完成イメージとしては、MIDIコントローラーのフェーダーを上下させることで、ビルの上に配置されたキューブが変わり、光を放ちます。この光はビルの階数に連動しており、MIDIコントローラーで指定した階数に対応するビルの上にあるキューブが点灯します。
サンプルファイル
13113_shibuya-ku_city_2023_citygml_1_op ダウンロードしたPLATEAUデータ Downloaded PLATEAU data
PLATEAU_TouchDesigner_pluginSample 今回のハンズオンサンプルデータ Sample data for this hands-on session
PLATEAU-TouchDesigner-Plugin-main プラグインファイル plugin File
プラグインの使い方について
下記のマニュアを使い説明します。
The following maneuvers are used to explain the process.
補足①:平面直角座標について Supplement 1: About Plane Rectangular Coordinates
緯度経度は、場所によって1°あたりの長さが変わるため、そのままでは3Dの物体として表現するのに適しません。この問題を解決するために、特定の位置を原点とし、そこからの距離で座標を表す「平面直角座標」が使用されます。TouchDesigner内では、緯度経度を平面直角座標に変換して利用しています。
Latitude and longitude vary in length per degree depending on the location, making them unsuitable for representing 3D objects as-is. To address this, "plane rectangular coordinates" are used, which express coordinates as distances from a specific reference point set as the origin. In TouchDesigner, latitude and longitude are converted into plane rectangular coordinates for use.
特定の原点が tx, ty, tz = 0 に設定されています。そのため、中心座標を設置地点に合わせる設定にしないと、3Dモデルを見つけるのが難しくなります。
A specific origin point is set as tx, ty, tz = 0. If the center coordinates are not aligned with the installation location, it becomes difficult to locate the 3D model.
補足②:Txyzの使い方について Supplement 2: How to Use Txyz
PLATEAU_TouchDesigner_pluginSample
TouchDesignerでは、昔のゲームのように、横方向を x軸、高さ方向を y軸 として先に決定し、残りの奥行きを z軸 として扱います。
地図の場合は、通常の地図と同様に、東西が x軸、南北が y軸 になり、残りの高さが z軸 となります。
In TouchDesigner, the coordinate system resembles old video games, where the horizontal direction is assigned to the x-axis, the vertical direction to the y-axis, and the remaining depth to the z-axis.
For maps, as with conventional maps, the east-west direction corresponds to the x-axis, the north-south direction to the y-axis, and the remaining elevation is assigned to the z-axis.
補足③:LODについて Supplement 3: About LOD (Level of Detail)
PLATEAU-TouchDesigner-Plugin.toeが出力するファイルの中身について
About the contents of the file output by PLATEAU-TouchDesigner-Plugin.toe
PLATEAU-TouchDesigner-Plugin.toeの「出力オプション」で「属性情報を出力する」を選択して出力する場合、下記の3つのファイルが出力されます。
When “Output Attribute Information” is selected in “Output Options” in PLATEAU-TouchDesigner-Plugin.toe, the following three files will be output.
○○○○_○○○○〇_○○○○〇.obj → 各地物事のポリゴンデータ Polygon data of each physical location
bldg_○○○○〇_○○○○〇.csv → 属性情報をまとめたcsvファイル csv file summarizing attribute information
(出力されるのはbldgデータのみで、他の地物は出力されません。Only bldg data is output, no other landmarks are output.)
config_○○○○〇_○○○○〇.csv → 出力時の設定データ Setting data at output
(ポリゴンデータ・属性情報のオフセットの値を出力している。The value of offset of polygon data and attribute information is output.)
config_○○○○_○○○○.csvの見方について
prcLon・prcLat
ポリゴンデータ生成時に時に使用している平面直角座標系の基準緯度経度
Reference latitude and longitude of the plane rectangular coordinate system used when generating polygon data
offset_x・offset_y
もとのデータは平面直角座標系で作成されているため、TouchDesignerの原点から離れた位置にポリゴンデータが配置されることがよくあります。そのため、「出力オプション」で「中心点を設定地点に合わせる」を選択した場合、中心点をTouchDesignerの原点に合わせるようにしています。ここで示されるのは、その際に使用される値です。
仕組みについては、下記の記事を参照してください。
The original data is created in the plane rectangular coordinate system, so polygon data is often placed at a position far from the origin in TouchDesigner. Therefore, when the "Output Options" setting "Align Center Point to Specified Location" is selected, the center point is aligned to TouchDesigner's origin. The values used for this alignment are presented here.
For details about the mechanism, please refer to the article below.
Timestamp
出力したファイルを識別する、ファイル番号 File number to identify the output file
Timestamp 1727083567_621993
config_○○○○_○○○○.csvの見方について
ObjectID
オブジェクトID
centroidLatLon
各ビルの重心座標
X (m)・Y (m)
各ビルの重心を平面直角座標に変換した値 Coordinates of the center of gravity of each building
offset_x・offset_z
各ビルの重心を平面直角座標に変換し、オフセットの値に変換した値
Value obtained by converting the center of gravity of each building to plane rectangular coordinates and then to the value of the offset
bottomHeight・topHeight
各ビルの最低地上高・最上地上高
Minimum and maximum height above ground for each building
以降の列からPosListまでの列
ビル名等の属性情報、読み込むデータによって名前や列数は変わる。
The name and number of columns will vary depending on the building name and other attribute information and the data to be read.
PosList
各ビルのLOD1の頂点情報を緯度経度・高さで表記
Vertex information of LOD1 for each building in terms of latitude, longitude, and height
制作手順 Production Procedure
ノード全体図 Overall node diagram
❶属性情報のデータ整理 Data organization of attribute information
メモ:csvファイルは読み込んだ時はテキストデータなので、convertDATを使って、表にしています。
Note: csv files are text data when read in, so we use convertDAT to convert them into tables.
➋MIDIコントローラーの信号を整理している
Organizing MIDI controller signals.
メモ①:MIDIコントローラーとは
MIDIコントローラーをTouchDesignerで使用することで、インタラクティブアートの制作がより直感的でリアルタイムな操作が可能になります。ノブやフェーダー、パッドを使って映像やインタラクションのパラメータを即座に調整でき、音や動きとのシンクロが容易になります。また、自由なマッピング設定により、操作性をカスタマイズできるため、作品の表現を豊かにし、観客とのダイナミックなインタラクションが可能です。さらに、コンパクトで携帯性が高く、インスタレーション現場でのセットアップが簡単です。これにより、観客の参加を引き出す魅力的な体験を創出できます。
今回は、よく使われているnanoKONTROL2を仕様します。
Using a MIDI controller with TouchDesigner allows for more intuitive and real-time interaction in creating interactive art. By utilizing knobs, faders, and pads, you can instantly adjust parameters for visuals and interactions, making it easier to synchronize with sound and motion. Additionally, customizable mapping settings enable tailored operability, enriching artistic expression and enabling dynamic interactions with the audience. Its compact and portable design also simplifies setup in installation environments, helping to create engaging experiences that invite audience participation.
In this guide, we will use the popular nanoKONTROL2.
メモ②:nanoKONTROL2.toxはこちらからダウンロードしています。
このtoxファイルを使うことで、物理的なMIDIコントローラー・UIの両方で操作可能になります。
nanoKONTROL2が無い方はUIで操作してください。
By using this tox file, you can operate it with both physical MIDI controller and UI.
If you do not have nanoKONTROL2, please use the UI to operate it.
❸各ビルの屋上位置情報をChop化 Chop rooftop location information for each building ❹各ビルの階数情報をChop化 Chop the floor number information for each building
❺属性情報からMIDIコントローラー指定の階数のみ、1にする
Only the number of floors specified by the MIDI controller from the attribute information is set to 1.
メモ①:MIDIからきている信号は0~1になっている。このままでは、ビルの階数と突合できないので、mathCHOPを使って、属税情報内の最大~最小階数(0階~64階)の整数になるようにしている。
OP→Integerを”Floor”にすると、整数になる。
Rangeにmax_nullCHOPとmini_nullCHOPの値を入れる。
Note 1: MIDI signals are received as values ranging from 0 to 1. However, these values cannot directly correspond to building floors. To resolve this, a Math CHOP is used to scale the values to integers representing the building's floor range (e.g., 0 to 64 floors).
Set the OP → Integer parameter to "Floor" to convert the values into integers.
For the Range, input the values from max_nullCHOP and mini_nullCHOP.
メモ②:Expressionを仕様して、該当するビルのみ1にする。
express1のexpressionに
1 if me.inputVal == op('floor_null')[0] else 0
記入すると、指定された、階数のみ1になる
Note 2: Use an Expression to set the value to 1 for the specified building only.
In express1, write the following in the expression field:
1 if me.inputVal == op('floor_null')[0] else 0
This ensures that only the specified floor is set to 1.
➏各値をインスタンシング Instancing each value
メモ①:Translate X Y Z に tx ty tz を 入れる(キューブの位置)
メモ②:Scale X Y Z に scale を 入れる(キューブの大きさ)
メモ③:Instance2の Color R G B に rgb を 入れる(キューブの色)
メモ④:constantMATはキューブの光らせたい色に設定
Note 1: Input tx, ty, and tz into Translate X, Y, Z to set the cube's position.
Note 2: Input scale into Scale X, Y, Z to adjust the cube's size.
Note 3: Input rgb into Instance2 → Color R, G, B to set the cube's color.
Note 4: Configure the constantMAT to the desired glowing color for the cube.
❼ビルのポリゴンデータ Building polygon data
メモ:PLATEAU_TouchDesigner_pluginがポリゴンデータと属性情報と平面直角座標を揃えて出力しているので、入れるだけでぴったり合う
Note: The PLATEAU_TouchDesigner_plugin outputs polygon data, attribute information, and plane rectangular coordinates aligned perfectly, so simply inputting the data ensures precise alignment.
❽ライトに位置や色 Position and color for lights
メモ:都市情報は大きいので値を1000程度にしないと、ビルに光があたりません。
Note: Urban data values are large, so they need to be scaled down to around 1000; otherwise, the lighting won't properly affect the buildings.
❾カメラの設定 Camera Settings
メモ①:都市データは大きいのでカメラのViewのFarを3000程度にする。
メモ②:カメラの軌道はcircleSOPとLFOCHOPで指定
メモ③:カメラの視点はNullCOMPで指定
Note 1: Urban data is large, so set the Camera View Far to around 3000.
Note 2: Specify the camera's orbit using circleSOP and LFOCHOP.
Note 3: Define the camera's viewpoint using NullCOMP.
➓レンダリング Rendering
メモ①:bloomでいい感じに光らせる
メモ②:textTOPのTextのTextにint(op('floor_null')[0]) と入れて、選択中の階数を表示させる
Note 1: Use Bloom to create a pleasing glow effect.
Note 2: In textTOP, input int(op('floor_null')[0]) into the Text → Text field to display the currently selected floor.