我正在使用SplineRotation3DKeyFrame连续旋转我的3D对象。 但这种行为有点奇怪: 1. Rotation3DAnimationUsingKeyFrames里面必须有两个SplineRotation3DKeyFrame,否则就不会有动画。 2.似乎旋转不连续。每个时期都会有一个突然的运动。
我想让它以某种速度旋转,例如每分钟30发。
有没有人可以给我一些如何设置动画代码的建议?
提前致谢。
汀
这是我的代码(不包括3D数据)
Storyboard.TargetName="World"
Storyboard.TargetProperty="(ModelVisual3D.Transform).(Transform3DGroup.Children)[0].(RotateTransform3D.Rotation)"
Duration="00:00:02"
AutoReverse="False">
<SplineRotation3DKeyFrame KeyTime="00:00:02">
<SplineRotation3DKeyFrame.Value >
<AxisAngleRotation3D Angle="180" Axis="0,0,1"/>
</SplineRotation3DKeyFrame.Value>
</SplineRotation3DKeyFrame>
<SplineRotation3DKeyFrame KeyTime="00:00:04">
<SplineRotation3DKeyFrame.Value>
<AxisAngleRotation3D Angle="359" Axis="0,0,1"/>
</SplineRotation3DKeyFrame.Value>
</SplineRotation3DKeyFrame>
</Rotation3DAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<UserControl.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource RotateStoryboard}"/>
</EventTrigger>
</UserControl.Triggers>
<Grid>
<Viewport3D ClipToBounds="True" Margin="21,15,10,28">
<Viewport3D.Camera>
<OrthographicCamera FarPlaneDistance="291.04190202230194" LookDirection="0,-30,0" NearPlaneDistance="0.1" Position="0,30,0" UpDirection="0,0,-1" Width="50"/>
</Viewport3D.Camera>
<ModelVisual3D x:Name="World">
<ModelVisual3D.Transform> <!-- tinger -->
<Transform3DGroup>
<RotateTransform3D/>
</Transform3DGroup>
</ModelVisual3D.Transform>