3Dオブジェクトをぼかす方法は?(Papervision 3d)そして、作成した新しいオブジェクトを新しい3Dモデルとして保存しますか?(空/雲の生成に役立ちます)
2D画像のように、私はrectangelintuをいくつかのぼやけた構造に変えました
(出典:narod.ru)
3Dオブジェクトをぼかす方法は?(Papervision 3d)そして、作成した新しいオブジェクトを新しい3Dモデルとして保存しますか?(空/雲の生成に役立ちます)
2D画像のように、私はrectangelintuをいくつかのぼやけた構造に変えました
(出典:narod.ru)
私は Papervision 3D に詳しくありませんが、3D でのぼかしは通常2D でのぼかしです。ぼかしたいオブジェクトを選択し、そのオブジェクトに必要なぼかしを決定してから、他のオブジェクトをシーンに合成する前に 2D ぼかしを適用します。
原則として、オブジェクトのさまざまな部分にはさまざまな度合いの (被写界深度) ぼかしが必要な場合があるため、これはごまかしです。しかし、3D グラフィックスのチートはこれだけではありません。
とはいえ、他のアプローチもあります。レイ トレーシングは、真の被写界深度効果を与えることができます (レンダリング時間のコストを支払う意思がある場合)。2D ピクセル グリッドの代わりに 3D "ボクセル" グリッドにぼかしを適用することもできます。
ぼかしは 2D 操作です。オブジェクトをテクスチャにレンダリングして、そのテクスチャをぼかします。
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