BlenderのCyclesでランダムな色のマテリアル

先日、画像編集ソフトを使って間違い探しにチャレンジという記事を投稿しました。そこで使ったサンプル画像作成するため、Blenderでランダムな色を表示する方法を調べたので簡単に紹介してみようかなと思います。

オブジェクト毎にランダムな色

まずはオブジェクト毎にランダムな色を設定する方法です。

Node Editorで次のような感じに設定します。

Object InfoのRandomという値を使ってColorRampで変換しています。

面(face)毎にランダムな色

続いて、面(face)毎にランダムな色を設定する方法です。

こちらは少しややこしいですが、GeometryのNormalという値とObject InfoのRandomを組み合わせてランダムな色を作ってみました。途中でBright/Contrastを使っているのは、色の調整です。

若干偏りのあるランダムになっています。

リンク

Vector Math Node — Blender Manual
https://docs.blender.org/manual/en/dev/render/cycles/nodes/types/converter/vector_math.html

Noise Texture Node — Blender Manual
https://docs.blender.org/manual/en/dev/render/cycles/nodes/types/textures/noise.html

Blenderで使わなくなったMaterialやTextureの削除方法

Blender で作業していて、使わなくなった Material や Texture が増えてきて困ったことはありませんか?

そういう場合は次のようにして削除できます。

使っていない Material の削除方法

「Python Console」から次のコマンドを実行します。

for material in bpy.data.materials:
    if not material.users:
        bpy.data.materials.remove(material)

使っていない Texture の削除方法

「Python Console」から次のコマンドを実行します。

for image in bpy.data.images:
    if not image.users:
        bpy.data.images.remove(image)

ちなみに

作業が仕辛いとかの支障がないなら基本的に削除する必要はありません。というのも、ファイルを保存してもう一度開き直したら使っていない Material や Texture は削除されるようになっているからです。