模型编辑器

本文档介绍如何将 Visual Studio 模型编辑器用于查看、创建和修改三维模型。

您可以使用模型编辑器从头开始创建基本的三维模型,或查看和修改使用全面的三维建模工具创建的多个复杂三维模型。 模型编辑器支持用于 DirectX 应用程序开发的多个三维模型格式。

支持的格式

模型编辑器支持这些模型格式:

格式名

文件扩展名

支持的操作(查看、编辑、创建)

Autodesk FBX 交换文件

.fbx

“查看”,“编辑”,“创建”

Collada DAE 文件

.dae

“查看”,“编辑”(通过使用 FBX 格式保存对 Collada DAE 文件进行的修改)。

OBJ

.obj

“查看”,“编辑”(通过使用 FBX 格式保存对 OBJ 文件进行的修改)。

入门

本节描述如何向添加三维模型到您的 Visual Studio 项目并提供需要启动的基本信息。

添加三维模型到项目中

  1. 解决方案资源管理器,请打开项目的快捷菜单要添加图像为,然后选择 添加新建项

  2. 添加新项 对话框中,在 已安装,选择下的 图形,然后选择 3D 场景 (.fbx)

  3. 指定模型文件的 名称 以及要中创建的 位置

  4. 选择**“添加”**按钮。

Hh315734.collapse_all(zh-cn,VS.110).gif轴方向

Visual Studio 支持三维轴的每个 orientation,并从支持它的模型文件格式中加载轴 orientation 信息。 如果未指定轴方向,则默认情况下 Visual Studio 使用右侧坐标系。 **“轴指示器”显示在设计右下角的当前轴图面。 在“轴指示器”**上,红色表示 x 轴,绿色表示 y 轴,蓝色表示 z 轴。

Hh315734.collapse_all(zh-cn,VS.110).gif启动您的三维模型

在模型编辑器,每个新的对象始终以基本三维形状或 基元编译到模型编辑器。 若要创建新的和唯一对象将原始到场景通过修改其顶点然后将其形状。 对于复杂的形状,您添加附加的顶点使用挤压或细分然后修改它们。 有关如何向场景中的原始对象的信息,请参见 创建和导入三维对象。 有关如何添加多个顶点的信息到对象,请参见 修改对象。

使用模型编辑器

以下部分描述如何与三维模型一起使用模型编辑器。

Hh315734.collapse_all(zh-cn,VS.110).gif模型编辑器工具栏

“模型编辑器”工具栏包含帮助您使用三维模型的命令。

影响模型编辑器状态的命令位于主 Visual Studio 窗口的**“模型编辑器模式”工具栏。 建模工具和为其编写脚本的命令位于模型编辑器设计图面中的“模型编辑器”**工具栏。

这是**“模型编辑器模式”**工具栏:

模型查看器模式工具栏。

此表描述**“模型编辑器模式”**工具栏上的项目,这些项目按她们从左至右出现的顺序列在订单中。

工具栏项

描述

选择

基于有效选择模式,启用在场景的点、边缘、文本或对象的选择。

平移

相对窗架启用三维场景的移动。 在场景中平移并选择点,然后将其四处移动。

“选择”模式下,可以临时按住 Ctrl 来激活“平移”模式。

缩放

相对于窗架启用更多或更小情景详细信息的显示。 在“缩放”模式下,选择在场景中的点然后将其向右或下移放大,或向左或上移缩小。

“选择”模式下,在按住 Ctrl时可以通过使用鼠标轮来放大或缩小。

轨迹

将视图定位在围绕选定对象的循环路径上。 如果未选中对象,则路径是在场景原点上居中。

说明说明
“正交”投影启用时,此模式不起作用。

世界本地

在启用此项时,在全局空间中发生所选对象的转换。 否则,选定对象上的转换将在本地空间中发生。

数据透视模式

在启用此项时,变换影响的位置,然后选定对象的 轴点 的方向(轴点定义转换、缩放和旋转操作的中心。)否则,相对于数据透视点,转换将影响对象的几何图形的位置和方向。

锁定 X 轴

禁止对 X 轴进行对象处理。 仅当您使用操控器小部件的中心部件时应用。

锁定 Y 轴

禁止对 Y 轴进行对象处理。 仅当您使用操控器小部件的中心部件时应用。

锁定 Z 轴

禁止对 Z 轴进行对象处理。 仅当您使用操控器小部件的中心部件时应用。

帧对象

给选定的对象搭建框架,使之位于视图的中心。

视图

设置视图定向。 这里展示的是可行的方向:

“字体”

将视图定位在场景前面。

上一页

将视图定位在场景后面。

Left

将视图定位在场景左侧。

向右

将视图定位在场景右侧。

Top

将视图定位在场景上方。

Bottom

将视图定位在场景下面。

说明说明
启动“正交”项目时这是唯一更改试图方向的方式。

Projection

用于绘制场景的投影的种类。 这里展示的是可行的投影:

透视图

在透视投影中,对象远离视区显示的大小和最终聚集到远处会变小。

正射影图

在正投影中,对象看上去是相同的大小,无论视区的距离。 不显示平均线。 当启用“正射影图”投影时,不能使用“轨迹”模式来定位视图。

绘制样式

设置在场景对象的呈现方式。 这里展示的是可行的样式:

透明框架

在启用时,呈现对象为线框。

“过度绘制”

在启用时,通过使用附加混合呈现对象。 使用此工具可以可视化出现在场景中的覆盖程度。

平面着色

在启用时,通过使用基本,平面着色照明模型呈现对象。 使用此工具可以更轻松地看到对象的外观。

如果这些选项都没启用,则使用已应用于它的材料呈现每个对象。

实时呈现模式

在启用实时呈现时,Visual Studio 重绘该设计图面,即使在没有用户操作执行时。 此模式在使用可以随着时间的发展而变化的着色器时有用。

切换网格

在启用此项时,显示网格。 否则,不显式网格。

工具箱

或者是显示或隐藏“工具箱”窗口。

文档大纲

或者显示或隐藏“文档大纲”窗口。

属性

或者是显示或隐藏“属性”窗口。

高级

包含高级命令和选项。

图形引擎

“使用 D3D11 呈现”

使用 Direct3D 11 以呈现“模型编辑器”设计图面。

“使用 D3D11WARP 呈现”

使用 Direct3D 11 Windows“高级化平台”(WARP) 呈现“模型编辑器”设计图面。

场景管理

导入

从另一个三维模型文件中导入对象到当前场景。

“附加到父级”

建立多个选定的对象的第一个作为剩余的选定对象的父级。

“从父级分离”

从其父级分离选定的对象。 选定的对象成为场景中的“根对象”。 根对象没有父对象。

“创建组”

将选定的对象编组为同级对象。

“合并对象”

组合选定的对象到一个对象中。

“从多边形选择创建新的对象”

从当前对象中移除所选面并添加到场景,该场景中包含这些面的新对象。

工具

翻转多边形绕组

翻转选定的多边形,使其绕组序列和图面法线反转。

“移除所有动画”

移除对象中的动画数据。

“三角测量”

将所选对象转换为三角形。

视图

Backface 拣掉

启用或禁用背面拣掉。

帧速率

在设计图面的右上角显示帧速率。 帧速率为每秒绘制场景的帧数。

当您启用“实时呈现模式” 选项时,此选项才有用。

全部显示

显示所有视图信息。

“显示文本的行为”

显示每个面的规则。

“显示缺失材料”

显示在没有材料指派给他们的对象的特殊纹理。

“显示转动”

启用或禁用在活动状态选择的支点的三维轴标记的显示。

“显示占位符节点”

显示占位符节点。 在您组合对象时创建的占位符节点。

“显示顶点规则”

显示每个顶点的规则。

提示提示
您可以选择“脚本”按钮再次运行最后一个脚本。

这是**“模型编辑器”**工具栏:

模型查看器工具栏。

下表描述**“模型编辑器”**工具栏上的项目,这些项目按她们从上到下出现的顺序列在订单中。

工具栏项

描述

转换

移动选定内容。

缩放

更改选定内容的大小。

旋转

旋转选定内容。

选择点

设置“选择模式”,以选择对象上的各个点。

选择边缘

设置“选择模式” 选择一个边缘(在两个顶点之间的一行)在对象。

选择面

设置“选择模式”选择在对象的一面。

选择“对象”

设置“选择模式”选择在整个对象的一面。

延伸

创建其他文本并将其连接到选定的文本。

细分面

将每个选定的文本划分为多个文本。 若要创建新面,添加新顶点 — 一个在初始面的中心,一个在各边的中间 — 然后将其与初始顶点结合起来。 在原始面中添加的面数与边数相等。

Hh315734.collapse_all(zh-cn,VS.110).gif控制该视图

该三维场景基于视图呈现,可视为一个虚拟照相机具有一个位置和一个方向。 若要更改位置和方向,请使用**“模型编辑模式”**工具栏上的视图控件。

下表描述主要视图控件。

视图控件

描述

平移

相对窗架启用三维场景的移动。 在场景中平移并选择点,然后将其四处移动。

“选择”模式下,可以临时按住 Ctrl 来激活“平移”模式。

缩放

相对于窗架启用更多或更小情景详细信息的显示。 在“缩放”模式下,选择在场景中的点然后将其向右或下移放大,或向左或上移缩小。

“选择”模式下,在按住 Ctrl时可以通过使用鼠标轮来放大或缩小。

轨迹

将视图定位在围绕选定对象的循环路径上。 如果未选中对象,则路径是在场景原点上居中。

说明说明
“正交”投影启用时,此模式不起作用。

帧对象

给选定的对象搭建框架,使之位于视图的中心。

该视图由虚拟照相机建立,但其也由投影定义。 投影定义视图中的形状和对象如何转换为设计图面上的像素。 在**“模型编辑器”工具栏上,您可以选择“透视”“正”**投影。

Projection

描述

透视图

在透视投影中,对象远离视区显示的大小和最终聚集到远处会变小。

正射影图

在正投影中,对象看上去是相同的大小,无论视区的距离。 不显示平均线。 当启用“正射影图”投影时,不能使用“轨迹”模式来随意定位视图。

从已知位置和角度查看三维场景时您会发现它很有用,例如,当您希望将二个相似的场景进行比较时。 此方案中,模型编辑器提供了几个预定义的视图。 若要使用预定义的视图中,在**“模型编辑模式”** 工具栏上,选择**“视图”,然后选择 一 您所需的预定义视图 — 前、后、左、右、顶部、底部。 在这些视图中,虚拟照相机直接从场景上方查看其原点。 例如,如果选择“查看顶部”**,虚拟照相机直接从场景上方查看其原点。

Hh315734.collapse_all(zh-cn,VS.110).gif查看其它几何详细信息

为更好地了解三维对象或场景,可以查看其他几何详细(例如活动选择及其详细信息的逐顶点法线、每面法线和轴心点。 若要启用或禁用它们,在**“模型编辑器”工具栏上,选择“脚本”“视图”**,然后选择需要的一个。

Hh315734.collapse_all(zh-cn,VS.110).gif创建和导入三维对象

若要向该场景添加预定义的三维形状,在**“工具箱”中,选择要添加的一个,然后将其移动到设计图面。 新形状定位在场景的原点。 模型编辑器提供七种形状:“圆锥”“立方体”“圆柱体”“圆盘”“平面”“球体”** 和 “茶壶体”

若要从文件导入三维对象,在**“模型编辑器”工具栏上,选择“高级”“场景管理”“导入”**,然后指定要导入的文件。

Hh315734.collapse_all(zh-cn,VS.110).gif转换对象

您可以通过更改其**“旋转”“缩放”“平移”属性“转换”对象。 通过沿由成功旋转的透视点定义的 x 轴、y 轴和 z 轴对其进行应用,“旋转” 以对对象进行定向。 每个旋转规范有三个组件 x、y 和 z,组件以度数用此顺序指定。 通过沿集中在透视点上的一个或多个轴上的指定因子,“缩放”**通过拉伸对象来调整其大小。 “转换” 在相对于其父级而不是相对于其透视点的三维空间中找到了对象。

您可以通过使用建模工具或通过设置属性转换和对象。

通过使用“建模工具”来转换对象

  1. 在**“选择”**模式下,选择要转换的对象。 wireframe 覆盖指示已选中对象。

  2. 在**“模型编辑器”工具栏上,选择“转换”“缩放”“旋转”**工具。 转换、缩放或显示选定对象的旋转操控器。

  3. 使用操控器执行转换。 对于转换和缩放变换,操控器为轴指示器。 您可以同时更改一个轴,或者通过使用在指示器的中心的空多维数据集可以同时更改所有轴。 对于旋转,操控器是由按颜色编码的圆构成的球,各圆分别对应 x 轴(红),y 轴(绿)和 z 轴(蓝)。 您不必逐个更改各个轴便可创建您想要的旋转。

通过设置属性来转换对象

  1. 在**“选择”**模式下,选择要转换的对象。 wireframe 覆盖指示已选中对象。

  2. 在**“属性”窗口中,为“旋转”“缩放”“转换”**属性指定值。

    重要

    对于“旋转”属性,分别指定绕三轴中的每一轴旋转的程度。按顺序应用旋转,因此要确保对旋转进行计划,首先按照 X 轴旋转,然后按 y 轴,最后按 z 轴进行旋转。

通过使用建模工具,可以快速,但不精确地创建转换。 通过设置对象的属性,可以精确,但不快速指定转换。 建议您使用建模工具来获取“足够接近”您想的转换,然后微调属性值。

如果不希望使用操控器,可以启动任意形式的模式。 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“任意形式的操作”启用(或禁用)任意形式的模式。 在任意形式的模式下,可以启动随时设计图面上的处理而不是在操控器上的点。 在任意形式的模式下,可以通过锁定您不希望更改的来限制更改某些轴。 在“模型编辑器模式”工具栏上,选择“锁定 X”“锁定Y”“锁定 Z”**按钮的任意组合。

您可能发现它在通过使用对齐网格处理对象时很有用。 在**“模型编辑器模式”工具栏上,选择“对齐”**启用(或禁用)对齐网格。 在启用转至栅格时,转换、旋转和缩放变换受预定义递增的约束。

Hh315734.collapse_all(zh-cn,VS.110).gif使用透视点

对象的支点定义其旋转和缩放的中心。 您可以更改对象的支点以更改如何由旋转和缩放变换影响。 在**“模型编辑器模式”工具栏上,选择“数据透视模式”启用(或禁用)数据透视模式。 在启用透视模式时,小的轴指示器显示在所选对象的透视点上 然后,您可以使用“转换”“旋转”**工具操作支点。

有关演示如何使用支点的演示,请参见 如何:修改现有的三维模型

Hh315734.collapse_all(zh-cn,VS.110).gif全体和本地模式

转换和旋转可发生在该对象的局部坐标系统中(或 “局部参考框架”),或发生在世界坐标系统中(或 “世界参考框架”)。 全球参考框架与对象的旋转无关。 本地模式是默认设置。 若要启用(或禁用)全局节点,在**“模型编辑器模式”工具栏上,选择“WorldLocal”**按钮。

Hh315734.collapse_all(zh-cn,VS.110).gif修改对象

您可以通过移动或删除其顶点、边缘和文本更改三维对象的形状。 默认情况下,模型编辑器在“对象模式”,因此,您可以选择并转换整个对象。 若要选择点,边缘,或者文本,选择适当的选择模式。 在**“模型编辑器模式”工具栏上,选择“选择模式”**,然后选择所需的模式。

您可以通过挤压或细分创建其他的顶点。 延伸复制一个面上的顶点(共面顶点集),该面仍由复制后的顶点连接。 分解添加顶点先前创建具有一些文本。 若要创建新面,添加新顶点 — 一个在初始面的中心,一个在各边的中间 — 然后将其与初始顶点结合起来。 在原始面中添加的面数与边数相等。 在这两种情况下,可以转换、旋转和缩放新的顶点来更改对象的几何图形。

从对象延伸面

  1. 在面选择模式下,选择要延伸的面。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“延伸”**。

细分面

  1. 在面选择模式下,选择要细分的面。 由于分解创建新的边缘数据,当文本是相邻时分解所有文本立即得到更多一致结果。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“细分”**。

还可以三角测量文本、合并对象和转换多边形选定内容到新的对象中。 三角测量创建了其他边缘,以便将非三角形面转换成三角形的最优数目;但是它不提供其他几何详细信息。 将组合选定的对象合并到一个对象中。 可以由多边形选择创建新的对象。

将文本分为三角形

  1. 在面选择模式下,选择要三角测量的面。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“三角测量”**。

合并对象

  1. 在对象选择模式下,选择要合并的对象。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“合并对象”**。

从多边形选择创建对象

  1. 在面选择模式下,选择要从面中创建新的对象。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“工具”“从多边形选择创建新对象”**。

Hh315734.collapse_all(zh-cn,VS.110).gif使用材料和着色器

对象的外观取决于照明的交互在场景的和对象的材料。 材料由描述图面如何对不同类型的光源做出反应的属性定义,并且由基于照明信息、纹理映射、常规映射和其他数据计算的对象图面上的每个像素的最终颜色的着色器程序定义。

模型编辑器提供这些默认材料:

材料

描述

Unlit

无需使用任何模拟光照即可呈现图面。

朗伯

使用模拟的环境光和漫射光照呈现图面。

Phong

使用模拟的环境光、漫射光照以及反射高光呈现图面。

这些材料中的每一应用于对象的图面上的纹理。 您可以为使用材料的每个对象设置不同的纹理。

若要修改特定对象对场景中的不同光源的影响,可以更改与使用材料无关的其他对象的材料的照明属性。 此表描述常见照明属性:

照明属性

描述

环境

描述图面如何受环境照明的影响。

散开

描述图面如何受定向和点光的影响。

放射性

描述图面如何发出光源,与其他照明无关。

镜像

描述图面如何影响定向和点光。

镜像电源

描述反射高光的范围和强度。

根据材料支持,可以更改其照明属性、纹理和其他数据。 在**“选择”模式下,选择想要更改的材料对象,然后在“属性”窗体中,更改“MaterialAmbient”“MaterialDiffuse”“MaterialEmissive”“MaterialSpecular”“MaterialSpecularPower”,或其他可用的属性。 材料可以公开到八纹理,属性从“纹理 1”“纹理 2”**按顺序命名。

若要从对象中移除所有材料,在**“模型编辑器”** 工具栏,选择**“脚本”“材料”“移除材料”**。

您可以使用**“着色器设计器”**创建可以运用于您的三维场景的对象的自定义着色器材料。 有关如何创建自定义着色器材料的更多信息,请参见 着色器设计器。 有关如何将自定义着色器材料应用于对象的信息,请参见 如何:向三维模型应用着色器

Hh315734.collapse_all(zh-cn,VS.110).gif场景管理

您可以管理场景作为对象的层次结构。 在多个对象在层次结构中排列时,任何转换、比例或父节点的旋转也影响其子级。 这在要构建复杂对象或更基本对象中的场景时有用。

您可以使用**“文档大纲”窗口查看场景层次结构和选择场景节点。 当您在大纲中选择节点时,您可以使用“属性”** 窗口来修改其属性。

您可以通过生成其中一个父级到其他的或一起分组他们作为父级的占位符节点下的同级构造对象的层次结构。

创建具有父对象的层次结构

  1. 在**“选择”**模式下,选择两个或多个对象。 所选的第一个将为父对象。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“场景管理”“附加到父级”**。

创建同级对象的层次结构

  1. 在**“选择”**模式下,选择两个或多个对象。 创建占位符对象并成为其父对象。

  2. 在**“模型编辑器”工具栏上,依次选择“脚本”“场景管理”“创建组”**。

模型编辑器使用白色线框标识第一个选定的对象(变为父级)。 选择中的其他对象具有蓝色线框。 默认情况下,不显示非占位符节点。 若要显示占位符节点,在**“模型编辑器”** 工具栏上,选择**“脚本”“场景管理”“显示占位符节点”**。 您可以处理占位符节点,就像处理非占位符节点对象一样。

若要删除在两个对象之间父子关联,选择子对象,然后在**“模型编辑器”工具栏,选择“脚本”“场景管理”“从父级分离”**。 在从子对象中分离父级时,景色中子对象将变成根对象。

键盘快捷方式

Command

键盘快捷方式

选择“选择”模式。

Ctrl+G,Gtrl+Q

S

切换到“缩放”模式

Ctrl+G, Ctrl+Z

Z

切换到“平移”模式

Ctrl+G, Ctrl+P

K

全选

Ctrl+A

删除当前选定内容

删除

取消当前选择

转义符

放大

向前滚动鼠标轮

Ctrl+ 向前滚动鼠标轮

Shift+鼠标轮(向前)

Ctrl + PageUp

加号 (+)

缩小

向后滚动鼠标轮

Ctrl+ 向后滚动鼠标轮

Shift+鼠标轮(向后)

Ctrl + PageDown

减号 (-)

向上平移照相机

PageDown

向下平移照相机

PageUp

向左平移照相机

左鼠标轮

Ctrl + PageDown

向右平移照相机

右鼠标轮

Ctrl + PageDown

查看模型顶端

Ctrl+L, Ctrl+T

T

查看模型底

Ctrl+L, Ctrl+U

查看模型左侧

Ctrl+L, Ctrl+L

查看模型右侧

Ctrl+L, Ctrl+R

查看模型前端

Ctrl+L, Ctrl+F

查看模型后端

Ctrl+L, Ctrl+B

窗口中的帧对象

F

切换线框模式。

Ctrl+L, Ctrl+W

切换对齐网格

Ctrl+G, Ctrl+N

切换数据透视模式

Ctrl+G, Ctrl+V

切换 x 轴限制

Ctrl+L, Ctrl+X

切换 y 轴限制

Ctrl+L, Ctrl+Y

切换 z 轴限制

Ctrl+L, Ctrl+Z

切换到转换模式

Ctrl+G, Ctrl+W

W

切换到缩放模式

Ctrl+G, Ctrl+E

E

切换到旋转模式

Ctrl+G, Ctrl+R

R

切换点选择模式

Ctrl+L, Ctrl+1

切换边缘选择模式

Ctrl+L, Ctrl+2

切换面选择模式

Ctrl+L, Ctrl+3

切换对象选择模式

Ctrl+L, Ctrl+4

对轨道(照相机)模式切换

Ctrl+G, Ctrl+O

选择场景中的下一对象

Tab

选择场景中的上一对象

Shift+Tab

根据当前工具操作选定的对象。

方向键

停用当前操控器

Q

旋转式摄像机

用鼠标按钮左键点 Alt+Drag

相关主题

标题

描述

为游戏和应用程序使用三维资产

提供您可以使用的 Visual Studio 工具的概览,以处理图形资产(如,纹理和图像、三维模型和着色器效果)。

图像编辑器

描述如何使用 Visual Studio 图像编辑器以纹理和图像运行。

着色器设计器

描述如何使用 Visual Studio 着色器设计器以着色器运行。