テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル


log

2010.07.30 LW:Sculptrisのマテリアルを拝借しよう!

ファイル 288-1.jpg

SculptrisのマテリアルテクスチャをそのままLWで使えないかなあと
前々からへんてこな願望を抱いていたので。とりあえずノードで実装
してみることにしました。

実装のアルゴリズム自体は以前HLSLでトゥーンを実装したときと
ほぼ同じなので、始めのうちはすぐに出来るだろうと高を括って
いたんですが、予想以上に手間取ってしまいました。

後になって、「そういえばDirectXとUV座標系が違ってたり
したんだっけ」ということを思い出したのはよかったんですが、
それより前に、いじる必要の無かった部分を余計にいじって
しまったのが長引いた原因でした。。痛いなあ。

それと実はまだ設定がおかしいのか、テクスチャの見え方と
少し違うUVのマップ位置になっていたりします。実装の説明を
少しすると、法線が外を向いているほどテクスチャの外側を
利用するのですが、その外側のとる領域が予定より小さくなって
しまっています。まぁこれくらいならば、ほとんど気にならない
程度なので、個人的にはこれで満足です。

とりあえず出来てよかったのであった笑。

comment

たけ 2010.07.30-09:04 Edit

E3D、RDB2でムービー作ってそのままE3Dで利用できるように
なったみたいですね。

僕が大学の時に使っていた頃は、スクリプトでムービー用の
ルーチンを組んで、せっせと変数で動きを調節していたというのに苦笑。

しみじみ、いい時代になったものだなあ。

たけ 2010.07.30-23:08 Edit

ちょっと頭を冷やしてアルゴリズムを自分で考えてみたら、
とても簡単な処理でUVのマップ値がほとんど崩れることなく
実装することができた!おまけに自分の方法を少し改良するだけで
裏側に表れる特異点問題を解消できるようになる、つまり
カメラスペースだけではなくライトスペースでも問題なくシェーディングが
できるようになるわけです。

これをHLSLに実装すれば、行列1つ分のレジスタを用意するだけで
処理速度もクオリティも向上させられそうです。
ふふ、やっててよかったノード勉強!!

たけ 2010.07.30-23:24 Edit

そういえば、Coreテクノロジーを搭載予定のLightwave10
(Core1.0ということかな?)の新しい情報を見てみました。
とりあえず最初はコア1つだけではなくモデラー、レイアウト、コアの
3つのシステムで動かすみたいですね。どうなんだろう。
逆にまたよく分からないことになりそうだけど、モデラー・レイアウト
分離派の意見も尊重しているってことなのかな。

もうひとつ気になったのが、またリアルタイムビューが向上してますね。
今までのGLビューを更に発展させて、アンビエントオクルージョン・
ブルーム・HDRIがリアルタイムビューで見られるようになるそうです。

Modoもリアルタイムビューがかなりいい感じだなと思いましたが、
Newtek出身の3Dソフトはなぜかリアルタイムビューが強いなという
印象があります。アバターもリアルタイムビュー用にLWが
使われてましたし。そこだけは他の3Dソフトよりも気合を
入れているのかもしれません。

たけ 2010.07.31-05:35 Edit

ライトスペースに使用できる改良版も作ってみました。
ただ、LWの標準のatanノードはよく分からない結果を
返していたので、プラグインの算術ノードを使うことにしました;

C++のときもそうだったけど、ライブラリによって返す値が
微妙に違っていたりする(おそらくシフトしている)からなあ。
気をつけないといけません。