在这篇文章里,将介绍如何实现一个简单的三维场景,一个三维的空间,包括空间内的三维物体的组合.
首先介绍一下一个三维场景里的基本元素:
先是定义一个简单的三维的场景环境
代码如下:
<
Viewport3D
Name
="myViewport"
>
</ Viewport3D >
</ Viewport3D >
以上是定义了一个名称叫做 myViewport 的的三维场景,接下来可以在这个三位场景里添加一些元素:
元素一:照相机
照相机是三维场景内用户的视角,当然照相机也是唯一的。
来看如何定义一个简单的照相机代码:
<
Viewport3D
.Camera
>
< PerspectiveCamera FarPlaneDistance ="3000" NearPlaneDistance ="0.25" FieldOfView ="90" Position ="1800,0,0" LookDirection ="-1,0,0" UpDirection ="0,1,0" ></ PerspectiveCamera >
</ Viewport3D.Camera >
< PerspectiveCamera FarPlaneDistance ="3000" NearPlaneDistance ="0.25" FieldOfView ="90" Position ="1800,0,0" LookDirection ="-1,0,0" UpDirection ="0,1,0" ></ PerspectiveCamera >
</ 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 chair}" >
< ModelVisual3D .Children >
< ModelVisual3D >
< ModelVisual3D .Content >
< DirectionalLight Color ="#FFFFFFFF" Direction ="-3,-4,-5" />
</ ModelVisual3D.Content >
</ ModelVisual3D >
< ModelVisual3D >
< ModelVisual3D .Content >
< GeometryModel3D Geometry ="{StaticResource chair}" >