我有一个带有变换的model3dgroup,看起来像这样,
<Transform3DGroup x:Key="B3OR34TR33">
<TranslateTransform3D OffsetX="0"
OffsetY="-1.5748"
OffsetZ="-8.10376e-011" />
<ScaleTransform3D ScaleX="1"
ScaleY="0.750021"
ScaleZ="1" />
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Angle="90.0000025"
Axis="1 0 0" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
<TranslateTransform3D OffsetX="0"
OffsetY="0.0259444"
OffsetZ="5.51401" />
</Transform3DGroup>
还有一个动画可以在加载时为model3dgroup设置动画。
<DoubleAnimationUsingKeyFrames
BeginTime="0:0:0"
Duration="0:0:0.9"
Storyboard.TargetName="B3OR34"
Storyboard.TargetProperty="(Model3D.Transform).(Transform3DGroup.Children)[3].(TranslateTransform3D.OffsetX)">
<LinearDoubleKeyFrame KeyTime="0:0:0"
Value="-38.50234985" />
<LinearDoubleKeyFrame KeyTime="0:0:0.9"
Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="0:0:0"
Duration="0:0:0.9"
Storyboard.TargetName="B3OR34"
Storyboard.TargetProperty="(Model3D.Transform).(Transform3DGroup.Children)[3].(TranslateTransform3D.OffsetY)">
<LinearDoubleKeyFrame KeyTime="0:0:0"
Value="0.02594435215" />
<LinearDoubleKeyFrame KeyTime="0:0:0.9"
Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="0:0:0"
Duration="0:0:0.9"
Storyboard.TargetName="B3OR34"
Storyboard.TargetProperty="(Model3D.Transform).(Transform3DGroup.Children)[3].(TranslateTransform3D.OffsetZ)">
<LinearDoubleKeyFrame KeyTime="0:0:0"
Value="5.514007568" />
<LinearDoubleKeyFrame KeyTime="0:0:0.9"
Value="0" />
</DoubleAnimationUsingKeyFrames>
model3dgroup是一个具有5个几何形状的立方体[top,bottom,front,back&amp;侧]。问题是当我应用一个行为来模拟model3dgroup时,旋转发生在geometrymodel3d之一的x轴中间。我应该在这里看一下围绕model3dgroup的中心进行旋转。
答案 0 :(得分:0)
您可以使用CenterX / Y / Z属性设置RotateTransform3D的中心
在您的情况下,中心必须是您的应用翻译
<RotateTransform3D CenterX="0"
CenterY="-1.5748"
CenterZ="-8.10376e-011" />