Blender 2.8 – オブジェクトの位置によって色を付けたい

注意

この記事は2019/11/24から「はてなブログ」で公開したものをWordPressへ引っ越したものになります

やりたいこと

  • オブジェクトの色を、配置する座標によって変更する
  • ノードの「オブジェクト情報」の理解

参考にしたもの

参考にしたYoutube動画

まっっったく何を言っているか分からないぜ!(だけど、手順はわかる)

つまりどういうことだってばよ

  • オブジェクト情報の「位置」をコンバーターの「XYZ分離」につなぐと
    オブジェクトのXYZそれぞれの座標が取得できる
  • どう色付けしたいかは、コンバーターの「カラーランプ」に設定する
  • カラーランプの左端の色は係数が「0」の時に選択され、右端の色は「1」の時に選択される
  • 除算でうまいこと座標の値を0~1の値にして、グラデーションにする

手順

Step1. オブジェクトの追加

座標(0,0,0)にオブジェクトを追加します。
この例では立方体を追加し、見やすいように角をベベルで丸めました。

Step2. 配列でオブジェクトを増やす

モディファイヤー「配列」を追加して、オブジェクトを複製します。
画像では、「配列」を2つ追加して、それぞれX座標に10個、Y座標に10個複製しています。

Step3. モディファイヤーを適用

マテリアルが設定されている事を確認してから、「配列」モディファイヤーを「適用」します。

この時点までにマテリアルを設定しておかないと、後で個別にマテリアルを設定するという面倒な作業が発生するので注意されたし。(複数オブジェクトに同一マテリアルを一括で設定する方法があるかも)

Step4. 1つのオブジェクトから複数のオブジェクトに変える

編集モードにして、キーボードの「P」を押します。
さらに、表示された分解メニューの中から「構造的に分離したパーツで」を選択します。

これにより、今までは配列で複製した立方体全部で1つのオブジェクトだったものが、1つ1つの立方体で、個別のオブジェクトになりました。
シーンコレクションを見ると、オブジェクト化された立方体が、ずらっと羅列されているかと思います。

Step5. 各オブジェクトの原点を設定する

オブジェクトモードに変更し、すべての立方体を選択状態します。
さらに、「オブジェクト>原点を設定>原点をジオメトリへ移動」を選択し、原点を各立方体へ移動させます。

この作業をしないと、オブジェクト分割前の値を引き継ぐため、全てのオブジェクトの原点の座標は0になったままになります。
私はこの作業を忘れたので、全てのオブジェクトの位置が同じと判断されてしまい、その結果、レンダリングしても、色が変わりませんでした。

Step6. X軸の最大値を確認する

X軸の最大値を取るオブジェクトを選択し、座標の位置を確認します。
画像では「18m」です。

Step7. マテリアルの設定をする

シェーダーエディターで、マテリアルのノードを画像のように繋げます。
除算で入力する値は、前手順でメモしたX座標の最大値(18)1を入力します。
※ ついでにスペキュラーの値を落としておくと、反射がなくて見やすくなります。

Step8. レンダーを実行する

ライトやカメラ等調節して、見やすい角度でいざレンダー。
X座標が0から増えるにつれて、色がカラーランプで指定した通りに変化しているのがお分かり頂けるだろうか…。

座標ではなく、ランダムで色を付けたい場合は…

公式サイトのマニュアルに例がありました。
オブジェクト情報の「ランダム」の部分を、カラーランプの係数に繋げば良いようです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA