チュートリアル 5: シェープのインポート

チュートリアル データ

チュートリアル データは、[Help] メニュー → [Download Tutorials and Examples…] を選択し、[CityEngine Tutorial] からダウンロードすることができます。  

概要

データのインポートは、CityEngine を使用する上で不可欠な部分です。シェープファイル、ジオデータベース、OBJ、FBX、USD、glTF、DWG、IFC など、多くの形式がサポートされています。詳細については、ダイアログによるインポート を参照してください。 ほとんどのファイルの種類は、次の説明を含むシェープまたは静的モデルとしてインポートできます。

• シェープは、CGA 生成のベースとして機能します。典型的な例はフットプリント データです。

• 静的モデルは、インポート後にスケーリング、回転、および変換できますが、CGA でそれ以上処理することはできません。典型的な例はランドマークの建物です。

このチュートリアルでは、データ形式をインポートする方法を示し、それらをさらに処理するためのワークフローを学習します。

演習
Part 1: シェープファイルのインポート
Part 2: ジオデータベース データのインポート
Part 3: ポリライン Z シェープのインポート
Part 4: OBJ からシェープをインポート
Part 5: OBJ ファイルを建物モデルとして読み込む
Part 6: アセットをテクスチャ形状または静的モデルとしてインポートする

Part 1 :シェープファイルのインポート

シェープファイルをインポートするには、次の手順を実行します。

  1. [File] メニュー → [New] → [CityEngine] → [CityEngine Scene] をクリックしてシーンを作成します。

  2. footprints.shp ファイルを \data\shp_footprints フォルダーから [Viewport] にドラッグします。

  3. シーンの座標系として、[No Projection] の下の [Raw data in meters] を選択します。

 

シェープファイルのデータはメートル単位であり、ジオリファレンスされていないため、シーンの座標系は Raw data in meters に設定されます。

  1. [OK] をクリックします。

 

  1. フットプリントを 1 つ選択すると、シェープファイルと共にインポートされたオブジェクト属性が表示されます。 オブジェクト属性は、[Inspector] ウィンドウの [Object Attributes] の下に表示されます。

 

ルールの適用とモデルの生成

インポートされたフットプリントに対して CGA ルール を使用して単純な押し出しを行います。extrude.cga ルールは、高さオブジェクト属性で定義された高さまでフットプリントを立ち上げます。

  1. rules フォルダー内の extrude.cga ルール ファイルをダブルクリックして、[CGA Editor] ウィンドウを開きます。
attr height = 10 
 
@StartRule 
Lot --> extrude(height) 
  1. [Viewport] ウィンドウですべてのフットプリントを選択します。

  2. 選択した図形に extrude.cga ルールをドラッグして、ルールを割り当てます。

 

footprints_from_shp.cej を開いて、生成されたモデルを確認します。

Part 2 :ジオデータベース データのインポート

ジオデータベース データをインポートするワークフローは、シェープファイルのインポートと似ています。

  1. シーンを作成します。

  2. footprints.gdb フォルダーを data フォルダーから [Viewport] ウィンドウにドラッグします。

footprints.gdb ファイルは、[Navigator] ウィンドウ内ではフォルダーとして表示されます。

  1. [FileGeodatabase] ダイアログ ボックスが表示され、ジオデータベースからインポートするレイヤーを選択できます。  

[Next] をクリックすると、[Generate Bridges][Simplify Graph][Cleanup Graph] などの追加のインポート オプションが表示されます。

  1. [Finish] をクリックして選択したレイヤーをインポートします。

シーン座標系を選択するよう求められます。ダイアログ ボックスに表示される座標系は、ジオデータベース内のデータから取得されます。

 

ジオデータベースに含まれるデータは上記のシェープファイルの中身と同じものですので、同じ手順を適用してフットプリントから建物モデルを生成できます。

Part 3 :ポリライン Z シェープのインポート

  1. シーンを作成します。
  2. sphereCity.shp ファイルを data\shp_sphereCity フォルダーから [Viewport] ウィンドウにドラッグします。

[Select a shapefile data coordinate system] ダイアログ ボックスが表示されます。

  1. シェープファイル データはメートル単位であり、ジオリファレンスされていないため、[Raw Data in meters] を選択します。
  2. [OK] をクリックします。

sphereCity.shp ファイルにはシーン座標系を定義する .prj ファイルがないため、[Select Scene Coordinate System] ダイアログ ボックスが表示されます。

  1. シーン座標系として Raw data in meters を選択します。 データとシーンに同じ座標系を使用すると、インポート時にデータに再投影が適用されません。

 

The new sphereCity shape layer が [Scene Editor] ウィンドウに追加され、フットプリント シェープには Z 値があるため、Viewport では 3D ポリゴンとして表示されます。

属性

このデータセットでは、ruleFilestartRule という 2 つの属性が定義されています。

GIS アプリケーションに既に使用されている特定のシンタックスを使用すると、インポート時に Rule Files と Start Rules が直接アサインされ、手動でファイルをアサインする時間を省くことができます。

GIS アプリケーションの属性テーブルは次のようになります。

 

  1. 1 つのシェープ (球体上の 1 つの面) を選択します。
    [Inspector] ウィンドウの Object Attributes 欄にオブジェクト属性が表示され、自動的に割り当てられるルールが [Rules] の下に表示されます。

   

  1. [Scene Edito] ウィンドウで sphereCity のすべてのシェープを選択します。

  2. Generate (Ctrl+G) をクリックすると、建物が生成されます。

 

spherecity_from_shp.cej シーンは、球体の都市をモデルで示しています。

スタート ルールの変更

個々のシェープについてスタート ルールを変更し、生成されるモデルを変えます。

  1. シーン内のモデルを 1 つ選択します。

  2. [Start Rule] の横にある [Select] をクリックします。

 

[Set Start Rule] ダイアログ ボックスが表示されます。

 

スタート ルール (CGA コードで @StartRule タグが付いたルール) は太字で表示されます。

  1. 新しいスタート ルールとして [Commercial] を選択します。

  2. [OK] をクリックします。

 

Part 4 :OBJ からシェープをインポート

OBJ ファイルを図形として読み込むには、次の操作を行います。

  1. シーンを作成します。

  2. \data\obj フォルダー内の pompeii_footprints.obj ファイルを右クリックし、Import を選択します。

[OBJ] インポート ダイアログが表示されます。

 

  1. [Import as static model] のチェックを外します。

  2. [Finish] をクリックします。

 

次に、フットプリントから単純な立ち上げを生成します。

  1. すべてのフットプリントを選択します。
  2. extrude.cga ルール ファイルを選択したフットプリントにドラッグします。 図形の上にルールをドラッグすると、図形が強調表示されます。

 

extrude.cga ルール ファイルは、フットプリントの形状をルールの高さ属性で定義された高さ 10 メートルまで立ち上げます。

 

footprints_from_obj.cej シーンを開いて、最終的な押し出しモデルを確認します。   

Part 5 :OBJ ファイルを建物モデルとして読み込む

ボリュームを CGA 文法で記述する代わりに、外部アプリケーションでモデル化できます。 このセクションでは、Autodesk Maya でモデル化された建物ボリュームを CityEngine に読み込み、CGA ルールを使用して側面を調整する方法について説明します。

 

この建物ボリュームは、Maya の従来の方法でモデル化され、.obj ファイルとして書き出されました。

CityEngine でサポートされているファイル形式の一覧については、ダイアログによるインポートをご参照ください。

OBJ をインポートするには、次の手順を実行します。

  1. シーンを作成します。

  2. \data\obj フォルダー内の Building_1.obj ファイルを右クリックし、[Import] を選択します。 OBJ ダイアログ ボックスが表示されます。

  3. [Import as static model] のチェックを外します。

  4. [Finish] をクリックします。

新しい Building_1 シェープ レイヤーが [Scene Editor] ウィンドウに表示され、建物モデルが [Viewport] ウィンドウに表示されます。

 

Building ルールを適用する

Building_1 shape には、Building スタート ルールが含まれます。モデルの座標系を CityEngine yUp システムに合わせる必要があります。 Building ルールでは、alignScopeToAxes() 操作と comp(f)CGA 操作を使用して、モデルを異なる面に分割します。屋根に対しては top セレクターを、建物正面に対しては side セレクターを使用します。

Building --> 
alignScopeToAxes(y) 
comp(f){top : color("#ff0000") Roof. | side : Facade. } 

建物モデルに建物ルールを適用するには、次の手順を実行します。

  1. 建物モデルを選択します。
  2. importedVolume_01_markFaces.cga ルール ファイルを選択した建物にドラッグします。

インポートした建物立体モデルに対し面の確認のためのシンプルなルールを適用した状態:赤 : 状面 (屋根) ; グレー : 側面 (ファサード) 面は CityEngine の外部でモデル化されるため、その方向は必ずしもルール操作と互換性があるとは限りません。これを修正するために、importedVolume_02_facades.cga ルールは alignScopeToGeometry (zUp, any, world.lowest) CGA 操作にファサード ルールを追加します。

Facade -->  
alignScopeToGeometry(zUp, any, world.lowest)
split(y){3.5 : Groundfloor | {~3 : Floor}* }

ファサード ルールは、ファサード形状の範囲を z が外側を向くようにして、その下端に揃えます。これにより、すべてのファサード面で同じ方向のスコープで操作できます。

  1. 建物モデルが選択されていることを確認します。
  2. importedVolume_02_facades.cga ルール ファイルを選択した建物にドラッグします。

volume_from_obj.cej シーンは完成したモデルを示しています。

CGA ルールの詳細については、「チュートリアル 6: 基本的なシェープ グラマー」を参照してください。

Part 6 :アセットをテキスト サーフェスまたは静的モデルとしてインポートする

ランドマークの建物など、事前にモデリングされたテクスチャ アセットをシェープまたは静的モデルとして読み込むことができます。

  1. シーンを作成します。
  2. building_0.dae ファイルを \data\dae フォルダーから [Viewport] ウィンドウにドラッグします。

新しい building_0 シェープ レイヤーが [Scene Editor] ウィンドウに表示されます。

静的モデルをシェープに変換する

CGA ルールを静的モデルに適用するには、まず静的モデルをシェープに変換する必要があります。

  1. インポートした静的モデルを選択します。
  1. メイン メニューの [Shapes] メニューの [Convert Models to Shapes] をクリックします。

これで、モデルで CGA ルールを適用する準備ができました。

CGA ルールを適用する

landmark ルールをモデルに適用するには、次の手順を実行します。

  1. 建物モデルを選択します。
  2. landmark.cga ルール ファイルを選択した建物にドラッグします。
  1. ルールのオプションを調べるには、[Inspector] ウィンドウで mode パラメーターの値を変更します。

 

  1. landmark のドロップダウン メニューをクリックしてスタイルを切り替えるか、[Preview & select styles] をクリックして [Style Manager] ウィンドウを開きます。

 

[Style Manager] ウィンドウにスタイル オプションが表示されます。

 

生成されたモデルで完成したシーンを表示するには、landmark_as_shape.cej シーンを開きます。

このチュートリアルでは、複数のファイル形式をシェープまたは静的モデルとして CityEngine にインポートし、それらにルールを適用する方法について説明しました。 CityEngine の学習を続けるには、完全な CityEngine チュートリアル カタログを参照してください。