|
File Details
Thanks to Kurt Berglund for providing this sample.
THIS IS NOT THE ENTIRE SOURCE, ONLY KEY SNIPPETS.
<Window x:Class="Camera3.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Camera3" Height="300" Width="300" xmlns:local="clr-namespace:ConvertXaml" >
<Window.Resources> <local:LookDirConverter x:Key="lookDirConverter" /> </Window.Resources> <Viewport3D> <Viewport3D.Triggers> <EventTrigger RoutedEvent="Viewport3D.Loaded"> <BeginStoryboard> <Storyboard> <ParallelTimeline RepeatBehavior="Forever"> <Point3DAnimation From="4,8,12" To="12,8,4" Storyboard.TargetName="myPerspectiveCamera" Storyboard.TargetProperty="Position" AutoReverse="True" Duration="0:0:4"/> <DoubleAnimation From="0" To="16" Storyboard.TargetName="myObjToTrack" Storyboard.TargetProperty="Transform.OffsetY" AutoReverse="True" Duration="0:0:4"/> </ParallelTimeline> </Storyboard> </BeginStoryboard> </EventTrigger> </Viewport3D.Triggers>
<Viewport3D.Camera> <PerspectiveCamera x:Name="myPerspectiveCamera" UpDirection = "0, 1, 0" Position = "8, 8, 8" FieldOfView = "60"> <PerspectiveCamera.LookDirection> <MultiBinding Converter="{StaticResource lookDirConverter}" Mode="OneWay"> <Binding ElementName="myPerspectiveCamera" Path="Position" /> <Binding ElementName="myObjToTrack" Path="Transform" /> </MultiBinding> </PerspectiveCamera.LookDirection> </PerspectiveCamera> </Viewport3D.Camera>
|