1

Canvas3D の代わりに JCanvas3D を使用する場合に直面する問題を教えてください。

JCanvas3Dを使用して透明性を実現するには?

よろしく、 ハリプラサド

4

1 に答える 1

1

私が現在見つけることができる唯一の JCanvas3D への参照は、com.sun.j3d.exp.swing パッケージにあります。そのパッケージの API には、実際には実験的な警告があります。そうは言っても、フォーラムにはまだかなりの活動があり、人々はまだ積極的にコードに取り組んでいるように聞こえます。

これら 2 つの違いは、Canvas3D が標準の「AWT」に似た重量コンポーネントであり、JCanvas3D がその Swing の対応物であることです。

もう少し検索した後:インタラクティブ メッシュによる回答から引用されたこの一口が見つかりました。これは、より具体的な質問に回答するようです。

すべての軽量 3D キャンバス (JCanvas3Dxyz、FxCanvas3Dxyz) では、透明なシーンの背景を使用できます。Java 3D システム プロパティ「transparentOffScreen」を true (-Dj3d.transparentOffScreen=true または System.setProperty("j3d.transparentOffScreen", "true")) に設定すると、シーンの背景のすべてのピクセルのアルファ値が「0」になります。パネル自体の背景色が表示されるようにします。opaque 属性を false に切り替えると、親パネルはシーンの背景領域にレンダリングされます。

これにより、派手な背景を作成したり、JFrame 内のすべてのパネルで 3D シーンのコンテンツを移動したり、レイヤー化された 3D シーンを作成したりできます。

Canvas3D 内のシーンの背景領域は常に不透明です。

-8月

于 2009-07-20T20:06:49.403 に答える