跳转至

1.4 模型导入与编辑

IdeaVR2021中,我们新增了导入模型的方式方法,以及对模型新的操作形式,接下来您将了解到 三种模型导入方式模型场景编辑网格实例节点材质编辑GSGMesh

三种模型导入方式

IdeaVR2021中,我们为您提供三种途径的模型导入方法

第一种:将模型文件,或含有模型和贴图的文件夹直接拖拽到编辑器中。

第二种:点击文件下方的导入按钮,可以选择导入单独的资源,也可以导入一个打包好的压缩包(常用于导入插件或项目合并)。

注意

压缩包的支持格式为.zip 导入的模型支持格式为.obj/.fbx/.dae/.gltf/.glb/.stl

第三种:在下方文件菜单空白处右键鼠标,选择在文件管理器中打开,在弹出的文件夹中,将自己的模型或资源放入在该文件下。

模型导入异常处理方案

当导入Fbx模型时出现模型导入失败的提示,或导入的模型出现不完整时,可以选择该模型文件,在导入选项中找到Fbx导入选项,勾选启用FbxSDK,点击重新导入来解决这个问题。

温馨提示

第一次导入若贴图未自动赋上,请删除自动生成的材质球,勾选FBX选项后重新导入模型。

模型场景编辑

查看或编辑模型

当我们双击打开模型时,直接打开模型场景,仅用于查看资源。

imageCover 修改后保存,会出现提示。

imageCover

确定后,可将其保存为新场景。

imageCover

!!! 温馨提示:

由于模型资源是外部导入,引擎无法修改原始文件,因此您可以选择新建继承对其进行修改,或者不用修改选择仍然打开按钮,查看模型。

模型的网格信息

当我们打开一个场景或模型后,它的场景树结构在我们界面右侧,不同的节点类型代表网格,动画,骨骼不同的信息信息。

imageCover Spatial 空间节点,具有三维坐标信息,一般用作三维场景的根节点;

imageCover MeshInstance 网格实例节点,包含模型的网格信息。当选择该节点时,会在属性栏显示模型相应的变换数值,网格信息,材质信息等属性。

imageCover

带有动画信息的模型

当我们导入一个带有动画属性的模型时,在场景树结构中,会看到这个模型下方挂载着一个动画编辑器,点击这个动画编辑器节点,即可弹出这个模型相对应的动画关键帧调节窗口,以便用户做调整和预览。详细操作可查看 “3.3 动画系统”

imageCover

带有骨骼信息的模型

当我们导入一个带有绑定好骨骼的模型时,在场景树结构中,会看到场景中的节点图标呈现一个小骨骼的样式 imageCover ,说明这个节点时带有骨骼信息的,当点击骨骼节点时,会在模型的属性菜单栏中,看到一个选中编辑骨骼,展开可以编辑每个bone的变换属性。

imageCover

场景中引用模型

引用子场景

引用子场景的两种方法: 第一种:选中场景中的目标节点后,拖入下方文件栏中的模型到主视口或节点树上的模型节点,即可引用该模型。

imageCover

第二种:右键场景节点树上的模型,选择实例化子场景,然后选择需要添加的模型即可引用该模型到场景中。

imageCover

imageCover

编辑子场景

当我们导入一个模型进入场景时,会看到这个模型后方带有一个小图标,说明这个模型做为一个引用场景,是不可更改材质等属性的,如果想要更改这个模型的细节,有两种操作办法: 第一种:点击模型后方的图标 imageCover 打开查看或编辑。

imageCover

第二种:在节点树上对子场景右键操作,可看到子场景编辑选项:

  • 勾选 加载为占位符 ,仅在运行时动态加载子场景资源,主要应用于较大的子场景,可提升编辑主场景时的引擎性能。

  • 点击 使用本地 ,将模型以及其子节点实例化到当前场景中,不再受子场景影响。

  • 勾选 子节点可编辑 ,即可在当前场景下展开子场景节点进行编辑。可更改模型的材质,位移,缩放,旋转等属性。

imageCover

!!! 注意:

当我们选择这个模型下的子节点时,会看到属性变成了红色字体说明当前为继承熟悉,仍受子场景影响。若修改将覆盖继承属性,信息将保存在主场景。

imageCover

网格实例节点(MeshInstance)

网格实例节点(MeshInstance)是IdeaVR 2021 最基础的节点类型之一,是模型网格数据在场景中的载体。用户也可新建空的网格实例节点,自定义方块,球形,圆柱体,面片等基础形状。

节点属性

当用户导入一个模型或者创建好一个MeshInstance时,点击该模型,可以看到在右侧下方出现MeshInstance节点属性,接下来,我们将讲解这些节点的属性。

变换: 所有空间节点都具备的属性。在这个菜单栏中,可以对物体进行平移,旋转,缩放的操作,在这个菜单栏中输入数值,或在场景中直接进行平移,旋转,缩放即可。

网格: 对于场景中建立的MeshInstance,不同的形态下有对应不同的参数,例如胶囊体下是模型半径,中心点高度,封端数等参数。

自定义AABB: 自定义包围盒用于相机的视锥体剔除计算,在使用shader偏移顶点时避免意外剔除用处较大,其中x、y、z表示位置,w、h、d表示尺寸。

材质: 本区域将在下一章节详细讲解,这里不再赘述。

在这个区域可以调整物体表面反照率,金属度,粗糙度,自发光,法线贴图,环境遮蔽,UV,标志等常用属性。

阴影: 继承自几何实例类的属性,可以设置该物体接受投射阴影的模式。

可见性: 继承自空间节点的属性,用于控制物体的显隐,常应用于交互编辑器,或动画系统的关键帧制作。

多人协同: 这个属性主要针对于多人协同的同步状态,可以进行开启和关闭,但是需要注意的是,在启用这个多人协同之前,必须先在交互编辑器中开启多人系统交互。

节点工具

当选中场景中网格实例节点后,可以在主视口右上角找到网格节点工具。点击可对当前节点进行操作

创建三角网格静态实体: 会添加一个和该模型一致的物理静态碰撞网格,该功能作用为能够在漫游中有物理碰撞效果,不可穿模效果。常用于地面、墙面、障碍物等静止物体上。

其他自动生成网格工具: 分别对应下图中不同精度的碰撞网格,自动寻路网格以及相同形状的mesh网格

!!! 温馨提示:

自动寻路网格一般用于地面上的面片进行自动寻路路径设置,或是对于某个单独寻路的模型进行设置,不适合用于大体积的场景或是墙面

查看UV: 当选中模型点击查看 UV 时,则会弹出该模型对应的UV窗口进行查看

材质编辑

IdeaVR的材质系统支持PBR材质效果,可创建ShaderMaterial和SpatialMaterial。 SpatialMaterial 是所有3D节点的基础材质类型。 ShaderMaterial 可基于自定义着色器对材质进行高级属性的编辑。 本章将介绍基础材质SpatialMaterial。

SpatialMaterial

点击模型材质球选项时,会弹出下方材质属性选项。

反照率: 在纹理选项中,可以贴入物体的漫反射贴图,在颜色选项中,可以改变物体表面的漫反射颜色。

金属: 在纹理选项中,可以贴入物体的金属反射贴图,在金属属性里,通过滑块调节或直接输入数值,调节物体表面的金属度。

粗糙度: 在纹理选项中,可以贴入物体的粗糙度贴图,在粗糙度属性中,通过滑块调节或直接输入数值,调节物体表面的粗糙度。

自发光: 勾选启用选项后,可调节物体表面自发光颜色以及通过能量滑块,调节物体自发光强度。

法线贴图: 勾选启用选项后,可贴入物体表面的法线贴图,通过移动滑块,调节法线贴图的应用强度以适配模型。

环境遮蔽: 勾选启用按钮,可贴入环境遮蔽贴图,并可调节光线所能影响的强度。

UV: 可更改物体表面的贴图缩放以及偏移比率。

注意

UV选项中的偏移值为-1~1之间的数值

构造实体几何形状(CSGShape)

CSG代表“构造实体几何”,它是一种组合基本形状或自定义网格以创建更复杂形状的工具。在3D建模软件中,CSG通常被称为“布尔运算符”。 在三维引擎中一般无法对外部导入模型的网格信息直接修改,因此在IdeaVR中,我们可以利用CSG形状的灵活可编辑性,快速搭建简易关卡,适用于场景原型设计。

快速创建 我们可以从顶部菜单栏的快速创建栏,获得构造实体几何(CSG)相关的形状节点。包括CSG方块,CSG圆柱体,CSG球形,CSG环形,CSG多边形。专业版还提供了自定义网格(CSGMesh)和CSG组合器(CSGCombiner)

注意

IdeaVR中的CSG节点主要用在原型创作上,不支持UV贴图和3D多边形。

基础功能

  • 合并(Union)合并两个基础形状的部分,删除相交部分。
  • 相交(Intersection)只保留相交的基础形状,删除其余部分。
  • 扣除(Subtraction)从第一个形状减去第二个形状,留下一个带有其形状的凹痕。

主要操作

  • 网格编辑形状 CSG模型物体属性编辑可进行平移,旋转,缩放属性调节,也可直接对长宽高,边数,锥体等参数进行调节,或在场景中,对模型形态进行编辑操作。

  • 翻转面 反转面勾选后,模型会只保留内表面的面片显示,并且始终保持内表面朝向摄像机。

  • 布尔运算 当创建两个CSG模型时,将他们作为父子级放在一起的时候,可以进行合并,相交,删减等操作,如图所示。

  • 阴影 选择物体后,可以改变它的投射阴影为接受,或取消,如图所示,接受则会有阴影出现,取消泽没有阴影出现。

  • 可见性 这个节点可以控制物体的显示或影藏,主要应用在于对这个属性制作关键帧,添加动画后,可见节点后会有关键帧的小钥匙按钮,可以进行关键帧K帧。

专业版功能

CSG多边形(CSGPolygon)

CSGPolygon节点沿2D(x,y坐标)绘制的多边形按照深度方向、旋转、路径方式进行拉伸。 * 深度(Depth)向后拉伸一定量。 * 旋转(Spin)在绕原点旋转时拉伸。 * 路径(Path)沿路径中的节点进行拉伸,该操作通常被称为放样。

警告

路径必须要有路径节点,在路径模式下CSGPoligon才能按照路径拉伸。

自定义网格 任何网格都能应用于CSGMesh,网格可以在其他软件中建模并导入到IdeaVR中,支持多种材料,但是在几何方面有部分限制: * 必须是闭合网格 * 不能是自相交 * 不能包含内部面 * 每条边只能存在与两个面中

CSG组合器(CSGCombiner)

CSG组合器节点是一种用于组合其他节点的无形状节点,它只会组合子节点。CSG组合器节点有两个子节点,编辑器右侧属性窗口,操作下拉框选择相交(Intersection),结果仍为组合情况。