チュートリアル データは、[Help] メニュー → [Download Tutorials and Examples…] を選択し、[CityEngine Tutorial] からダウンロードできます。
このチュートリアルでは、何もない空の状態からどのように都市を構築するかを学習していきます。CityEngine の全チュートリアルを通して新規プロジェクトをセットアップし、道路ネットワークを作成して図形作成パラメーターを設定し、最終的にCGAルールエディターを使用して都市の建物モデルを生成するまでの全体のワークフローを紹介します。
演習 |
---|
・Part 1 :新規プロジェクトの準備 |
・Part 2 :道路レイアウト |
・Part 3 :ナビゲーションと選択 |
・Part 4 :ルールを使用したモデルの生成 |
・Part 5 :ルールの編集 |
最初のステップとして、CityEngine プロジェクトを新規作成します。
[Next] をクリックし、プロジェクトに MyFirstCity という名前を付けて [Finish] をクリックします。 新しいプロジェクトが作成され、[Navigator] ウィンドウ(デフォルトでは、CityEngine 画面の左上にあります)内に表示されているはずです。プロジェクト> フォルダー内には assets、rules、scenes などのフォルダーがデフォルトで作成されています。続いて、シーンを新規作成します。
[File] メニュー → [New]... → [CityEngine] → [CityEngine scene] を選択し、[Next] をクリックします。[CityEngine Scene] ダイアログで正しいプロジェクト フォルダー(/MyFirstCity/scenes)がセットされていることを確認し、シーン名として myFirstCity_01.cej と入力して [Finish] ボタンをクリックします。
本チュートリアルの後半では、建物モデルを生成するためのルール ファイルとアセットが必要になります。これらのファイルをワークスペースにリンクされているはずの Tutorial1 : Essential Skills プロジェクトからコピーします。
※ Tutorial 1 プロジェクトが [Navigator] ウィンドウ内にない場合は、[Help] メニュー → [Download Tutorials and Examples….] を選択し、CityEngine Tutorial から Tutorial 01 のチェックボックスをオンにして、[Finish] をクリックし、ダウンロードしてください。
・Windows または Linux の場合は、Ctrl-C キーを押してコピーし、Ctrl-V キーを押して貼り付けることができます。
・Mac OS の場合は、command-C キーを押してコピーし、command-V キーを押して貼り付けることができます。
新規プロジェクトをセットアップしたら、新規に作成したシーン上で道路レイアウトの生成を開始します。まず、道路ネットワークを作成します。
[3D View] ウィンドウ内で一度クリックし、ウィンドウをアクティブ化します。
[Graph] メニュー→ [Grow Streets] をクリックします。
[Apply] をクリックし、ダイアログを閉じます。
約 500 本の道路が生成されますが、最初の画面では [3D View] ウィンドウ内で道路の一部が拡大されており、道路全体は見えていない状態です。道路全体を表示するには Frame(全体表示)をします。
[3D View] ウィンドウ内でのナビゲーションは CityEngine を使用する上で最も習得が必要なスキルです。ここで、さまざまな利用可能なナビゲーション スキームを見ていきましょう。
3d Connection の 3d
Mouse(https://www.3dconnexion.com/)をお持ちの方は、3Dマウスの設定を行う事も可能です。
ここでは、デフォルトのナビゲーション スキームを挙げます:
ナビゲーション コマンド | Windows/Linux キーボード ショートカット | MacOS キーボード ショートカット |
---|---|---|
回転移動 | Alt キー + 左マウスボタン | Mac OS の場合:optionキー+ 左マウスボタン |
平行移動 | Alt キー+中央マウスボタン | Mac OS の場合:optionキー+ 中央マウスボタン |
ズーム | Alt キー+右マウスボタン、またはマウス ホイール | Mac OS の場合:optionキー+ 右マウスボタン |
① 他の便利なナビゲーションとして f キーを押すと [3D View] ウィンドウ内のツールバー上にある Frame(全体表示)ボタンと同様の操作が行えます。
② tumble(回転)、pan(平行移動)、zoom(ズーム)ナビゲーションの習得を早めに行う事をお勧めします。少し練習すればすぐに慣れます。
シーン内で、オブジェクトの操作や編集を行うには、まず選択する必要があります。選択は、ツールバーの [Selection] ツール(またはショートカットとして Q キーを押す)で簡単に行うことができます。
F9 から F12 キーまでのショートカットでは、Map Layers、Graph Segments、Shapes および Models の 4 つのオブジェクト タイプの表示を切り替えることができます。選択に必要のないオブジェクトの表示を無効にすると、選択しやすくなります。
選択タイプ
選択タイプの方法は以下の表をご参照ください。
選択タイプ | 挙動 |
---|---|
シングル クリック | 単一オブジェクトの選択 |
右から左方向にドラッグして範囲を選択 | 選択範囲に含まれる、または重なるすべてのオブジェクトを選択します。 |
左から右方向にドラッグして範囲を選択 | 選択範囲に完全に含まれるオブジェクトをすべて選択します。 |
左から右方向に範囲を選択する方法は、同じ空間にたくさんのオブジェクトがあり、1 つの Street Graph Nodes だけを選択するなど、小さいオブジェクトを選択するときに使います。
Modifier キー
Ctrl キーと Shift キーで選択モードの切り替えを行うことができます。このモードは、ツールバーの Select ツールのサブメニューにもリストされています。
選択コンテキスト メニュー
選択を行うと、画面を右クリック → コンテキスト メニューから追加のエレメントを選択できるエントリが表示されます。
選択アイテムについての詳細は以下の表をご参照ください。
選択モード | 選択エレメント |
---|---|
Select Objects of the same Type: | 同じタイプ(シェープ、グラフ ノード)オブジェクトを選択 |
Select Objects of the same Group | 同じブロック、道路のオブジェクトを選択 |
Select Objects with the same Rule File | ファイルがアサインされていて、表示がオンになっているレイヤーのオブジェクトを選択 |
Select Objects with the same Start Rule | 同じスタートルールがアサインされていて、表示がオンになっているレイヤーのオブジェクトを選択 |
CityEngine ではどのように 3D モデルを生成するのでしょうか?
CityEngine はプロシージャル モデリング アプリケーションです。つまり、CityEngine は 3D モデルを生成するのにルールを使用します。
本チュートリアルの Part 1 でルールとアセットをコピーしたため、ルールは既に用意されています。このルールをアサイン(割り当て)します。
Block(街区)を 1 つ選択し、[Inspector] ウィンドウの [Subdivision Parameter] を
[Recursive Subdivision] から [Offset Subdivision]
に変更します(Block Subdivision (ブロック分割)やダイナミック
シティ レイアウトについては Tutorial 2 で詳しく学習します)。
ブロック内のシェープを 1 つ選択し、右クリック → [Select] → [Select Objects of Same Group] を選択します。
rules フォルダーのBuilding.cga ルール
ファイルを、選択したフィーチャ(本例では、下図のオレンジの部分)にドラッグ
& ドロップします。
シェープにルールをドロップすると、モデル生成が自動的に開始します。生成後のモデルは、下図のようになっているはずです。モデルが表示されない場合は、モデルの表示がアクティブになっているかを確認します。F12 キーを押して切り替えることができます。
生成したモデルは、モデルを選択後、右クリック → [Delete Models] を選択することで削除できます。
モデル削除をした場合は、再度シェープを選択し、[Generate] ボタンをクリックすると、モデルを再生成できます。ショートカット キーとして、Windows または Linux の場合は Ctrl + G キー、Mac OS の場合は command + G キー を押してモデルを生成することもできます。シード値が異なる新しいバリエーションの建物が生成されます。
ツールバー上の [Update Seed]
ボタンを使用してモデルを再生成することもできます。ショートカット
キーとして、Windows または Linux の場合は Ctrl + Shift+ G
キー、Mac OS の場合は、Command + Shift + G
キーを利用することもできます。
下図はシード値が異なるモデルの例です。
[Inspector] ウィンドウで building 欄の
height(高さ)パラメーターを変更して、手動で編集することもできます。
[Inspector] ウィンドウで一度属性を変更すると、値が太字になり、ルールの定義が上書きされます。
[Inspector] ウィンドウで属性の横にある矢印を右クリック → [Reset userattributes] をクリックして、building.cga
ルール定義の属性をリセットします。
CityEngine のルール システムは、CityEngine 専用のスクリプト言語である CGA コードを使用します。CGA はスクリプト言語のため、現代から近代、古代から未来などのあらゆるタイプの 3D 都市モデルの生成に、包括的に柔軟に対応することができます。
ここまで使用してきたルール ファイルの中身を見てみましょう。
[Navigator] ウィンドウでプロジェクトの rules フォルダー内にある
building.cga ルール ファイルをダブルクリック、または [Inspector]
ウィンドウの [Rule File] をクリックしてルール ファイルを開きます。
attr height = rand(15,25)
上図で生成されたモデルの高さはランダム値で 22.82です。
attr height = rand(15,80)
これで、高さのランダム値は 15 から 80 の間で定義されました。
メニュー ツールバーの [Save] ボタン、または Ctrl + S キーを押して、ルールを保存します。
[Update Seed] ボタン、または Ctrl + Shift + G
キーで建物を再生成します。
[Inspector] ウィンドウで確認すると、この建物の高さは 51.27
のランダム値を持っています。
Update Seeds ボタンを押す理由としては、高さがランダム値であり、建物を再生成する際にランダム シード値を更新するときに必要なためです。
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. ルールを保存します。