チュートリアル データは、[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: アセットをテクスチャ形状または静的モデルとしてインポートする |
シェープファイルをインポートするには、次の手順を実行します。
[File] メニュー → [New] → [CityEngine] → [CityEngine Scene] をクリックしてシーンを作成します。
footprints.shp ファイルを \data\shp_footprints フォルダーから [Viewport] にドラッグします。
シーンの座標系として、[No Projection] の下の [Raw data in meters] を選択します。
シェープファイルのデータはメートル単位であり、ジオリファレンスされていないため、シーンの座標系は Raw data in meters に設定されます。
インポートされたフットプリントに対して CGA ルール を使用して単純な押し出しを行います。extrude.cga ルールは、高さオブジェクト属性で定義された高さまでフットプリントを立ち上げます。
attr height = 10
@StartRule
Lot --> extrude(height)
[Viewport] ウィンドウですべてのフットプリントを選択します。
選択した図形に extrude.cga ルールをドラッグして、ルールを割り当てます。
footprints_from_shp.cej を開いて、生成されたモデルを確認します。
ジオデータベース データをインポートするワークフローは、シェープファイルのインポートと似ています。
シーンを作成します。
footprints.gdb フォルダーを data フォルダーから [Viewport] ウィンドウにドラッグします。
footprints.gdb ファイルは、[Navigator] ウィンドウ内ではフォルダーとして表示されます。
[Next] をクリックすると、[Generate Bridges]、[Simplify Graph]、[Cleanup Graph] などの追加のインポート オプションが表示されます。
シーン座標系を選択するよう求められます。ダイアログ ボックスに表示される座標系は、ジオデータベース内のデータから取得されます。
ジオデータベースに含まれるデータは上記のシェープファイルの中身と同じものですので、同じ手順を適用してフットプリントから建物モデルを生成できます。
[Select a shapefile data coordinate system] ダイアログ ボックスが表示されます。
sphereCity.shp ファイルにはシーン座標系を定義する .prj ファイルがないため、[Select Scene Coordinate System] ダイアログ ボックスが表示されます。
The new sphereCity shape layer が [Scene Editor] ウィンドウに追加され、フットプリント シェープには Z 値があるため、Viewport では 3D ポリゴンとして表示されます。
このデータセットでは、ruleFile と startRule という 2 つの属性が定義されています。
GIS アプリケーションに既に使用されている特定のシンタックスを使用すると、インポート時に Rule Files と Start Rules が直接アサインされ、手動でファイルをアサインする時間を省くことができます。
GIS アプリケーションの属性テーブルは次のようになります。
[Scene Edito] ウィンドウで sphereCity のすべてのシェープを選択します。
Generate (Ctrl+G) をクリックすると、建物が生成されます。
spherecity_from_shp.cej シーンは、球体の都市をモデルで示しています。
個々のシェープについてスタート ルールを変更し、生成されるモデルを変えます。
シーン内のモデルを 1 つ選択します。
[Start Rule] の横にある [Select] をクリックします。
[Set Start Rule] ダイアログ ボックスが表示されます。
スタート ルール (CGA コードで @StartRule タグが付いたルール) は太字で表示されます。
新しいスタート ルールとして [Commercial] を選択します。
[OK] をクリックします。
OBJ ファイルを図形として読み込むには、次の操作を行います。
シーンを作成します。
\data\obj フォルダー内の pompeii_footprints.obj ファイルを右クリックし、Import を選択します。
[OBJ] インポート ダイアログが表示されます。
[Import as static model] のチェックを外します。
[Finish] をクリックします。
次に、フットプリントから単純な立ち上げを生成します。
extrude.cga ルール ファイルは、フットプリントの形状をルールの高さ属性で定義された高さ 10 メートルまで立ち上げます。
footprints_from_obj.cej シーンを開いて、最終的な押し出しモデルを確認します。
ボリュームを CGA 文法で記述する代わりに、外部アプリケーションでモデル化できます。 このセクションでは、Autodesk Maya でモデル化された建物ボリュームを CityEngine に読み込み、CGA ルールを使用して側面を調整する方法について説明します。
この建物ボリュームは、Maya の従来の方法でモデル化され、.obj ファイルとして書き出されました。
CityEngine でサポートされているファイル形式の一覧については、ダイアログによるインポートをご参照ください。
OBJ をインポートするには、次の手順を実行します。
シーンを作成します。
\data\obj フォルダー内の Building_1.obj ファイルを右クリックし、[Import] を選択します。 OBJ ダイアログ ボックスが表示されます。
[Import as static model] のチェックを外します。
[Finish] をクリックします。
新しい Building_1 シェープ レイヤーが [Scene Editor] ウィンドウに表示され、建物モデルが [Viewport] ウィンドウに表示されます。
Building_1 shape には、Building スタート ルールが含まれます。モデルの座標系を CityEngine yUp システムに合わせる必要があります。 Building ルールでは、alignScopeToAxes() 操作と comp(f)CGA 操作を使用して、モデルを異なる面に分割します。屋根に対しては top セレクターを、建物正面に対しては side セレクターを使用します。
Building -->
alignScopeToAxes(y)
comp(f){top : color("#ff0000") Roof. | side : Facade. }
建物モデルに建物ルールを適用するには、次の手順を実行します。
インポートした建物立体モデルに対し面の確認のためのシンプルなルールを適用した状態:赤 : 状面 (屋根) ; グレー : 側面 (ファサード) 面は 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 が外側を向くようにして、その下端に揃えます。これにより、すべてのファサード面で同じ方向のスコープで操作できます。
volume_from_obj.cej シーンは完成したモデルを示しています。
CGA ルールの詳細については、「チュートリアル 6: 基本的なシェープ グラマー」を参照してください。
ランドマークの建物など、事前にモデリングされたテクスチャ アセットをシェープまたは静的モデルとして読み込むことができます。
新しい building_0 シェープ レイヤーが [Scene Editor] ウィンドウに表示されます。
CGA ルールを静的モデルに適用するには、まず静的モデルをシェープに変換する必要があります。
これで、モデルで CGA ルールを適用する準備ができました。
landmark ルールをモデルに適用するには、次の手順を実行します。
[Style Manager] ウィンドウにスタイル オプションが表示されます。
生成されたモデルで完成したシーンを表示するには、landmark_as_shape.cej シーンを開きます。
このチュートリアルでは、複数のファイル形式をシェープまたは静的モデルとして CityEngine にインポートし、それらにルールを適用する方法について説明しました。 CityEngine の学習を続けるには、完全な CityEngine チュートリアル カタログを参照してください。