码迷,mamicode.com
首页 > Windows程序 > 详细

WPF特效-鱼游动动画

时间:2018-08-14 11:14:11      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:strong   rspec   ==   pre   dup   span   parent   art   mes   

原文:WPF特效-鱼游动动画

? 实现思路:


? ? ? ? ? 通过VisualBrush Binding方式获取鱼局部图像,在Viewport3D中创建ModelVisual3D块并把获取到的局部图通过VisualBrush Binding方式赋值。然后对ModelVisual3D块写3D 动画。


? ? ? ? ? 我的鱼原始图:技术分享图片技术分享图片


实现的效果:

? ? ? ? ? ? ? ? ? ? ?技术分享图片


?其他套路:


? ? ? 序列图动画帧循环加载。


? ? ? ?查阅资源,几乎都是在3DMax 或者Unity中实现,未找到纯靠代码实现的可参考的c# 或WPF版。?


其他参考:

   
                        <GeometryModel3D.Material>
                            <DiffuseMaterial>
                                <DiffuseMaterial.Brush>
                                    <VisualBrush Visual="{Binding ElementName=GdTailZm}"/> 
                                </DiffuseMaterial.Brush>
                            </DiffuseMaterial>
                        </GeometryModel3D.Material>

?<Grid Width="200" Height="164">
? ? ? ? <Grid x:Name="GdBaseFishZm" Background="Transparent" Opacity="0">
? ? ? ? ? ? <Grid x:Name="GdMainZm" Background="Transparent">
? ? ? ? ? ? ? ? <Image x:Name="ImgMainZm" Margin="20"/>
? ? ? ? ? ? </Grid>
? ? ? ? ? ??
? ? ? ? </Grid>
? ? ? ? <Rectangle x:Name="RectFrontZm">
? ? ? ? ? ? <Rectangle.Fill>
? ? ? ? ? ? ? ? <VisualBrush Visual="{Binding ElementName=GdMainZm}"/>
? ? ? ? ? ? </Rectangle.Fill>
? ? ? ? ? ? <Rectangle.Clip>
? ? ? ? ? ? ? ? <RectangleGeometry Rect="0,50,141,114"/>
? ? ? ? ? ? </Rectangle.Clip>
? ? ? ? </Rectangle>
? ? ? ? <Grid Opacity="0">
? ? ? ? ? ? <Grid x:Name="GdTailZm" Background="Transparent">
? ? ? ? ? ? ? ? <Rectangle x:Name="RectTailZm">
? ? ? ? ? ? ? ? ? ? <Rectangle.Fill>
? ? ? ? ? ? ? ? ? ? ? ? <VisualBrush Visual="{Binding ElementName=GdMainZm}"/>
? ? ? ? ? ? ? ? ? ? </Rectangle.Fill>
? ? ? ? ? ? ? ? ? ? <Rectangle.Clip>
? ? ? ? ? ? ? ? ? ? ? ? <RectangleGeometry Rect="140,0,60,164"/>
? ? ? ? ? ? ? ? ? ? </Rectangle.Clip>
? ? ? ? ? ? ? ? </Rectangle>
? ? ? ? ? ? </Grid>
? ? ? ? </Grid>


? ? ? ? <Grid Opacity="0">
? ? ? ? ? ? <Grid x:Name="GdUpZm" Background="Transparent">
? ? ? ? ? ? ? ? <Rectangle x:Name="RectUpZm">
? ? ? ? ? ? ? ? ? ? <Rectangle.Fill>
? ? ? ? ? ? ? ? ? ? ? ? <VisualBrush Visual="{Binding ElementName=GdMainZm}"/>
? ? ? ? ? ? ? ? ? ? </Rectangle.Fill>
? ? ? ? ? ? ? ? ? ? <Rectangle.Clip>
? ? ? ? ? ? ? ? ? ? ? ? <RectangleGeometry Rect="0,0,160,50"/>
? ? ? ? ? ? ? ? ? ? </Rectangle.Clip>
? ? ? ? ? ? ? ? </Rectangle>
? ? ? ? ? ? </Grid>
? ? ? ? </Grid>


? ? ? ? <Viewport3D>
? ? ? ? ? ? <Viewport3D.Camera>
? ? ? ? ? ? ? ? <PerspectiveCamera Position="0,0,1.3" LookDirection="0,0,-1" FieldOfView="75"/>


? ? ? ? ? ? </Viewport3D.Camera>


? ? ? ? ? ? <ModelVisual3D>
? ? ? ? ? ? ? ? <ModelVisual3D.Content>
? ? ? ? ? ? ? ? ? ? <Model3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? <AmbientLight Color="White"/>
? ? ? ? ? ? ? ? ? ? </Model3DGroup>
? ? ? ? ? ? ? ? </ModelVisual3D.Content>
? ? ? ? ? ? </ModelVisual3D>


? ? ? ? ? ? <ModelVisual3D>
? ? ? ? ? ? ? ? <ModelVisual3D.Content>
? ? ? ? ? ? ? ? ? ? <GeometryModel3D>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Geometry>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <MeshGeometry3D Positions="-1,-0.82,0? 1,-0.82,0 1,0.82,0 -1,0.82,0"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TriangleIndices="0,1,2 0,2,3"? TextureCoordinates="0 1 1 1 1 0 0 0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? </MeshGeometry3D>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Geometry>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Material>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <DiffuseMaterial>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <DiffuseMaterial.Brush>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <VisualBrush Visual="{Binding ElementName=GdUpZm}"/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </DiffuseMaterial.Brush>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </DiffuseMaterial>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Material>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Transform>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <Transform3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <RotateTransform3D>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <RotateTransform3D.Rotation>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <AxisAngleRotation3D x:Name="FishUpAxis" Axis="1 0 1" Angle="-3"/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </RotateTransform3D.Rotation>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </RotateTransform3D>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </Transform3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Transform>
? ? ? ? ? ? ? ? ? ? </GeometryModel3D>
? ? ? ? ? ? ? ? </ModelVisual3D.Content>
? ? ? ? ? ? </ModelVisual3D>
? ? ? ? ? ??


? ? ? ? ??
? ? ? ? </Viewport3D>


? ? ? ? <Viewport3D>
? ? ? ? ? ? <Viewport3D.Camera>
? ? ? ? ? ? ? ? <PerspectiveCamera Position="0,0,1.3" LookDirection="0,0,-1" FieldOfView="75"/>


? ? ? ? ? ? </Viewport3D.Camera>


? ? ? ? ? ? <ModelVisual3D>
? ? ? ? ? ? ? ? <ModelVisual3D.Content>
? ? ? ? ? ? ? ? ? ? <Model3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? <AmbientLight Color="White"/>
? ? ? ? ? ? ? ? ? ? </Model3DGroup>
? ? ? ? ? ? ? ? </ModelVisual3D.Content>
? ? ? ? ? ? </ModelVisual3D>
? ? ? ? ? ??
? ? ? ? ? ? <ModelVisual3D>
? ? ? ? ? ? ? ? <ModelVisual3D.Content>
? ? ? ? ? ? ? ? ? ? <GeometryModel3D>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Geometry>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <MeshGeometry3D Positions="-1,-0.82,0? 1,-0.82,0 1,0.82,0 -1,0.82,0"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TriangleIndices="0,1,2 0,2,3"? TextureCoordinates="0 1 1 1 1 0 0 0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? </MeshGeometry3D>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Geometry>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Material>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <DiffuseMaterial>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <DiffuseMaterial.Brush>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <VisualBrush Visual="{Binding ElementName=GdTailZm}"/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </DiffuseMaterial.Brush>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </DiffuseMaterial>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Material>
? ? ? ? ? ? ? ? ? ? ? ? <GeometryModel3D.Transform>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <Transform3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <RotateTransform3D CenterX="0.38">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <RotateTransform3D.Rotation>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <AxisAngleRotation3D x:Name="FishTailAxis" Axis="0 1 0" Angle="-70"/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </RotateTransform3D.Rotation>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </RotateTransform3D>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </Transform3DGroup>
? ? ? ? ? ? ? ? ? ? ? ? </GeometryModel3D.Transform>
? ? ? ? ? ? ? ? ? ? </GeometryModel3D>
? ? ? ? ? ? ? ? </ModelVisual3D.Content>
? ? ? ? ? ? </ModelVisual3D>




? ? ? ? </Viewport3D>


? ? </Grid>
? ? ? ? ? ? ? ? ? ? ?

            

WPF特效-鱼游动动画

标签:strong   rspec   ==   pre   dup   span   parent   art   mes   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9472659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!