background

多少、諦めがついた。

2006年11月04日(Sat)

何が、というとコレ。

061104-1

オブジェクト上のエッジに近い面に不正な光や陰が現れる問題である。
画像自体はDAZの非常に優れた売り物なのだが、それでもこの通り。つまりこれはShadeのメッシュの扱いの問題ではなく、Poserの描画の問題なんだということだ。なので、もうあんまり気にしなくてもいいかな、と。まあ、あまり目立ち過ぎるのもアレだけど、そういう部分はもうメッシュを細かくすることでどうにか対応しようと思う。

この問題、遭遇したり似たような問題を見かける度に検証したりネットで調べたりするものの、探し方が悪いのか、未だに自分が満足する答えには辿り着けていない。

何が原因で、何故起こるのか。どうすれば回避できるのか。

今の時点で自分に出せる結論は、これはPoserの旧バージョンの不完全な機能を未だに引きずっている弊害なのだろう、ということ。そしてその根拠は、この問題にはUVマップが深く関わっている、ということだ。

PoserのスムースシェーディングがUV値を参照していることは、去年の時点でわかっていた。なぜなら、この問題はUVをマッピングしていない(全ての頂点のUV値が(0,0)である)オブジェクトでは起こらないからである。また、これがスムースシェーディングの問題であるというのは、やや微妙だが現象を観察してみれば見当がつく。ライトを回してみれば、その部分だけ近隣のポリゴンとは別に明るくなったり暗くなったりする。つまり「影」になっているわけでなく、「面の向きが異なると誤って判断されている」ために「陰」になっている、ということがわかる。

試みに、UVマッピングの異なる同形状を読み込んでみる。

061104-2

ポイントは、円筒マッピングを施した円柱ではエッジが消えてしまっているという点だ。このことから、Poserは連続した面のエッジを判別する時、UVマッピングをある程度判断基準としていると推察できる。てゆーか、他に考えられないだろう。

これはPoserの立場になって考えてみれば不思議ではないように思える。もともとPoserはポリゴンメッシュをウニウニ変形させるのが肝のソフトだ。今ほどハイポリゴンのモデルが無かった頃は、ちょっとした屈伸で面が鋭角を描くこともあっただろう。他のソフトでは、スムースシェーディングを掛けるかどうかは面の接する角度を基準にすることが多い。が、それでパーがグーになった途端にカクカクしてしまうようでは、人体メインのPoserでは非常に都合が悪い。だからPoserはかなり強引にスムースシェーディングを掛ける仕様になっているのだろう、しかしそれでは小道具などを作る時によろしくないので、面が分離しているかどうかを判別するのに、テクスチャを手掛かりにするようにしたのではないか……。

というのが、自分の妄想である。(あくまで妄想で)

通常、面の向きを示すのには法線が使われるし、Wavefront OBJ形式では頂点に点法線というものを設定できる。本来ならこの点法線によって、その角がスムーズであるかエッジになっているかを判断するのだが、この点法線は仕様を読む限り「定義されてなかったら適当に面法線から補完してねん♪」という曖昧なもののようである。なので、このUV値によるスムースシェーディング機能自体は悪くないはずなのだ。問題は、アルゴリズムがしょぼいせいか、UVの不連続な稜線に極端な角度が付くと、正常にシェーディングできなくなる「ことがある」点である。

絶対に起こるというわけではないのが、またいやらしい。

面を分離したり稜線を追加したりして、エッジを立てても構わない形状ならまだ話は楽だ。問題はそれができない形状、スムースシェーディングを掛けたいけれどもUVマップ上は離れていて、事によると結構急な角度が付くけれどもそれを予測して稜線を追加するわけにはいかない、つまりダイナミッククロスの様な形状だと、これはもう手詰まりなんである。

061104-3

誰か助けて(笑)。

自分はこの問題を、旧バージョンの機能を引きずっている弊害だと判断する。なぜなら、現行バージョンではもはやスムースシェーディングを掛けるか否かにテクスチャを参照する必要はないからである。
折り目角度、そしてスムージンググループ(スムーズID)。
これらを使えばUV値は必要ない。面を分離したり稜線を追加する必要もない。使い方はマニュアルにちゃんと書いてある(ハズ)、普通にグループ分けしてIDを振ったらいいだけである。そいでもってこれはれっきとしたWavefront OBJ形式の仕様である。むしろ率先して使うべきではないだろうか。

061104-4

Poserを使っていて非常に残念に思うのは、こういったアップグレードによる地道な進歩が見過ごされがちなことだ。折り目角度がファイルに記述できるようになったのはバージョン6からだが、下位互換のためにこの記述を削除している配布物も多いのではないだろうか。勿体ない話である(実際には読めない記述があっても無視して動くだけなのだが)。

スムージングとスムースシェーディングを混同している向きが多いのも気になるところだ。もっともこれは開発側も混同しているのだろう。特性パレットのスムースポリゴンのチェックを外すと、折り目角度のテキストボックスが無効になるのがその証左だ(笑)。

どちらも名称に「スムーズ」が付くし、以前はスムースシェーディングしかなかったのだから仕方ないが、スムースポリゴンとスムースシェーディングはまったく別のモノである。スムースポリゴンはレンダリング時にだけ有効になるサブディビジョンサーフェイス(みたいなの)だ。スムースシェーディングは実際のオブジェクトを変形せずになだらかに陰影付けする手法である。
Poserのスムースポリゴンは折り目角度によってスムージングを制御する仕様になっているが、折り目角度は本来スムースシェーディングを制限するパラメータである。スムースポリゴンを使用しないからといって、無効になってもらっては困るのだ。

下位互換などすっ飛ばしてでも、Poserのコードを書き直して欲しいと強く感じるのはこういう時だ。旧来の無理な仕様はそろそろ切り捨ててもいいのではないかと思う。でないといつまで経っても現行ユーザは旧来の仕様にしがみつくし、新規ユーザにとってPoserの仕様は古臭い。もっと先のことを考えないと、いずれ袋小路に嵌まり込むような気がして仕方ない。

とりあえずシェーディングにUV値を参照する仕様だけはどうにかしてほしい。
まあ、多分Poser 7では変わってないだろうけど。



Comments

 僕の想像するに全ての悪の根元は"P4互換レンダラー"だと思いますよ。
 使う人がいること自体が僕的には信じられないのですが、これが相変わらず切り捨てられない。で、P4互換にするとその問題仕様を満たさないといけないので、結局近代的なレンダラーに生まれ変わりきらない・・・と、そういう仕掛けかなと。
 だいたい実際にベンチするとP4互換程度のレンダリングならFFよりP4互換の方が遅いんですが、その程度のベンチすら取らず<P4の方が速い>とか平気で書いてますからね。
 P7の仕様を読んでいる限りでは、レンダラの速度が大幅に向上したりHDRIをサポートしたりと、ずいぶんレンダラを整理したみたいなのでチョッピリ期待してたり(笑)

Name
ほげほげ #-
Site
URL
Post Date
2006-11-04
Post Hour
15:09:30

Edit

>ほげほげさん
なるほど、P4互換レンダはものすごくネックになってそうですね~。トゥーン表現で使う人がいるらしいですが、自分的にも存在意義を見出せないレンダラです。体感的にすらFireflyより遅いと思うのですが、速いとか言う人はおそらくFireflyを自動設定でしか扱えないんでしょう。
P7のレンダラ周りは結構期待できそうですね。個人的にはHDRI対応で、内部的に(シャドウマップ含め)16bit処理できるようになってて欲しいと切に願います。あと現行のレイトレース反射を無視したクリッピング処理とか、面反転ポリゴン消去を無効化してるところとか、スムースポリゴンを描画できないレイトレースシャドウとか、奇妙にちぐはぐな所が整理されているといいな~と祈ってみたり。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2006-11-04
Post Hour
20:45:25

Edit

P4,P6併用組

すごい・・こうやって研究されたことを、おすそわけしてくださってるんですね。感謝感謝。
 
私は、P4,P6を併用してます。でも、P4のレンダとP6のP4互換レンダは違います。だから、P4のデータをP6に持って来たら、ライト等々設定し直して、P4レンダとFireflyとやってみて、いい方を使います。Fireflyを使う方が多いんだけど。
P4からP6で困るのは、レンダより、面が裏返ってたりとかマテリアルの設定だったりします。(Kyotaroさんのおかげで対応策がわかりました。これ、レンダリングオプションとかでまとめて設定できるといいなぁ)
だから、P4互換レンダは、あってもなくてもいい・・というか、削ることで性能が上がるなら削ってもいいなぁ・・と、これ読んで思いました。
 
あと、P4は、使い勝手がシンプルなのがいいです。でも、P4とP6は、全く別のものだと思うので、そのまま開けなくても、ひと手間かけてインポートする感じでもいいかなぁとも思うし・・技術的なことは分かりませんが・・
 
P7・・・もうちょっとP6を使い慣れないと・・

Name
ぱいん #WzzJX4NY
Site
URL
Post Date
2006-11-05
Post Hour
15:11:20

Edit

イマイチ成果が上がらないですが(苦笑)

>ぱいんさん
ぱいんさんのように実際にP4を使っていらっしゃる方のお話は、とても興味深いです。なにせ自分の手元にないので、調べようにも手だてが少なくて……。
 
P4のレンダとP4互換レンダは別物なんですか。(じゃあなんで互換なんだろう……)
面の表裏を判別するようになったのはP5からだそうですから、意外と多くのアイテムが裏返ってたり両面だったりしますよね。「ノーマル_前」の機能、確かにレンダリングオプションにあると便利な気がします。
P4互換レンダを搭載したのは、おそらく旧版のユーザーを完全移行させたかったからではないかと思いますが、それよりは旧版を忘れてしまうほど今のPoserを魅力的にすれば良かったんじゃないかと思います。新版に移行するかしないか、また旧版と併用するか選択するのはユーザーの自由ではないでしょうか。
 
Poserはバージョンが上がるにつれ煩雑になったというお話をよく伺います。シンプルさってたぶん出来立てホヤホヤの時が一番で、改良されるほど実現しにくくなるんだと思います。だからこそ、このあたりで一度再構築して欲しいなと感じるんですよね。上位互換さえ保証されていれば。
リフォームじゃなくて、新築でもいいんじゃない? と……。
 
P7は来年初頭だそうですが、私もまだまだ今の状態でやることがいっぱいです(悩)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2006-11-05
Post Hour
18:09:50

Edit

あー古いワタクシがお答えしまふw
P4互換レンダは一番でかいのはBumとかいろんなパラメータがP4用のスペシャルとして扱われるFFだってことっす。レンダリングエンジンはFFなんだけどいろんな部分がP4互換として扱われるってことです。
 P4はバンプはGradient Bumpしかないですし、透明の扱いもヘンテコだしと、もうFFの中にP4互換処理ルーチンがあるだろうと言いたくなる作りなのでふよ(でも中途半端にFFなのでP4完全互換でないのがまたヘン(笑))。
 しかしP4がシンプルってのは不思議だな…扱っている限りではマテリアル・DC・DH以外はなんもかわらんと思うのですがね。

Name
ほげほげ #-
Site
URL
Post Date
2006-11-05
Post Hour
20:16:36

Edit

>ほげほげさん
おお~勉強になります~(^^;
グラディエントマップは自分的にはホントに未知の領域ですね。「使うならP4互換レンダで…」と書いておきながら、Fireflyでもしっかり使えるあたりもう何が何やら(笑)
>シンプル
やっぱり難しくなったと言われているマテリアル・レンダ設定のあたりなんでしょうかね。便利なのに……。
自分的には簡易設定がなくったって、自分が分かる範囲で使い続けていれば、そのうち慣れて色々身に付くと思うんですが。
とりあえず自分はP5のインターフェイスにすらもう戻れませぬ。いや、もともとP5はほとんど使わないままP6が出てしまったのですが(笑)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2006-11-06
Post Hour
00:46:46

Edit

ほげほげさん、お答え、ありがとうございます。
技術的なことは、よくわからないので・・・私のは主観というか使った感想というか・・(汗)
P4とP6が別のものという書き方も変かも・・P6は、P4を含んだもっと大きなソフトに進化した感じですよね。
 
>シンプル
ウチは画面が小さいので、P6は、ルーム切り替えのタブとかドキュメントウィンドウ上下にいろいろついてる分、作業スペースが狭いとか・・
P4は、パラメータダイアルが背面にくっついてるんですが、P6はウィンドウになってて、ドキュメントウィンドウより前に表示されるので、小さな画面ではじゃまになったり、うっかり消すとメニューから呼び出さないといけなかったり・・
P4感覚で使ってると、ちょっとした違いで使い勝手が全然違って感じられるんです。
 
もっとP6に慣れないととか、大きなモニタが欲しいとか思う今日この頃・・
 
そういえば、ほげほげさんのキャラ、いただいてたのに、ご挨拶がまだでした。
この場を借りて、ありがとうございます。

Name
ぱいん #WzzJX4NY
Site
URL
Post Date
2006-11-07
Post Hour
18:48:59

Edit

>ぱいんさん
あーなるほど、レイアウトとかは確かに全然違いますよね。以前roseさんにP4にはそもそもルームという概念がないということを伺って、軽いショックを覚えた記憶があります(笑)
今のUIは大きな画面で使うことを前提にしているみたいなところがありますね。PhotohopやShadeみたいにパレットにまとめたり、パレット同士で吸着や整列ができたらいいんですけど。
そういえばたまにP5を使う時、一番戸惑うのがプレビューウィンドウにレンダボタンが無いことだったりします。カメラコントロールもカメラの切り替えぐらいにしか使わないし、そういう変わった部分って、以前を知らなければすぐに受け入れられるのでしょうが、それまで使っていた方には新機能が却って邪魔になってしまったりするんですね。
 
まあどのバージョンを使うにしろ、ソフトに使われるのではなくて、使いこなせるようになりたいです(と無理矢理まとめてみたり(^^;)
Poser7、Tipsが書けるようになった頃にはP8が出てたりして……(笑)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2006-11-08
Post Hour
07:15:59

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/165-0f733213



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。