1

私は pv3d フォーラムでこの質問をしましたが、誰も答えられませんでした。

私は比較的 3D に慣れていないので、これが常識である場合は申し訳ありません。

CellMaterial を適用する sphere があります。素晴らしく見える。papervision sdk には、CellShader もあります。

これを CellMaterial と合わせて使用​​する必要がありますか? それはどちらかである必要がありますか?Shader は、 Shader Material の非推奨のプラクティスですか?

私が最初に考えたのは、シェーダーはシーン全体に適用され、マテリアルはオブジェクトに個別に適用できるということでした。

ドキュメントはそうではないことを示しているようです。

CellShader と CellMaterial の両方を使用することで得られるとしたら、どのような利点がありますか? どうにかしてそこにアンビエントを含めるのが本当に好きです。

4

1 に答える 1

1

セルの外観だけを求めている場合は、CellMaterial を選択してください。CellShader の目的は、ShadedMaterial 内の BitmapMaterial と混合することです。

GaraudMaterial を適用して外観が気に入ったとしますが、そこにテクスチャも必要です。GaraudMaterial ではできませんが、BitmapMaterial と GaraudShader があれば、この 2 つを使用する ShadedMaterial を作成できます。

例えば

var bitmapMaterial:BitmapMaterial = new BitmapMaterial(yourBitmapData);
var shader:PhongShader = new PhongShader(yourLight,0xFFFFFF, 0x000000,0,yourBumpMap);
//this uses the two above
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial,shader);
//apply it to something
var sphere:Sphere = new Sphere(shadedMaterial,250,10,10);

詳細については、Jim Foley の投稿をご覧ください。

アンビエント オクルージョンに関しては、エフェクトを得る最も安価な方法は、シャドウをテクスチャにベイクすることです。選択した 3D エディター (3dsmax、maya、blender など) を使用してそれを行います。これは基本的に、光/影がテクスチャにレンダリングされることを意味します。 Mr.doob テクスチャ ベイク

これを動的に行う作業がいくつかありますが、それが Papervision の最新バージョンになったかどうかは確認していません。

kode80 さお

于 2010-09-10T20:44:31.090 に答える