====== 寄木細工の床を作る ====== \\ ==== チュートリアルビデオ ==== \\ {{youtube>qZfXVu17zk4?large}} {{youtube>KJZltjEMRlA?large}} {{youtube>X224b1hfnaY?large}} \\ ==== イントロダクション ==== このクイックヒントのチュートリアルでは、RailCloneを使用して個々の厚板から寄木細工の床をモデル化する方法について説明します。2D配列ジェネレータは、境界を定義するために単一の囲まれたスプラインのみを使用して多種多様な床パターンを作成する優れた方法を提供します。RailCloneのパラメトリックパターンベースのモデリング手法を使用することで、多くのパターンの寄木細工を簡単に作成できます。RailCloneはレンダラーのネイティブジオメトリシェーダを使用してその場でインスタンスを作成するため、メモリ消費やレンダリング時間を大幅に増やすことなく大規模な領域を作成できます。 \\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_floors_3_examples_small.jpg |}} \\ \\ このチュートリアルを完了すると、次のことが可能になります * 1つの囲まれたスプラインから2次元配列を作成する * 再利用可能なフローリングスタイルを作成する * ConditionalオペレータとSequenceオペレータを使用する * パディングと絶対値のトランスフォームを使い厚板を配置・整列させる * expandパラメータを使い筋交いのパターンが周囲の周りにスペースを残さないようにします。 \\ \\ [[https://www.itoosoft.com/download.php/railclone_tutorial_parquet_floor.zip|チュートリアルファイルのダウンロード]] \\ ==== ジオメトリの準備 ==== 床のジオメトリを準備するときは、行と列の観点から考えるのが最善であり、場合によっては新しいスタイルを作成する前に板を回転させることが理にかなっています。このような場合は、ローカル座標系がワールドに揃うようにXFormをリセットするか、ピボットを調整してください。下の図は、このチュートリアルで扱っている3つのスタイルのジオメトリの配置を示しています。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_segments.jpg |}}\\ \\ \\ ==== スタイル1:ストリップ(Strip) ==== {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_strip_node.png |}} \\ \\ シンプルなストリップフローリングはRailCloneで簡単に作成できます。このチュートリアルをさらに簡単にするために、必要なすべてのセグメントが追加されたシーン内にRailCloneオブジェクトがあります。このスタイルでは、conditionalオペレータを使用して、他のすべての行の最初のセグメントがオフセットパターンを作成するために半分の長さの板になるようにします。 \\ - **RC_strip_flooring**を選択して、スタイルエディタを開きます。\\ \\ - SplineノードをA2Sジェネレータの**Clipping Area**入力に接続し、シーンから「**Rectangle 1**」を選択します。\\ \\ - A2Sジェネレータのプロパティから、**Extend X/Y Size to Array**をオンにします。この機能は、クリッピング平面を完全にカバーするのに十分なサイズの配列を自動的に作成して配置します。この手法を使用すれば、スタイルのXとYの寸法を手動で定義する必要はありません。\\ \\ - 新しい**Material**ノード({{:itoo:rc:tute:material.png}})を作成し、最小値と 最大値を1と36に設定します。RailCloneオブジェクトに既に適用されているテクスチャには、VRayMultiSubTexマップを使用して36の別々の床テクスチャが適用されていますが、マテリアルIDを使用する任意のマップまたはマテリアルを使用できます。材料ノードを発電機のデフォルト入力に配線します。\\ \\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_materialid.png |}}\\ \\ - 新しい**Conditional**オペレータを作成して**Segment > X Counter**をオンにして**Equel 1**に設定します。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_conditionalset1.png |}} \\ \\ - 「Full Length」セグメントを**conditional**オペレータの**False**入力に接続します。\\ \\ - **Sequence**オペレータを作成し、**Increment At**を **[Y]**に設定します。先程作成したConditionalオペレータの**True**入力に接続します。{{ :itoo:rc:tute:tutorial-create-a-parquet-floor_incrementy.png |}}\\ \\ - 両方のセグメントを**Sequence**オペレータに接続します。これで一般的なレンガパターンが作成されます。\\ \\ - パターンをより多様化したい場合は、セグメントのX Scale値をランダム化することができます。両方のセグメントで、**Properties > Transform > Random** に移動し、[**Scale**]をオンにします。**X**の**最小値**(左のボックス)に**80**を**最大値**(右のボックス)に**120**を設定します。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_translation2.png |}}\\ \\ - ボードに少しばらつきを加えたい場合は、**Properties > Transform > Random > Translation**をオンにし、最大値を**0.003m**に設定します。一般に、新しいフロアでは、この値を非常に小さくすべきです。床が老化している場合は、より荒れ果てた外観を与えるために値を大きくすることをお勧めします。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_translation.png |}}\\ \\ \\ {{ :itoo:rc:tute:parquet-floor_00.png |}} \\ ==== スタイル2:シェブロン(chevron) ==== {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_chevron_node.png |}} \\ シェブロンスタイルは今ままでのものと少し異なり厚板が山型になっていますが、単純にジグザグのある行を作成し、TopのPaddingパラメータを使用してオーバーラップを作成することで、このパターンを比較的再現しやすくすることができます。時間を節約するため、RailCloneオブジェクトにはすでにSplineオブジェクトとMaterialオペレータが用意されています。これらのステップを修正したい場合は、先のストリップパターンチュートリアルのステップ1〜4を参照してください。 \\ \\ - 「**RC_chevron_flooring**」を選択し、スタイルエディタを開きます。A2Sジェネレータの**Extend X/Y Size to Array**をオンにします。\\ \\ - 新しい**Compose**オペレータを作成し、それを**Material**オペレータに接続します。\\ \\ - 「**Plank**」セグメントをComposeオペレータの最初の入力スロットに接続します。\\ \\ - 新しい**Mirror**オペレータ({{:itoo:rc:tute:mirror.png}})を作成し、「Plank」セグメントを接続します。Mirrorノードの出力をComposeオペレータの2番目の入力に接続します。\\ \\ - ジグザグのパターンが表示されますが、間のスペースが大きすぎる場合は、セグメントの**Properties> Padding> Top**の値を-0.353mに設定します。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_padding1.png |}}\\ \\ - この場合のように一部のパターンでは、クリッピングパスの境界線の周りにスペースが残る場合があります。これを修正するには、A2Sジェネレータのプロパティに移動し、**General> Clipping Area> Expand**の値を**7%**に増やします。この機能は、「Extend X/Y Size to Area」を有効にすることによって自動的に計算されたアレイの物理サイズを大きくします。\\ {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_expand.png |}}\\ \\ - **Segment > Properties > Transform > Random**に移動して**Translation**をオンにし、セグメントのZ位置に小さなバリエーションを追加します。**最小値**に**-0.001m**、**最大値**を**0.005m**を設定します。\\ \\ \\ {{ :itoo:rc:tute:parquet-floor_03.png |}} \\ ==== スタイル3:ヘリンボーン(Herringbone) ==== {{ :itoo:rc:tute:tutorial-create-a-parquet-floor_herringbone_node.png |}} \\ \\ ヘリンボーンパターンは、2枚の厚板から簡単に作成できます。このパターンを作成するために、上で説明した原理を使用して最初のジグザグパターンを作成しますが、この例では、TransformとPaddingの設定を使用して行と列をオーバーラップさせます。\\ \\ - 「**RC_herringbone_floor**」を選択し、Displayロールアウトの**Disable object**をオフにした後でスタイルエディタを開きます。\\ \\ - 新しい**Compose**オペレータを作成し、それを**Material**オペレータに接続します。\\ \\ - Plank 1 、Plank 2の順番でCOmpeseノードに接続します。\\ \\ - セグメントの配置を正しく開始するには、Plank 2の **Properties > Transform > Translation > Y**の値を**0.072m**に設定します。\\ \\ - 両方のセグメントのプロパティでPaddingのRightを**-0.068m** 、Topを**-0.355m**に設定します。\\ \\ - ジェネレータの **Properties > Clipping > Expand**の値を**7%**に設定します。\\ \\ - セグメントの **Properties> Transform> Random> Translation**をオンにして **Z**の**最大値**を**0.003m**に変更し、バリエーションを追加します。 \\ {{ :itoo:rc:tute:parquet-floor_02.png |}} \\ このチュートリアルでは、一般的な寄せ木模様を作成するために必要な多くのテクニックについて説明しました。\\ 同様のテクニックは、可能なスタイルの巨大な範囲で動作し、タイル、舗道、天井などにも同様に使用できます。スタイルを作成したら、それをカスタムライブラリに保存することで簡単に再利用できます。\\