0

3Dオブジェクトをぼかす方法は?(Papervision 3d)そして、作成した新しいオブジェクトを新しい3Dモデルとして保存しますか?(空/雲の生成に役立ちます)

2D画像のように、私はrectangelintuをいくつかのぼやけた構造に変えました

代替テキスト
(出典:narod.ru

4

3 に答える 3

1

私は Papervision 3D に詳しくありませんが、3D でのぼかしは通常2D でのぼかしです。ぼかしたいオブジェクトを選択し、そのオブジェクトに必要なぼかしを決定してから、他のオブジェクトをシーンに合成する前に 2D ぼかしを適用します。

原則として、オブジェクトのさまざまな部分にはさまざまな度合いの (被写界深度) ぼかしが必要な場合があるため、これはごまかしです。しかし、3D グラフィックスのチートはこれだけではありません。

とはいえ、他のアプローチもあります。レイ トレーシングは、真の被写界深度効果を与えることができます (レンダリング時間のコストを支払う意思がある場合)。2D ピクセル グリッドの代わりに 3D "ボクセル" グリッドにぼかしを適用することもできます。

于 2010-07-23T12:07:27.740 に答える
1

ぼかしは 2D 操作です。オブジェクトをテクスチャにレンダリングして、そのテクスチャをぼかします。

于 2010-07-23T12:18:01.347 に答える
1

useOwnContainer を true に設定して、フィルターを追加します。

your3DObject.useOwnContainer = true;
your3DObject.filters = [new BlurFilter(4,4,2)];

useOwnContainerを true に設定すると、新しい 2d DisplayObject が作成されて 3d 投影がレンダリングされ、通常の DisplayObject プロパティをそれに適用できます。

Andy Zupko は、これとレンダー レイヤーについて良い投稿をしています。

これを使用すると、プロセッサに少しコストがかかるため、賢明に使用してください。たとえば、私が Disturb Mediaで取り組んだtwigitalでは、各キャラクターの個別のレンダー レイヤーではなく、すべてのキャラクターを保持するレイヤーに 1 つの Glow を使用しました。他のプロジェクトでは、フィルタをビットマップに「焼き付け」て使用しました。これは、メモリをもう少し多く使用することを意味しましたが、他のタスクのためにプロセッサを少し解放しました。

HTH

于 2010-07-25T22:01:40.883 に答える