ラベル Color の投稿を表示しています。 すべての投稿を表示
ラベル Color の投稿を表示しています。 すべての投稿を表示

2024年7月14日日曜日

ARTマテリアル~色・粗さ

金属

ARTマテリアルには様々なパラメータがあります。代表的なパラメータの働きについて理解しましょう。ベースとなるARTマテリアルのうち「金属(メタル)」は最もパラメータ数が少なく、初心者にの理解には最適です。

反射色のこと。光を当てた時その金属が何色に見えるのかを示します。例として

  • アルミニウム    R:245 G:245 B:246
  • 真鍮                R:243 G:203 B:124
  • ステンレス       R:203 G:203 B:203  
等の計測値が公開されています。
ステンレスを例としてマテリアルを作成してみましょう。

マテリアル作成手順

  1. 管理タブ>設定パネル>マテリアル でマテリアルブラウザを開き、左下の[新しいマテリアルを作成]を選択。

  2. アイデンティティタブで名前を[ステンレス1]とする
  3. 外観タブで[このアセットを置き換えます]を選択し、アセットブラウザを開く

  4. [外観ライブラリ]を選択し、検索ボックスに「ベース」と打ち込んで検索。
  5. [ベースマテリアル - メタル]をダブルクリック、または右端の矢印ボタンをクリックし、マテリアルブラウザに表示して閉じる
    ダブルクリック または 矢印ボタンをクリック

  6. マテリアルブラウザで[このアセットを複製します]ボタンをクリック
  7. 情報パネルを展開し、名前を設定。ここではマテリアルの名前と同じにします。
    アセットを複製して名前をつける

  8. パラメータパネルの色ボックスをクリックして、R:203 G:203 B:203に設定
  9. 粗さを0にする

  10. OK
これを適用し、次のような格子模様の床の上にキューブとして配置し、

レンダリング(高)をかけてみました。反射している床面の色が設定した「色」に染め上げられていることに注目してください。
反射に色が反映されている
アルミや真鍮も同様にマテリアルを作成してレンダリングみると
左からステンレス、アルミ、真鍮

色を設定する効果がわかります。

粗さ

粗さとは、表面の微妙な凹凸のことで、結果として反射の精度に現れます。ここまでは「粗さ」の値を0にしたので、床面に施された格子は正確に面に表現されています。
粗さの値は0~1の範囲で設定します。値を変えて結果を見てみます。
粗さ=0.1

粗さ=0.2


粗さ=0.5


粗さ=1.0
粗さを1にすると完全にマットな質感となりステンレスらしさが失われていますね。

粗さのテクスチャマップ

「粗さ」は数値(0~1)で全体の販社の粗さをコントロールできますが、グレースケール画像を使って粗さをマッピングすることもできます。
マテリアルブラウザの粗さの右端の矢印をクリックしてイメージを選択します。
粗さにイメージを設定する
そして、例えば次のような画像を指定します。

これは、Autodesk Materialライブラリに含まれる画像の一つです。("C:\Program Files\Common Files\Autodesk Shared\Materials\Textures\1\Mats\brush_long_bump.png")
黒のピクセルは鏡面のような仕上げを表し、白のピクセルはマット仕上げを表します。グレーのピクセルは、その中間です。
この画像を前回のテクスチャマップと同様の方法で画像調整を行います。

黒が鏡面仕上げになるのでイメージを反転させてみました。レンダリング結果はこのようになりました。


色と粗さの働きについては以下のヘルプに詳細に記載されていますので、ぜひご覧ください。

2018年9月24日月曜日

スラブのレベルごとに色分けする

パラメータの値で色分けするには?

躯体図や構造伏図でスラブをレベルごとに色分けできるとわかりやすいのですが、その方法としてはフィルタを使う方法があります。しかしながら、「レベル高さからのオフセット(2018)」の値を指定しなくてはいけないので、新しい値が発生するたびにフィルタを追加する必要があります。
ダイナモを使って、ダイナミックに色を更新してみましょう。
床のパラメータの値で色分けするには?

Dynamo:現在のビューに表示されている床を選択する




  1. [Revit]>[Views]>[View]>[All Elements In Active View]①
  2. [List]>[Modify]>[RemoveIfNot]②を追加し、①のelementsとlistを接続。
  3. [Input]>[Basic]>[String]を追加し、「Floor」と設定し、②のtypeに接続。
これで現在のビューに表示されている床をすべて選択できました。

Dynamo:パラメータの値を取り出す


  1. [Revit]>[Element]>[GetParameterValueByName]③を追加し、②のVar[]..[]とelementを接続。
  2. [Input]>[Basic]>[String]を追加し、「レベルからの高さオフセット」と設定し、③のparameterNameと接続。
パラメータの名前は各バージョンで異なりますので、床を選択してパラメータの名称を確認してください。

Dynamo:色範囲を設定する

取得した値を色に割り当てます。そのために割り当てる「色の範囲」を決めます。今回は一番低い値を赤、一番高い値を青色としてそのグラデーションを使ってパラメータの値を表現してみましょう。

  1. [Input]>[Basic]>[Number]①を二つ追加し、それぞれ「0」と[255]を入力。
  2. [Display]>[Color]>[ByARGB]②をつ追加。
  3. ①の255を②のrと接続し、g、bを①の0のノードと接続。これが赤です。
  4. [Display]>[Color]>[ByARGB]をもう一つ追加。
  5. bに255のノードを、他を0のノードと接続。これが青です。
  6. [List]>[Generate]>[List Create]を追加し、[+]をクリックしてItem1を追加。
  7. item0に赤、item1に青を接続
  8. [Display]>[Color Range]>[Color Range]を追加し、List Createのlistをcolorsに追加。
カラーが左から右に向かって赤から青へ色が変化していることを確認してください。エラーになりますが気にしないでください。

Dynamo:パラメータの値を0~1に再割り当てする


Color Rangeのvalueは0~1の値しか受け付けないので、取得したパラメータの値を0から1の値に再割り当てする必要があります。

  1. [Math]>[RemapRange]を追加し[Element.GetParameterValueByName]のvar[]..[]とnumberを接続。
  2. Input]>[Basic]>[Number]を二つ追加し、それぞれ「0」と[1]を入力。
  3. [RemapRang]のnewMinに0、newMaxに1を接続。
これで、パラメータの値が、0~1の値に再割り当てされます。

Dynamo:要素の色付け

現在のビューで要素を色付けしてみます。

  1. [Math.RemapRange]のlistを[Color Range]のvalue に接続。
  2. [Revit]>[Elements]>[Element]>[OverrideColorInView]を追加し、[Color Range]のcolorをcolorに接続。
  3. [List.RemoveIfNot]のvar[]..[]をelementに接続。
以上で、現在のビューにある床をレベルごとに色分けすることができました。

試しに、床の「レベルからのオフセット」の値を変更してみると・・・

色が自動的に再割り当てされることがわかります。これはもちろん3Dビュー(隠線処理・シェーディング・べた塗りのみ)でも有効です。

こちらのグラフを参考にしていろいろと試してみてください。