今までPV3D1.7で作ってきたけど、表現としてGreateWhiteの機能で使いたいものがあるので、これから切り替え作業に入ってみる。クラスを見ているとかなり構造が変わっているので、ほぼ一から作り直しの予感。
確実に死ぬ。
でもがんばる。
でも一応バックアップも残しておく・・・
追記:2008/03/13 17:59
fig.A : segument=50
GouraudShaderを適応して、Cubeを50セグメントで処理した場合。
なんかdoubleSidedのバグみたいになる。(一応doubleSidedはfalse)
なんかセグメントの設定が間違っているような気がする(一方向だけ?)
ちなみにsegment=1にすると
fig.B : segment=1
当然ではあるが・・・。
引き続き調査。
fig.AのsegmentX方向だけ50にして、残りを1にしてました・・・orz
ということで、
Fig.C : segment=2
なんか線形補間が間違ってるんじゃないか?GouraudShaderだけでは駄目なのかな?
Fig.D : segment=4
穴が開きました・・・・涙
なんだこれ?
Fig.E : segment=50
穴が大きくなりました。
そしてもう全然回転しません。激重です。
当然と言えば当然ですが・・・。
とりあえず?cubeではGouraudShaderがあまり良くなさそう。
Lightの位置が悪いのか?
ちとLightの調整して駄目だったら他のShaderを試す。
追記:
Fig.G : segment=2 , composit = 1
ShadedMaterialのcompositを1に設定するとまぁまぁ。ただし
BitmapColorMaterialにすると結構あらが目立つ。(BitmapColorMaterialだとcompositが利かない?)
まぁsegmentを3以上にするとセグメントのドット抜けみたいな感じになるのは変わらず・・。
どっか間違えているような気もするのだけど・・。
Fig.I: segment=10 , FlatShader
FlatShaderだとまぁ安定しているのだけど、segment数が少ないと、lightを強く認識してハレーション気味になって、あとはlightの判定が安定しない(チカチカする)。逆に多いとsegmentの切れ目にラインが入る。あとは重い。compositにしない方がいいのかな?(composit低くしたらやっぱ線形補正がうまく言ってない状態で汚くなった)
なんかshadematerialsのなかとかのClassが意味があるのかもしれないけど、よく分からないなー。
Fig.J : CellShader
カートゥン系の影。まぁ使い方によっては面白いのだけど、今回は無し。
Fig.K : segment=4, FlatShade、MovieAssetMaterial
lightのAMBIENTとかを微調整して、FlatShadeで、マテリアルをMovieAssetMaterialから持ってくると比較的安定する。理由は不明。でもこれぐらいならなんとかなりそうな気がする。っつーかなれ。
あ、分かった。マテリアルがCubeにアタッチされる際にスケール変化が発生するとこのラインが発生するっぽいぞ。等倍で作ればいいのかな?
いや、そういうわけでもなさそうだ・・。
セグメント多いとやっぱラインがでるな・・。
ぐあー、tweenerでalphaとかいじるとセグメントラインが出てくるぅ!!(涙
「行くぞ!」への10件の返信
やばい、早くも挫折の予感w
思っていたよりShading機能は拡張されてなかった・・orz
そうかー、bitmapにshadeはまだ無理かー。Ver1.7に戻すかなあ・・・。いや、もうここまでやったんだからとりあえずこのまま・・・。うーーーん。
おや?GWだとShadedColorMaterialがなくなってるのか・・?lightクラス追加を踏まえて消失?
ん?documentが古いのか?ShadedMaterialがある・・。
PointLight3D発見。
ShadedMaterialの適応部分で躓き中・・・何故に?
flashDevelopでASDOC生成できたような記憶があるのだがどうやるのか思い出せない。
flex SDKにもasdoc入ってるのか・・。
うーーーん・・・予想以上に汚かった・・・。サンプルアップしたいがブログにFlashって貼るのがめんどくさい。