问题的目的:
我正在启动一个应用程序,它将拍摄用户提供的图像并让它们在3D视图中通过Viewport3D和Viewport2DVisual3D进行游戏...
我需要经常在ViewPort3D中切换不同的图像 - 我想在2.5D中使用某种帧状/漫画效果 - 对于我希望一次显示10到50张图像的近似尺度估计,以及以最快0.2秒的间隔切换多达10个。选择这些图像的图像库可能包含数千个图像。
问题:
对于WPF中的性能,我存储这些图像的最佳方式是什么,以及访问它们以便快速从一个图像切换到另一个图像的最佳方式?我应该让用户指向我的图片文件夹,还是有办法“预编译”图像库以便更快地访问?
以下是关于如何使用这些内容的XAML片段,当然应用程序将在原型阶段的代码中生成所有这些对象。
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="60, 50, 100" FieldOfView="90" LookDirection="0,0,-1" />
</Viewport3D.Camera>
<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="40,40,0 40,0,0 80,0,0 80,40,0"
TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="Transparent"/>
</Viewport2DVisual3D.Material>
<Image Name="ImagePlaceHolder1" Source="Textures/Image1.gif"/>
</Viewport2DVisual3D>
<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="40,80,0 40,40,0 80,40,0 80,80,0"
TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="Transparent"/>
</Viewport2DVisual3D.Material>
<Image Name="ImagePlaceHolder2" Source="Textures/Image2.jpg"/>
</Viewport2DVisual3D>