チュートリアル 1 : CityEngine の基本

チュートリアル データ

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

概要

このチュートリアルでは、シーンの作成、オブジェクトの選択、ルールの編集など、CityEngine で作業する際に必要なスキルを学びます。

演習
Part 1: プロジェクトの新規作成
Part 2: シーンの作成
Part 3: 最初の道路レイアウトの作成
Part 4: CityEngine のナビゲーションを探索
Part 5: オブジェクトの選択
Part 6: ルールを使用したモデルの生成
Part 7: ルールの編集

Part 1: プロジェクトの新規作成

はじめに、CityEngine プロジェクトを新規作成します。

  1. [File] メニュー → [New] → [CityEngine] → [CityEngine project] をクリックします。[Select a wizard] ダイアログ ボックスが表示されます。
  1. [Next] をクリックします。

  2. [Project name] に「MyFirstCity」と入力します。

  1. [Finish] をクリックします。
    [Navigator] ウィンドウ内に MyFirstCity プロジェクトが作成されます。

Part 2: シーンの作成

次に、シーンを作成します。

  1. [File] メニュー → [New] → [CityEngine] → [Cityengine Scene] をクリックします。 または、[Navigator] ウィンドウの /MyFirstCity/scenes/ フォルダーを右クリックし、[New][CityEngine Scene] を選択して、[Select a wizard] ダイアログを再度開きます。
  1. [Next] をクリックします。

  2. [File name] に「myFirstCity_01.cej」と入力します。

  1. [Coordinate System] が空の状態になっていることを確認します。

    座標系の詳細については、[Georeferensing] を参照してください。

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

    MyFirstCity _01.cej シーンは [Navigator] ウィンドウの /MyFirstCity/scenes/ フォルダーに作成されます。

ルールとアセットのコピー

Tutorial_01_Essential_Skills プロジェクトから MyFirstCity プロジェクトにコピーします。

  1. /Tutorial_01_Essential_Skills/rules/ フォルダーをクリックして展開します。

  2. フォルダー内のコンテンツを選択し、Ctrl+C キーを押してコピーまたは、右クリックで [Copy] を選択して、コンテンツをコピーします。

  3. /MyFirstCity/rules/ フォルダーをクリックし、Ctrl+V キーを押すまたは、右クリックで [Paste] を選択して、コンテンツを貼り付けます。

  4. 同様の手順を /Tutorial_01_Essential_Skills/assets/ フォルダーに対して繰り返します。

これで、MyFirstCity プロジェクト内の assets フォルダーと rules フォルダーに、必要な Tutorial_1_Essential_Skills のコンテンツをコピーできました。

Part 3: 最初の道路レイアウトの作成

新規のプロジェクトとシーンのセットアップが完了しました。次に、道路レイアウトの生成を開始します。道路について詳しくは、Graphs を参照してください。

道路ネットワークを作成するには以下の手順を行います。

  1. [Viewport] をクリックしてウィンドウをアクティブ化にします。

  2. [Graph] メニュー[Grow Streets] をクリックし、[Grow Streets] ダイアログ ボックスを開きます。

  1. デフォルト設定のまま、[Apply] をクリックします。

  2. [Close] をクリックしダイアログ ボックスを閉じます。

    約 500 以上の道路が作成されました。

  3. A キーを押すか、CityEngine ツールバーの [Frame all Viewports] tool を使用して [Viewport] 内の道路をフレーム化します。

  1. [Scene Editor] ウィンドウで新しい Streetnetwork レイヤーをクリックして、レイヤーを展開します。 Streetnetwork レイヤーには、block、graph、segments、shapes が含まれます。

Tutorial_01_Essential_Skills フォルダーで Essential_Skills_Part_2.cej シーンを開いて、完成した例を確認します。

Part 4: CityEngine のナビゲーションを探索

このセクションでは、画面移動、回転、ズームなど、CityEngine でのナビゲーション方法を学習します。 CityEngine でナビゲートするには、以下のアクションを使用します。

アクション操作方法/Windows キーボード ショートカット
回転移動
シーンを回転する
[Tumble/Rotate] ツールをクリックする
Alt キー+左マウスボタン
平行移動
ビューを上下左右に移動
[Pan/Track] ツールをクリックする
Alt キー+ホイール ボタンをクリックする
ズームイン/ズームアウト
注目ポイントに近づけたり、遠ざけたりします。
[Dolly/Zoom] ツールをクリックする
Alt キー+右マウスボタン
現在のカメラ位置からビューを回転
360 VR exports ブックマークを作成するのに役立ちます。
[Look around] ツールをクリックする
B キー+左クリック
全てのアクション リストと、マウス ナビゲーション の設定の変更方法については、[3D navigation essentials] を参照してください。

Part 5: オブジェクトの選択

[Select] ツールを使って、シーン内のオブジェクトを選択、操作、編集します。ツールバーの [Select] ツール (または Q キーを押す) をクリックします。また、[Select] メニュー[Selection tool] をクリックし、ツールを開くことができます。

以下の表の選択アクションを使用します。

アクション説明
シングル クリック個々のオブジェクトを選択します。
既に選択されているオブジェクトでは、選択要素 (面、エッジ、頂点) が選択されます。
ダブル クリック個々のオブジェクトを選択し、フレーム化します。
左から右方向へドラッグして範囲を選択範囲内にあるオブジェクトまたはコンポーネントを選択します。マップ レイヤーは選択範囲に追加されません。
右から左へドラッグして範囲を選択選択範囲と交差するオブジェクトを選択します。マップ レイヤーは選択範囲に追加されません。

左から右への選択は、通常、Street Graph Nodesのような小さなオブジェクトを選択するために使われます。
Map LayersGraphSegmentsShapes、および Models の 4 つの表示/非表示を切り替えるには、「F9」と「F12」を使用します。他のオブジェクトの表示を無効にすると、選択しやすくなります。  

オブジェクトが選択された後、右クリックをしてショートカット メニューを表示することができます。

アクション説明
Frame (F キー)選択範囲をフレームに入れます。(選択範囲がない場合はシーン全体をフレームに入れます。)
Select Objects in Same Layer同じレイヤーまたはレイヤー内のすべてのオブジェクトを選択します。
Select Objects with Same Rule Fileルール ファイルが割り当てられている選択範囲内のすべてのオブジェクトを選択します。
Select Objects with Same Start Rule同じスタート ルールが割り当てられていて、表示がオンになっているレイヤーのオブジェクトを選択します。

Part 6: ルールを使用したモデルの生成

CityEngine はプロシージャル モデリング アプリケーションであり、CGA rules を使用します。Computer Generated Architecture (CGA) は、建築 3D コンテンツを生成するために指定された独自のプログラミング言語です。次のセッションでは、CGA ルールを使用してモデルを生成する方法について学習します。

  1. [Viewport] でブロックを選択します。

    [Inspector] ウィンドウの中の [Block Parameters] で、[Subdivision Type] ボックスが「RecursiveSubdivision」に設定されていることを確認します。

  1. [Subdivision Type] ボックスのドロップ ダウン メニューをクリックして、「Offset Subdivision」に変更します。

ブロック分割とダイナミック シティ レイアウトの詳細については、チュートリアル2 :テレインとダイナミック シティ レイアウトをご参照ください。

  1. ブロック内の形状を選択します。

  2. [Select] → [Select Object of Same Group] をクリックします。

  3. rules フォルダー内の building.cga ルール ファイルを選択した形状にドラッグします。

    ルール ファイルを形状にドロップすると、ルールが適用され、自動的に生成されます。

    [Visibility settings] で、[Models] ボタンをクリックするか、F12 を押して、モデルが表示されていることを確認します。

  1. モデルを削除し、シーンに再度追加します。

    a. モデルを選択して Delete キーを押すか、右クリックして [Delete] を選択します。これで、モデルが削除されます。

    b. Footprint shape を再度選択し、ツールバーの [Generate] ツール (Ctrl+G キー) をクリックして、フットプリントから建物を再度生成します。

  2. 建物の高さの変化を確認するには、[Update Seed] ツール (Ctrl+Shift+G キー) をクリックして、シード値を変更します。

    以下の画像は、高さのシード値が異なる建物を表示しています。

  3. [Inspector] ウィンドウで [height] の値を「60」に変更します。 [Inspector] ウィンドウで手動で変更すると、値が強調表示され、CGA ルールの定義が上書きされます。

  4. [Inspector] ウィンドウで属性の上にマウスを置き、右クリックして [Reset user attributes] を選択すると、Building.cga ルールをリセットできます。

    Essensital_Skils_Part_4.cej シーンを開いて完成した例を確認します。

Part 7: ルールの編集

CGA Editor は現代から近代、古代から未来などのあらゆるタイプの 3D 都市モデルを作成および修正するためのツールです。ここまで使用してきた building.cga ルールの中身を見ていきます。

  1. [CGA Editor]building.cga ルールを開くには、[Navigator] ウィンドウで CGA ルールファイルをダブル クリックするか、[Inspector] ウィンドウで [Rule File] リンクをクリックします。

    [CGA Editor]building.cga ルールが開きます。

  2. building.cga ルールを編集します。

    height 属性は以下のコードで「15」から「25」までのランダム値として定義されています。

attr height = rand(15,25)

以下の例では、建物の [height] のランダム値は 18.35 です。

building.cga ルールはランダムな値を生成するためシーンによっては異なります。

  1. [height] のランダム値を「25」から「80」に変更します。
attr height = rand(15,80)

  [height] のランダム値は「15」から「80」の間で定義されました。

   a. Ctrl+S キーを押すまたは、[File] メニュー[Save] を選択して、編集したルールを保存します。

   b. [Update Seed] ツール (Ctrl+Shift+G キー) をクリックして、建物を再生成します。

  

  この建物の高さのランダム値は 56.79 です。

[Update Seed] ツールを使用する理由としては、[height] がランダム値であり、建物を再生成する際にランダム シード値を更新するときに必要なためです。  

  1. 新しい屋根ルールを building.cga ルールに追加して、屋根のジオメトリを作成します。

  a. Lot ルールを編集して、以下のようにします。

Lot \--\>
    case shapeType == \"LotInner\" :
          Lot.
else :
  extrude(height) comp(f) { side : Facade \| top: Roof }

  b. Roof ルールを追加し、シェープを 22.5 度の角度を持つ roofHip として定義します。

Roof \--\> roofHip(22.5) Shape

  c. ルールを保存します。

  1. 建物を再生成しますが、ここでは、[Generate Models] ツール (Ctrl+G キー) をクリックします。これによって、建物の高さを 56.79 にキープすることができます。

    Essential_Skils_Part_5.cej シーンを開いて完成した例を確認します。

このチュートリアルでは、プロジェクトとシーンの作成、道路レイアウトの作成、ナビゲーションとオブジェクトの選択、モデルの生成、ルールの編集方法について学習しました。