2

新しいMolehillAPIでFlash11RC1を使用して、背面カリングを有効にします。ベータ版のドキュメントはかなりあいまいですが、この例は、Molehillが正面を向いた三角形を反時計回りに巻くことを望んでいることを示しています。これはかなり正常なことです。

しかし、ポリゴンが反時計回りに曲がると、まったく逆の動作になります。つまり、Molehillは、正面を向いた三角形が時計回りに曲がることを期待しているようです。ドキュメントには、どの巻線が正しいかが明示的に記載されていないため、困惑しています。

Molehillが実際に望んでいることを100%理解する直前に見えるまで、すべての三角形をひっくり返したくありません。これは、根本的な誤解を隠す可能性が高いためです。

私は単純なパースペクティブプロジェクションを使用しています(以下の.transpose()に関する注記:copyRawDataFromは列優先のデータを期待し、コードでの表示方法が嫌いだったため、行優先で入力し、後で行列を転置することにしました-だから私を訴えなさい:P):

        var y:Number = 1.0 / Math.tan(pFOV / 2.0);
        var x:Number = y / pAspectRatio;
        _projectionMatrix.copyRawDataFrom(new<Number>[
                x       , 0        , 0                       , 0,
                0       , y        , 0                       , 0,
                0       , 0        , pFar/(pNear-pFar)       , pFar*pNear/(pNear-pFar),
                0       , 0        , -1                      , 0
            ]);
        _projectionMatrix.transpose();

手がかりはありますか?

4

1 に答える 1

0

Context3D.setCulling を使用して、モグラヒルの背面カリングを変更できます。参照: http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/display3D/Context3D.html#setCulling ()

どちらが表か裏かは、モデルの入力データに依存するため、ここでは試行錯誤が最善の策です。2つのオプションしかありません:)

于 2011-11-08T07:44:45.453 に答える