Microsoft Expression Blend 提供了很多用于创建、修改和动态显示三维对象的实用工具。
Expression Blend 可以导入 .obj 文件格式的三维内容。为了让这些文件能够正确呈现,还必须导入材料文件(.mtl 文件),该文件定义了三维对象上使用的材料,并导入材料文件中使用的所有图像文件。
三维内容包含在“Viewport3D”控件中。该视区用作三维内容的一种包装或容器。您可以在“属性”面板中修改材料、光和照相机,以便为三维内容提供所需的效果和可视属性。
![]() |
Viewport3D |
一个二维元素(控件),例如椭圆形,可用作呈现文档中三维内容的容器。 |
![]() |
照相机 |
代表文档中的视区,其作用方式与视频摄像机极其相似。照相机可用于拍摄三维内容,并将其转换成适合在屏幕上显示的二维图像(普通的平面物体)。有两种类型的照相机:远景相机和正交相机。 |
![]() |
材料 |
三维内容的材料是指三维对象本身的颜色、纹理和总体外观。照明也会影响对象的可视外观,但材料会真正直接影响三维对象的表面。有三种类型的材料:漫射材料、放射材料和反射材料。 |
![]() |
光 |
正如您所想,光可投射到三维内容上,将其照亮。没有光,便无法看清三维内容,就如同要在暗无光亮的情况下竭力看清某种东西一样。有四种类型的光:环境光、投射光、定向光和点光。 |
三维模型
您可以通过若干方法来使用图柄更改三维对象的方向及位置。例如,通过使用“选择” 工具,可以双击三维对象以将其选定,然后在鼠标显示重定位光标
时在美工板拖动该对象。如果您试着这么做,您会注意到该三维对象并没有随着您的拖动而靠近或远离您。接下来,如果您按住 Alt 并上下拖动鼠标,则会注意到该三维对象会靠近或远离您。
也可以在“属性”面板中的“转换”下旋转、重新定位和缩放三维对象,就像对其他任何对象一样。
![]() |
---|
缩放和调整大小是两种截然不同的更改对象大小的方式。缩放会按照起始大小的一定比例更改对象及其所有属性的大小。例如,带笔划对象的笔划也会缩放,因此不再与特定的笔划宽度存在映射关系。调整大小则意味着更改对象的“Height”和“Width”属性(尺寸)。 |
转换图柄是三维对象所独有的。因此,了解如何最好地使用每个图柄会很帮助,如下所示:
显示所有图柄的三维对象
轴 |
描述 |
图柄 |
---|---|---|
X 轴 |
可以通过单击并拖动 X 旋转图柄 |
![]() X 轴图柄 ![]() 旋转 ![]() 定位 |
Y 轴 |
可以通过单击并拖动 Y 旋转图柄 |
![]() Y 轴图柄 ![]() 旋转 ![]() 定位 |
Z 轴 |
可以通过单击并拖动 Z 旋转图柄 |
![]() Z 轴图柄 ![]() 旋转 ![]() 定位 |
![]() |
---|
通过在旋转时按住 Shift 键可以按 15 度的增量对齐对象。 |
返回页首
材料
三维内容的材料是指三维对象本身的颜色、纹理和总体外观。照明也会影响对象的可视外观,但材料会直接影响到三维对象的表面。通过在三种不同的材料类型中进行选择,您可以对三维内容进行不同的修改,如下所示:
“漫射材料”
确定三维对象在直射光(白光)照射下的颜色,其作用就如同墙面喷漆一样。
“放射材料”
使对象产生发光效果。光的颜色由材料的颜色决定。
“反射材料”
控制三维对象上高光反射区域的颜色。高光反射区域指在铬等光滑亮泽表面上看到的光亮区域。
返回页首
照相机
三维内容的照相机代表观察点,其行为与视频摄像机极其相似。照相机可用于将三维内容转换成适合在屏幕上显示的二维图像(普通的平面对象)。每个“Viewport3D”的照相机均对应于该视区的一个属性。如果您在对象视图的“交互”面板中的“对象和时间线”下选择了照相机,则可以在“照相机”下的“属性”面板中修改其属性。尽管每个视区只关联一个照相机属性,但您可以在远景相机和正交相机之间切换照相机的类型,从而更改对象在应用程序中的显示方式:
远景相机的工作原理与普通照相机镜头类似。对象离照相机越远,看起来就越小。在“属性”面板中的“照相机”下,单击“远景相机”
可切换到此相机。
正交相机关闭了普通照相机的远景效果。对象不会随着其远离正交相机而变小或变形。在“属性”面板中的“照相机”下,单击“正交相机”
可切换到此相机。
远景相机
正交相机
可以使用“摄影轨迹” 工具移动相机。也可以移动相机,并在“属性”面板中的“照相机”下对每种相机进行其他更改:
透视视野 仅适用于远景相机,此属性可更改通过照相机所看到的内容部分,以及文档中的对象因照相机而显得变形的程度。减小该数值可减少对象因远景拍摄而变形的程度,而增大该数值则会像使用鱼眼镜头一样导致对象大幅变形。
宽度 仅适用于正交相机,此属性可控制所能看到的内容部分。此数值越大,所能看到的内容就越多。
位置 照相机在三维虚拟空间中的位置。
方向 照相机在三维虚拟空间中对准的点。
正向矢量 按照此照相机的“上方”所指的方向移动。
远点/近点剪切平面 这两个选项可控制对象与照相机之间的最近或最远距离,超出上述距离的对象将从所呈现的视图中消失。
有关如何修改照相机的详细信息,请参阅移动照相机。
返回页首
光
正如您所想,光可投射到三维内容上,将其照亮。没有光,便无法看清三维内容,就如同要在暗无光亮的情况下竭力看清某种东西一样。光是“Viewport3D”控件的属性,通过在对象视图的“交互”面板中的“对象和时间线”下选择光,可以修改其设置。
可以使用在选择光时所显示的转换图柄(下文中“光类型”部分中的图像中的红色、绿色和蓝色图柄)来转换光。有关如何移动光的详细信息,请参阅移动光的方向。
此外,您可以更改光的一些属性,而两个主要需要更改的属性是光的颜色和类型。
返回页首
光的颜色
更改光的颜色就像更改二维对象的颜色一样简单。若要更改光的颜色,只要在“Viewport3D”中选择一个 Light 对象,然后在“属性”面板中的“光”下,使用颜色编辑器对光进行更改即可。有关示例,请参阅更改光的颜色。
返回页首
光的类型
下表说明了可应用于三维对象的光的类型。若要更改光的类型,只要在“Viewport3D”中选择一个 Light 对象,然后在“属性”面板中的“光”下,选择不同的光类型即可。有关示例,请参阅更改光的类型。
光类型及相关说明 |
在美工板上使用光 |
|
---|---|---|
环境光 ![]()
如果只用环境光,则对象可能会显得褪色,而且颜色单一。为了获得最佳效果,请另外使用附加的非环境光。
|
环境光将光投向各个方向。如果希望所有对象均匀受光,请使用此选项。 |
![]() |
投射光 |
投射光所投射的光如同聚光灯一般。光从发光位置发出,并在锥形区域内传播。投射光不会影响到位于锥形发光区域以外的那部分三维对象。 |
![]() |
定向光 |
定向光沿着特定的方向均匀投射光,就像太阳光一样。 |
![]() |
点光 |
点光从一个点向所有方向投射光,就像普通的灯泡一样。 |
![]() |
![]() |
---|
若要同时查看作用于对象上的所有光,请指向“视图”菜单上的“三维”,然后单击“切换光”。 |
返回页首
其他光属性
在“属性”面板中的“光”下,可以修改下列属性,对每种光进行其他更改:
衰减 控制光的强度随着光与发光对象之间的距离变远而衰减的方式。可以修改下列衰减属性:
ConstantAttenuation 光的强度不随光与光照对象之间的距离变远而改变。
LinearAttenuation 光的强度将按照固定的比率随着光与光照对象之间的距离变远而减弱。
QuadraticAttenuation 光的强度随着光与光照对象之间的距离变远而先快后慢地减弱。
说明:
衰减属性仅适用于“投射光”和“点光”类型。
方向 受光的方向。“方向”属性仅适用于“投射光”和“定向光”光类型。
锥角 用于决定从选定光向外扩展的锥形范围的角度。如果用手电筒来照亮地面,地面不会被平均照亮,而是离中心点越远,光越暗。“锥角”可用于控制这种衰减速度。可以修改下列锥角属性:
InnerConeAngle 光最亮的中心部分的角度。
OuterConeAngle 光较暗的外围部分的角度。若要创建强光,请将内部锥角和外部锥角设置为同一值。如果内部锥角值大于外部锥角值,则会将这两个值视为等于外部锥角值。
说明:
锥角属性仅适用于“投射光”光类型。
位置 光在所属组中的位置。三个值分别表示光的 X、Y 和 Z 位置。“位置”属性仅适用于“投射光”和“点光”光类型。
范围 光的范围。光范围之内的对象将被光照亮;而光范围之外的对象不会被光照亮。“范围”属性仅适用于“投射光”和“点光”光类型。
返回页首
支持新的三维对象
.NET Framework 3.5 引入了下列新的三维对象:
UIElement3D(在 XAML 中不支持)
ContainerUIElement3D
ModelUIElement3D
Viewport2DVisual3D
Expression Blend 2 未将新的三维对象包含在资源库中。不过,您可以通过以下方式来使用这些对象:在 XAML 中进行手动修改;或使用 Microsoft Visual Studio 2008 来添加对象并在 Expression Blend 2 中打开项目。Expression Blend 2 会识别新的三维对象,您可以使用三维修饰工具在场景中调整这些对象。这些新对象的示例代码可以在 MSDN(此链接可能指向英文页面)上找到。
返回页首