を変換します。各ModelVisual3Dには、移動するたびにRotateTransform3DとTranslateTransform3Dが適用されます。そして、各ModelVisual3Dオブジェクトは互いに独立して動きます。WPFのアニメーションは、私は複数の(20'ish 1)を持つことができますWPFの3Dプロジェクトに取り組んでいる各
これを行うには、オブジェクトを移動するたびに、各ModelVisual3Dを回転させて、回転と変換変換の両方の移動に対してダブルアニメーションを設定します。次に、(各オブジェクトの)両方の変換でBeginAnimation()を呼び出します。
つまり、20個のModelVisual3Dオブジェクトがある場合は、移動するたびにBeginAnimation()を40個の異なる変形オブジェクトで呼び出すことになります。
これは正常ですが、より良い方法があるようです。複数のModelVisual3Dオブジェクトの複数のトランスフォームを1つの「トランスフォームグループ」オブジェクトにグループ化し、その上でBeginを呼び出すことができるものはありますか?
また、私はストーリーボードオブジェクトを使用して見て、私はすべてC#でこれをやっている(非常に少ない静的XAMLは、ここで起こって、UIのほとんどが動的に作成されます)。ストーリーボードオブジェクトは、単一のModelVisual3Dオブジェクトに対してのみ使用できるようです。最善のケースでは、私はBeginAnimationと呼ぶ20のストーリーボードオブジェクトになります。
または私が行うための最善のことをやっているのですか?
Transform3DGroup.BeginAnimation()呼び出しで1つのDependencyPropertyが使用されるため、実際には機能しません。私は、OffsetXプロパティの変換トランスフォームとAngleプロパティの回転変換を行っています。だからまだ2回の呼び出し – Turbo