
こちらの記事では、Open Street Map(OSM)の概要および各OSMノードの詳細や、HoudiniでOSMノードを使用した例についてご紹介します。Open Street Mapについては、SideFX社ホームページで紹介されています。併せてご参照ください。
Open Street Mapノードについて
Open Street Mapは、City Mapデータで利用するオープンソースのXMLベースのファイル形式です。Houdiniで使用することのできる、Open Street Map(OSM)ノードはGeometryネットワーク内に3つあります。

OSM Importノード
Open Street Map データを読み込みます。OSM Importノードは、OSMファイルを解析し、それらをHoudiniジオメトリに変換します。全てのOSMタグが解析され、プリミティブアトリビュートとして保存されます。インポートしたデータの詳細情報は、ジオメトリスプレッドシートで確認することが出来ます。

各パラメーターの詳細

①OSM File
Open Street Mapファイルのパスを指定します。
②Generate Marker Nodes
ノードマーカー(Node Markers)は、パーキングメーターや停止標識などのポイントです。デフォルトでは、カーブ/ポリゴンのみをインポートします。
③Read Building Colors
building_colourタグをCdアトリビュートに切り替えて解析します。

④Only Close Building Shapes
一部の形状を展開した状態にする際に使用します。水域やその他の形状は、開いた曲線で表現される場合があります。
OSM Buildingsノード
OSMデータから建物を生成します。OSM Buildingsノードは、OSM Importノードによって生成された曲線から建物のデータを押し出します。曲線を対象とする場合は、建物としてタグ付けし、heightまたはbuilding_levelsタグを付ける必要があります。

各パラメーターの詳細

①Standard Level Height
building_levelsアトリビュートでのみ使用されます。建物数に対して、パラメーターの値(メートル)を掛け、建物の高さを取得します。
②Shrink Footprints
建物のフットプリント(土地占有面積)を縮小する距離です。建物のフットプリントを歩道として使用する場合に役立ちます。
③Boolean Buildings
隣接する建物を結合します。街区を単一の建物に変更します。
④Visualize Buildings
個々の建物を異なる色で色分けします。
⑤Generate Buildings on Missing Data
必要な全てのデータ(heightまたはbuildinglevels)が存在しない場合は、こちらのパラメーターを使用することで建物を生成することが可能です。
⑥Random Seed
ランダムな高さの建物の異なるシードを設定します。
⑦Height Range
ランダムに生成される建物の最小および最大範囲を設定することができます。
OSM Filterノード
特定のOSMデータレイヤを分離します。OSMファイルからの全ての情報は、OSM Import ノードによって読み込まれます。OSM Filterノードは、データが過大な場合または特定のデータを分離する必要がある際に使用されます。

各パラメーターの詳細

Buildings
①Buildings
ビルディングプリミティブを切り替えます。
②Building Parts
ビルディングパーツ(複雑なジオメトリを持つ建物のサブコンポーネント)を切り替えます。
Roads
③Roads
すべての道路タイプをグローバルに切り替えます。
④Motorway
最も大きいタイプの道路に切り替えます。
⑤Primary
主要道路に切り替えます。
⑥Secondary
二次的道路に切り替えます。
⑦Tertiary
幹線道路に切り替えます。
⑧Residential
住宅用道路に切り替えます。
⑨Footway
歩道に切り替えます。
⑩Pedestrian
歩行者専用道路に切り替えます。
⑪Other
他のすべての道路データを切り替えます。
⑫Other Data
すべての非建物データと非道路データを切り替えます。
Open Street Map(OSM)ノードの使用例
最初に、Open Street Mapのウェブサイトにアクセスし、シーンの構築に使用する区域を指定します。こちらでは、[渋谷区 渋谷駅]で検索します。次に、画面左上の[エクスポート]ボタンをクリックします。

選択した範囲の変更を行わない場合は、引き続き下画像の青ボタン[エクスポート]をクリックします。

エクスポートするOSMファイルの保存先を指定します。

次に、Houdiniを起動します。今回は、Houdini18.0.416を使用しています。 最初に、SideFX Labsツールが適切に読み込まれていることを確認します。

Geometryネットワーク上でOSM Importノードを作成します。パラメーターのOSM File右端のカーソルアイコンをクリックします。

エクスポートしたOSMファイルを指定し、[Accept]をクリックします。

OSM Importノードにディスプレイフラグを付けると、ビューポート上でエクスポートしたOSMデータを確認することができます。

次に、ビル群を生成する為、OSM Importノードの下にOSM Buildingsノードを接続します。

接続した後、OSM Buildingsノードのパラメーターを調整します。 Generate Buildings on Missing Dataにチェックを入れることで、OSMデータに沿って自動でビルを生成することが出来ます。

また、Visualize Buildingsにチェックを入れた場合、建物毎に色分けされていることが確認できます。

OSM BuildingsノードのBoolean Buildingsをオンにすることで、隣接した建物を結合することができます。

次に、OSM Buildingsノードの下にOSM Filterノードを接続します。

パラメーターからBuildingsにチェックを外すことで、生成した建物だけを非表示にし、レイヤーのようにコントロールすることが可能です。
