Helix Toolkit Animations



我正试图用C语言在我的WPF世界中制作一条鱼的动画#我正在使用helixtoolkit导入并显示对象

现在要创建的代码如下:

public MainViewModel()
{
   var worldGroup = new Model3DGroup();
   var fishGroup = new Model3DGroup();
   Model3D world = ModelImporter.Load(@".Models1.obj");
   Model3D fish = ModelImporter.Load(@".Models2.obj");
   worldGroup.Children.Add(world);
   fishGroup.Children.Add(fish);
   WorldModel = worldGroup;
   FishModel = fishGroup;
}

但我不知道如何设置它的动画,我很想让它让鱼在由点定义的自定义路径中游泳(或者如果可能的话,通过从3ds max导入样条曲线)

是否可以只使用3dsmax中的关键帧让鱼游泳或者在模型本身中有一些动画(如动画身体)

能够用以下XAML简单地制作动画:

<Window x:Class="_3D.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:HelixToolkit="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <HelixToolkit:HelixViewport3D ZoomExtentsWhenLoaded="True" Name="MyAnimatedObject">
        <HelixToolkit:SunLight />
        <ModelVisual3D Content="{Binding FishModel}">
            <ModelVisual3D.Transform>
                <TranslateTransform3D x:Name="MyTranslateTransform3D" OffsetX="0" OffsetY="0" OffsetZ="0" />
            </ModelVisual3D.Transform>
        </ModelVisual3D>
        <ModelVisual3D Content="{Binding WorldModel}" />
        <HelixToolkit:HelixViewport3D.Triggers>
            <EventTrigger RoutedEvent="HelixToolkit:HelixViewport3D.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetName="MyTranslateTransform3D"
                            Storyboard.TargetProperty="OffsetX"
                            To="10"
                            AutoReverse="True" RepeatBehavior="Forever" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </HelixToolkit:HelixViewport3D.Triggers>
    </HelixToolkit:HelixViewport3D>
</Grid>

最新更新