2013年

7月

06日

BlenderのCyclesレンダリングを試したかっただけ

Blender2.61から搭載されてたらしいですね

恥ずかしながら、最近まで機能の存在を全く知りませんでした・・・・・・

 

というわけで折角なのでやってみることにしました。

Cyclesレンダリングについては情報が豊富に転がってるので、私と同じく知らない人は「Blender Cycles」でググってみましょう。

Cyclesレンダリングに切り替える

やり方はとっても簡単。Blenderを起動したらレンダリングエンジンを「Blender Render」から「Cycles Render」へ変更するだけでOKです。

切り替えると、シェーディングに「Material」と「Render」が追加されます。

どちらも「Blender Render」には無かった描画手法です。

Cyclesレンダリングシェーダーの設定

Cyclesで描画する場合、マテリアルにシェーダーノードを設定する必要があります。

最初は何も設定されていないので、自分で任意のシェーダーを追加しましょう。

 

最初は以下のようになってるので、「Use Nodes」を選びノードを使える状態にします。

これでシェーダーが使えるようになります。

デフォルトだと一番簡単なDiffuseシェーダーが設定されてます。

 

カラーでRGB色が変更できますが、Alpha値はここで変更しても透過できません。他の透過シェーダーと組み合わせる必要があります。

スクリプト導入への道

ひとまずメタセコインポーターに付けるべく「DiffuseColor」と「Alpha」と「Texture」だけシェーダーを組んでみました。パラメータが多いので「Ambient」や「Emission」は後回し。

 

●テクスチャを貼ってない材質の拡散色だけのモデルの場合

「拡散 BSDF」のカラーで材質の拡散色を設定し、「透過 BSDF」とミックスすることでアルファ合成をしています。「ミックスシェーダー」の係数をいじることで透過率が変わるようになってます。この透過率はデフォルトでは材質の拡散色アルファに設定しています。「拡散 BSDF」のアルファ値をいじっても透明にはなりません。

 

 

●テクスチャを貼ったモデルの場合

随分とややこしいことになってますが、これでキチンと描画されます。これにさらにAmbient・Speecular・Emissiveシェーダーを追加したらとんでもないことになりそうですね・・・

 

テクスチャのアルファ値で「透過 BSDF」と「拡散 BSDF(テクスチャと材質を乗算したRGB色)」を透過合成していますが、これを省くと透過情報持ちの画像は透過されません。

 

例えば1枚の板ポリに以下のようなテクスチャを貼ります。

 

正常であれば以下の1~2枚目のようにRGB色以外の部分は透過されますが、この処理を忘れると3枚目のように透過するべき部分が真っ黒になるのでちゃんと設定しておきましょう。

というわけで始めて使ってみたのですが、中々面白い機能でした。

次はMQO・MMDインポーターに標準装備してリリースしようと思います。

 

最近ブログの更新がおろそかになっており何時ぐらいになるかはわかりませんが・・・

なるべく早くやります ごめんなさい m(_  _)m

 

 

 

参考にさせていただいたサイト様 皆様ありがとうございます

Blender Cycles Introduction_01

Blenderでレンダリング(Cycles)

Blender Cycles memo アルファテクスチャマッピング

Blender 2.67.1 - API documentation