■ AxisAngleRotation3D 엘리먼트를 사용해 3D 애니메이션을 만드는 방법을 보여준다.
▶ MainWindow.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<Window x:Class="TestProject.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="600" Title="AxisAngleRotation3D 엘리먼트 : 3D 애니메이션 사용하기" FontFamily="나눔고딕코딩" FontSize="16"> <Grid> <Viewport3D> <Viewport3D.Camera> <PerspectiveCamera FarPlaneDistance="20" LookDirection="5 -2 -3" UpDirection="0 1 0" NearPlaneDistance="0" Position="-5 2 3" FieldOfView="45" /> </Viewport3D.Camera> <ModelVisual3D x:Name="topModelVisual3D"> <ModelVisual3D.Children> <ModelVisual3D> <ModelVisual3D.Content> <DirectionalLight Color="#ffffffff" Direction="-3 -4 -5" /> </ModelVisual3D.Content> </ModelVisual3D> <ModelVisual3D> <ModelVisual3D.Content> <GeometryModel3D Geometry="{StaticResource TeapotMeshGeometry3DKey}"> <GeometryModel3D.Material> <DiffuseMaterial> <DiffuseMaterial.Brush> <SolidColorBrush Color="RoyalBlue" Opacity="1" /> </DiffuseMaterial.Brush> </DiffuseMaterial> </GeometryModel3D.Material> <GeometryModel3D.Transform> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D x:Name="axisAngleRotation3D" Axis="0 3 0" Angle="1" /> </RotateTransform3D.Rotation> </RotateTransform3D> </GeometryModel3D.Transform> </GeometryModel3D> </ModelVisual3D.Content> </ModelVisual3D> </ModelVisual3D.Children> </ModelVisual3D> <Viewport3D.Triggers> <EventTrigger RoutedEvent="Viewport3D.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="axisAngleRotation3D" Storyboard.TargetProperty="Angle" RepeatBehavior="Forever" From="0" To="360" Duration="0:0:10" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Viewport3D.Triggers> </Viewport3D> </Grid> </Window> |