====== 海辺の遊歩道 ====== {{youtube>Vc_CWRsxq1s?large}} \\ \\ ==== イントロダクション ==== RailCloneを使用して独自の1次元および2次元配列を作成することは、いくつかの簡単な仕組みを理解してからでないと簡単にはできません。このチュートリアルでは、上記の海辺の遊歩道のイメージを再現し、RailCloneの最も頻繁に使用される機能を紹介します。このチュートリアルは、次のセクションに分かれています。 * スタイルライブラリを使用する * 新たにスタイルを作成する * 1つのスプラインから2次元配列を作成する * 2つのスプラインから2次元配列を作成する \\ \\ このチュートリアルを開始するには、[[https://www.itoosoft.com/download.php/railclone_tutorial_seaside_promenade_vray.zip|ここ]]からシーンファイルをダウンロードします。これらのファイルはRailCloneとForest Packの最新バージョンがインストールされている必要があります。このチュートリアルの大部分はLite版でも完成します。ファイルには、このチュートリアルを完了するために必要なすべてのオブジェクトが含まれています。V-Rayと互換性があります。 \\ このシーンファイルのmental ray版は[[https://www.itoosoft.com/download.php/railclone_tutorial_seaside_promenade_mray.zip|ここ]]よりダウンロードが可能です。\\ \\ \\ ※このチュートリアルでは、RailClone Proが必要です。 \\ \\ ==== スタイルライブラリの使用 ==== RailCloneには、あらかじめ定義された280種類以上のスタイルが用意されており、共通のオブジェクトをシーンに簡単に追加できます。ビルトインのスタイルには、道路、縁石、歩道、鉄道線、橋、街路灯、ダクト、トラス、カーテンウォールシステム、劇場の座席、ハンドレール、足場、壁などがあります。 \\ \\ - シーンファイルを開きます。在のシーンには、Forest Packを使用して作成されたすべてのツリー、遠くのヘッドランドに設置された建物を含む、いくつかのエレメントが既に配置されています。また、舗道、欄干、ツタ、ランプを含む、RailCloneを使用して防波堤を作成するために必要なすべてのスプラインとオブジェクトがシーンにあります。 - 作成パネルから**Itoo Software**を選び、**RailClone**を選択して新しいRailCloneオブジェクトを作成します。\\ {{ :itoo:rc:tute:tutorial-building-a-masonry-wall_rc_tut_wall_newrailclone.png |}} \\ ビューポートで、シーン内の任意の場所に新しいRailCloneオブジェクトをドラッグするとRCアイコンが作成されます。これは、RailCloneオブジェクトが現在ジオメトリを生成していないときに表示されます。\\ \\ - 修正パネルを開き、新しいオブジェクトの名前を**rc_fence**に変更します。\\ \\ - **Style**ロールアウトからライブラリブラウザを[none]と表示されているボタンをクリックして開きます。スタイルを作成するとこのボタンにスタイル名が表示されます。\\ {{ :itoo:rc:tute:tutorial-building-a-masonry-wall_rc_tut_wall_open_library.png |}} \\ \\ - ライブラリブラウザの左側にあるファイルナビゲータから、**Library > Architecture > Exterior > Fences > Iron Handrail 4**を選択します。ダブルクリックまたは[Import Selected]または右クリックして[Use Item(s)]のいずれかを選択してスタイルを作成します。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p1_5.png |}} \\ \\ - スタイルがロードされると、Styleロールアウトでプレビューイメージと名前が更新され表示されます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p1_6.png |}} \\ \\ - このスタイルでは、ベースオブジェクトとパラメータのロールアウトに必要な入力がロードされます。この場合、スタイルはそのパスを決定するためにスプラインが1つ必要です。**Base Objects**のロールアウトに移動し、リストから**「Path」**を選択します。プロパティセクションから"none"をクリックしてスプライン選択ツールをアクティブにし、シーンから**「line_railing」**という名前のスプラインを選択します。\\ {{ :itoo:rc:tute:seasidepromenade_00.png |}}\\ \\ ハンドレールがシーンに作成されました。最後に、マテリアルをデフォルトの黒色のメタルから濃い緑色に調整します。 \\ \\ - マテリアルエディタを開き、[マテリアルをオブジェクトから選択]を使用して、新しいハンドレールのオブジェクト上のマテリアルを選択します。これは、RailCloneライブラリの複数のハンドレールに使用されるマルチ/サブオブジェクトのマテリアルです。\\ \\ - **「Black Metal 1」**(マテリアルID:2)というマテリアルをダブルクリックします。\\ \\ - diffuse colourを **赤(R):3 緑(G):23 青(B):7** に変更します。\\ \\ シーンをレンダリングすると、シーンの左側に緑色のハンドレールが表示されます。このセクションでは、RailCloneオブジェクトを作成し、スタイルライブラリをナビゲートし、ライブラリスタイルをインポートし、ベースオブジェクトを選択し、マテリアルを調整する方法を学習しました。次のセクションでは、新しく1次元配列を作成し、歩道の右側にある欄干のスタイルを作成します。 \\ \\ \\ ==== 新たにスタイルを作成する ==== このセクションでは、以下の4つのセグメントの画像を使用して新しいスタイルを作成します。5m間隔で規則的に配置された柱に挟まれた欄干を繰り返すような1つのスプラインに沿って配列するルールセットを作成します。ランプは他のすべての柱の上に配置されます。このセクションを完了すると、次のことができるようになります。 * 新しいlinearアレイを作成する * 1つのスタイルで複数のジェネレータを使用する * composeオペレータを使用する * Composeオペレータの順序を逆にする * パディングを使用してオーバーラップを調整できるようにする * 規則的な間隔でセグメントを配置することができる * RailCloneのボックスマッピング機能を使用する \\ 欄干とランプのノードツリー \\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_1.png |}} \\ RailCloneルールセットまたはGenerator(青色)は、次のようにいくつかの入力があります。\\ \\ \\ \\ セグメント(オレンジ)は、ジェネレータで設定されたルールに従って配列されるシーンから選択されたメッシュです。 スプライン(緑色)は、1次元または2次元の配列のパスを決定するために使用されます。 パラメータ(赤色)は、スタイルに含まれる値に変換し、パラメータ間の調整可能な算術関係を構築します。 - パート1で説明しているように、作成パネルから **Itoo Software**に移動し、**[RailClone]**ボタンを選択して、新しいRailCloneオブジェクトを作成します。 - 新しいスタイルを作成するには、ノードベースのスタイルエディタを使用します。**Style**ロールアウトの[Open Style Editor]ボタン({{:itoo:rc:tute:editstyle.png}})をクリックして開きます。\\ - 新しいLinear 1S(L1s)ジェネレータを、エディタの右側にあるアイテムリストからコンストラクションビューにドラッグして作成します。\\ \\ - アイテムリストからコンストラクションビューに**Spline**オブジェクトをドラッグして、新しく**Spline**ノードを作成します。Splineノードに"Balustrade path"という名前を付け、上記の画像のようにL1Sジェネレータの**Spline**入力に接続します。\\ \\ - シーンからスプラインを選択するには、Modifyパネルの**Base Objects**ロールアウトに移動します。「Balustrade path」をリストから、選択し、ピックボタンでシーンから「BaseLine」を選択します。\\ \\ この欄干は、柱、繰り返される中間部分、および2つの間に大きなスペースを作るために使用されるフィラーの3つのセグメントで構成されています。下の図に示すように、柱とフィラーを組み合わせて3つの複合オブジェクトを作成します。作成オペレータを使用して、これらがどのように作成されるかを見ていきます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_6.png |}}\\ \\ - スタイルエディタに戻って、3つの新しいセグメントオブジェクトをアイテムリストからコンストラクションビューにドラッグして追加します。// // - 新しいセグメントの1つを選択し、左側のプロパティエディタでオブジェクト選択ボタンをクリックし、シーンから**「Balust_Post」**オブジェクトを選択します。{{ :itoo:rc:tute:seasidepromenade_01.png |}}\\ \\ テストをする為にオブジェクトをスプラインの小さな部分に制限することができます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_nb1.png |}} \\ 多数のセグメントを処理する場合、RailCloneはジオメトリをプロキシに自動的に置き換えるか、Point-Cloudディスプレイを使用してビューポートのパフォーマンスを維持します。しかし、新しいスタイルを作成するときは、完全なジオメトリが期待どおりに生成されていることを確認し、セグメントの正確な配置を可能にすることがしばしば重要です。これを行うには、スタイルを作成している間に一時的により短いスプラインを使用するか、RailCloneオブジェクトを既存のスプラインの小さなセクションに限定させます。以下の手順を使用してチュートリアル全体でこのテクニックを使用します。\\ \\ * Base Objectのロールアウトから、制限したいスプラインを選択します * **Full Length**をオフにします。ジェネレータで使用されるスプラインの長さは、開始および長さのコントロールによって制御されます。 * **Start**の値を手動で調整するか**[Pick]**ボタンを使いシーンをクリックして開始点を決めることができます。 * **Length**で長さを調整できます。シーン単位で上のStartからの長さです。**[Pick]**ボタンを使用してシーンからポイントを選択することができます。 \\ - **Base Objects**ロールアウトから**Full Length**をオフにして、生成を制限します。**Start**に 40 m、**Length**に20 mを設定します。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_8.png |}}\\ \\ - **Display**ロールアウトに移動して、モードを**Mesh**に変更します。\\ {{ :itoo:rc:tute:seasidepromenade_02.png |}} \\ \\ - 残りの2つのSegmentオブジェクトはシーンから**「Balust_Joint」**と**「Balust_Mid」**オブジェクトをそれぞれ割り当てます。\\ \\ - 「Balust_Mid」セグメントを**L1Sジェネレータ**の**Default**入力に接続します。\\ \\ - アイテムリストからコンストラクションビューにドラッグして、新しい**Compose**オペレータ({{:itoo:rc:tute:compose.png}})を作成します。名前を**「Corner Compose」**に変更します。\\ \\ - コーナー部分を作成するには、新しいComposeオペレータにBalust_Joint、Balust_Post、Balust_Jointの順にセグメントを接続します。Composeの出力をL1Sジェネレータの**Evenly**入力に接続します。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_13.png |}}\\ \\ - 始端部分を作成するには、新しいComposeオペレータを作成し、"Start Compose"という名前に変更し、Balust_Post、次にBalust_Jointの順番で接続します。出力をジェネレータの**Start**入力に接続します。\\ \\ - 最後に、終端部分を作成するために、前のComposeオペレータの順序を反転させることができます。これを行うには、アイテムリストからドラッグして新しい**Reverse**オペレータを作成します。Start Composeの出力を新しいReverseノードに接続し、このReverseノードの出力をジェネレータのEnd入力に接続します。\\ \\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_15.png |}}\\ スタイルのこの部分はほぼ完成していますが、ジョイントジオメトリと柱の間にギャップがあります。次のステップでは、パディングを調整してこれを修正し、Box Mappingをオンにして隣接するセグメント間でシームレスなテクスチャを作成します。 === Box Mapping === RailCloneのBox Mapping機能を使用すると、隣接するいくつかのセグメントにシームレスにタイルするUV空間を適用することができます。下の図では、上の画像は各セグメントの個々のUV座標を使用しています。上の例ではテクスチャのリピートが確認できます。下の例では、テクスチャが複数のセグメントにわたって適用されるように、ボックスマッピングが調整されています。このようにはっきり見えるテクスチャのリピートを避けることができます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_rc_mapping.png |}} \\ \\ ボックスマッピングを使用する場合、任意のマテリアルIDをターゲットにして、シーン単位で長さ、幅、高さを設定するか、現実世界と同じサイズのマップを使用することができます。 \\ - 各Segmentノードで、Properties> Deform> Mappingの順に進み、**Apply Box Mapping**をオンにします。テクスチャも実世界のスケールを使用するように設定されているため、**Real World Mapping**の適用もオンにします。\\ \\ - 同じメニューから**Slice**と**Bend**が 「Balust_Mid」セグメントでにオンになっていることを確認します。\\ \\ - 「balust_post」セグメントの配置を柱のオブジェクトの中央を基準にするには、 **Properties > General > Alignment** に移動し、**X**を**[Center]**に変更します。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_18.png |}} \\ - ジョイントと柱の間のギャップを削除するにはに行く「Balust_Post」セグメントのProperties>General>Padding で、**Left**と**Right**の値をする**-0.04m**に設定します。負の値を指定すると、隣接するセグメントをより近くに移動してギャップを閉じます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_19.png |}} \\ \\ - 柱の間の間隔を変更するには、**L1S**ジェネレータを選択しに、**Properties > Rules > Evenly** の**Distance**を**5m**に変更します。\\ \\ - イメージをレンダリングすると、パス上に石の欄干が表示され、均等に5mの間隔で柱が表示されます。次に、他のすべての柱の上部にランプを追加します。\\ \\ - Balustradeオブジェクトを選択し、スタイルエディタを再度開きます。既存のL1Sジェネレータを複製しランプを作成します。右クリックして**[copy]**を選択し、次にコンストラクションビューの任意の場所を右クリックして**[Paste]**を選択します。\\ \\ - 既存の**Spline**オブジェクトを新しいジェネレータの**Spline**入力に接続します。\\ \\ - 新しい**Segment**オブジェクトを作成し、シーンから**「Ramp」**を選択します。これを新しい先程複製したジェネレータの**Evenly**入力に接続します。\\ \\ - このままだとランプが柱に埋まっているのでこれを修正します。ランプセグメントの**Properties > Transform > Translation> Z** の値を1.094mに調整し、**Rotation**を90度回転させます。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_24.png |}}\\ 左:調整前 右:Zの値を1.094mに調整 \\ - **Properties > Deform**に移動し、**Bend**と**Slice**をオフにして**Use Real World Map Size**をオンにします。 \\ \\ - 2つの柱ごとにランプを作成するには、新しいジェネレータの**Distance**を10mに設定します。柱とランプが同じ場所に配置されるように**Justify**をオフにします。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_26.png |}}\\ \\ - シーンマテリアルにアクセスし、新しいRailCloneオブジェクトに"Stone"という名前のマテリアルを適用します。これは、壁やランプに必要なすべてのシェーダを含むマルチサブオブジェクトです。\\ \\ - 最後に、スプラインの長さで表示するには、**Display**ロールアウトに行き、モードを**Points-Cloud**に設定してから**Base Objects**に移動し、**Full Length**をONにします。\\ {{ :itoo:rc:tute:tutorial-create-a-seaside-promenade_sp_p2_end.png |}} \\ [[https://www.oakcorp.jp/itoo/rc/tute/seasidepromenade-2|パート2]]に続く