3D 効果の使用

3D 効果を手動で作成することを検討してください。

Flash Player 10 および AIR 1.5 で導入された 3D エンジンを使用すると、表示オブジェクトに遠近法による変形を適用できます。この変形を適用するには、 rotationX プロパティおよび rotationY プロパティを使用するか、Graphics クラスの drawTriangles() メソッドを使用します。また、 z プロパティで深度を適用することもできます。遠近法による変形が適用された表示オブジェクトは、ビットマップとしてラスタライズされるので、多くのメモリを必要とすることに注意してください。

次の図は、遠近法による変形の使用時に、ラスタライズによって適用されたアンチエイリアスを示しています。

フルサイズのグラフィックを表示
遠近法による変形に起因するアンチエイリアス

ベクターコンテンツをビットマップとして動的にラスタライズすると、アンチエイリアスが発生します。アンチエイリアスが発生するのは、3D 効果を、デスクトップ用の AIR および Flash Player と、モバイル用の AIR 2.0.1 および AIR 2.5 で使用する場合のみです。ただし、アンチエイリアスはモバイルデバイス用の Flash Player には適用されません。

ネイティブ API に依存せずに 3D 効果を手動で作成できれば、メモリ使用量を減らすことができます。Flash Player 10 および AIR 1.5 で導入された 3D の新機能を使用すれば、テクスチャマッピングがさらに簡単になります。これは、 drawTriangles() などのメソッドを使用して、テクスチャマッピングをネイティブに処理できるからです。

開発者は、3D 効果を作成するとき、パフォーマンスを向上させるためには、ネイティブ API または手動のどちらで処理すべきかを判断してください。ActionScript の実行パフォーマンス、レンダリングパフォーマンスおよびメモリ使用量について検討する必要があります。

renderMode アプリケーションプロパティを GPU に設定している AIR 2.0.1 および AIR 2.5 のモバイルアプリケーションでは、GPU が 3D 変形を実行します。ただし、 renderMode CPU に設定されている場合には、GPU ではなく CPU が 3D 変形を実行します。Flash Player 10.1 アプリケーションでは、CPU が 3D 変形を実行します。

CPU で 3D 変形を実行する場合、表示オブジェクトにいずれかの 3D 変形を適用すると、メモリ内にビットマップが 2 つ必要になることを考慮してください。1 つはソースビットマップ用、もう 1 つは遠近法に基づく変形後のバージョン用です。このようにして、3D 変形はフィルターに対しても同様に動作します。そのため、CPU で 3D 変形を実行する場合は、3D プロパティを多用しないようにしてください。