模型导入与编辑
IdeaXR中,您可以方便得导入模型,并进行编辑修改。接下来您将了解到 三种模型导入方式 、模型场景编辑 、网格实例节点 、材质编辑 、GSGMesh 。
三种模型导入方式
IdeaXR中,我们为您提供三种途径的模型导入方法
第一种:将模型文件,或含有模型和贴图的文件夹直接拖拽到编辑器中。
第二种:点击文件下方的导入按钮,可以选择导入单独的资源,也可以导入一个打包好的压缩包(常用于导入插件或项目合并)。
note
压缩包的支持格式为.zip 导入的模型支持格式为.obj/.fbx/.dae/.gltf/.glb/.stl
第三种:在下方文件菜单空白处右键鼠标,选择在文件管理器中打开,在弹出的文件夹中,将自己的模型或资源放入在该文件下。
模型导入方式03.png
模型导入异常处理方案
当导入Fbx模型时出现模型导入失败的提示,或导入的模型出现不完整时,可以选择该模型文件,在导入选项中找到Fbx导入选项,勾选启用FbxSDK,点击重新导入来解决这个问题。
note
第一次导入若贴图未自动赋上,请删除自动生成的材质球,勾选FBX选项后重新导入模型。
模型场景编辑
查看或编辑模型
当我们双击打开模型时,直接打开模型场景,仅用于查看资源。
修改后保存,会出现提示。
确定后,可将其保存为新场景。
caution
由于模型资源是外部导入,引擎无法修改原始文件,因此您可以选择新建继承对其进行修改,或者不用修改选择仍然打开按钮,查看模型。
模型的网格信息
当我们打开一个场景或模型后,它的场景树结构在我们界面右侧,不同的节点类型代表网格,动画,骨骼不同的信息信息。
- Spatial 空间节点,具有三维坐标信息,一般用作三维场景的根节点;
- MeshInstance 网格实例节点,包含模型的网格信息。当选择该节点时,会在属性栏显示模型相应的变换数值,网格信息,材质信息等属性。
带有动画信息的模型
当我们导入一个带有动画属性的模型时,在场景树结构中,会看到这个模型下方挂载着一个动画编辑器,点击这个动画编辑器节点,即可弹出这个模型相对应的动画关键帧调节窗口,以便用户做调整和预览。详细操作可查看 “3.3 动画系统”
带有骨骼信息的模型
当我们导入一个带有绑定好骨骼的模型时,在场景树结构中,会看到场景中的节点图标呈现一个小骨骼的样式,说明这个节点时带有骨骼信息的,当点击骨骼节点时,会在模型的属性菜单栏中,看到一个选中编辑骨骼,展开可以编辑每个bone的变换属性。
场景中引用模型
引用子场景
引用子场景的两种方法:
第一种:选中场景中的目标节点后,拖入下方文件栏中的模型到主视口或节点树上的模型节点,即可引用该模型。
第二种:右键场景节点树上的模型,选择实例化子场景,然后选择需要添加的模型即可引用该模型到场景中。
编辑子场景
当我们导入一个模型进入场景时,会看到这个模型后方带有一个小图标,说明这个模型做为一个引用场景,是不可更改材质等属性的,如果想要更改这个模型的细节,有两种操作办法:
第一种:点击模型后方的图标 imageCover 打开查看或编辑。
第二种:在节点树上对子场景右键操作,可看到子场景编辑选项:
- 勾选 加载为占位符 ,仅在运行时动态加载子场景资源,主要应用于较大的子场景,可提升编辑主场景时的引擎性能
- 点击 使用本地 ,将模型以及其子节点实例化到当前场景中,不再受子场景影响。
- 勾选 子节点可编辑 ,即可在当前场景下展开子场景节点进行编辑。可更改模型的材质,位移,缩放,旋转等属性。
note
当我们选择这个模型下的子节点时,会看到属性变成了红色字体说明当前为继承熟悉,仍受子场景影响。若修改将覆盖继承属性,信息将保存在主场景。
网格实例节点(MeshInstance)
网格实例节点(MeshInstance)是IdeaXR最基础的节点类型之一,是模型网格数据在场景中的载体。用户也可新建空的网格实例节点,自定义方块,球形,圆柱体,面片等基础形状。
节点属性
当用户导入一个模型或者创建好一个MeshInstance时,点击该模型,可以看到在右侧下方出现MeshInstance节点属性,接下来,我们将讲解这些节点的属性。
变换: 所有空间节点都具备的属性。在这个菜单栏中,可以对物体进行平移,旋转,缩放的操作,在这个菜单栏中输入数值,或在场景中直接进行平移,旋转,缩放即可。
网格: 对于场景中建立的MeshInstance,不同的形态下有对应不同的参数,例如胶囊体下是模型半径,中心点高度,封端数等参数。
自定义AABB: 自定义包围盒用于相机的视锥体剔除计算,在使用shader偏移顶点时避免意外剔除用处较大,其中x、y、z表示位置,w、h、d表示尺寸。
材质: 在这个区域可以调整物体表面反照率,金属度,粗糙度,自发光,法线贴图,环境遮蔽,UV,标志等常用属性。
阴影: 继承自几何实例类的属性,可以设置该物体接受投射阴影的模式。
可见性: 继承自空间节点的属性,用于控制物体的显隐,常应用于交互编辑器,或动画系统的关键帧制作。
节点工具
当选中场景中网格实例节点后,可以在主视口右上角找到网格节点工具。点击可对当前节点进行操作
创建三角网格静态实体: 会添加一个和该模型一致的物理静态碰撞网格,该功能作用为能够在漫游中有物理碰撞效果,不可穿模效果。常用于地面、墙面、障碍物等静止物体上。
其他自动生成网格工具: 分别对应下图中不同精度的碰撞网格,自动寻路网格以及相同形状的mesh网格
note
自动寻路网格一般用于地面上的面片进行自动寻路路径设置,或是对于某个单独寻路的模型进行设置,不适合用于大体积的场景或是墙面
查看UV: 当选中模型点击查看 UV 时,则会弹出该模型对应的UV窗口进行查看
材质编辑
IdeaXR的材质系统支持PBR材质效果,可创建ShaderMaterial和SpatialMaterial。 SpatialMaterial 是所有3D节点的基础材质类型。 ShaderMaterial 可基于自定义着色器对材质进行高级属性的编辑。 本章将介绍基础材质SpatialMaterial。
note
相关shader的内容请参考3D渲染-着色器章节。
SpatialMaterial
点击模型材质球选项时,会弹出下方材质属性选项。
反照率: 在纹理选项中,可以贴入物体的漫反射贴图,在颜色选项中,可以改变物体表面的漫反射颜色。
金属: 在纹理选项中,可以贴入物体的金属反射贴图,在金属属性里,通过滑块调节或直接输入数值,调节物体表面的金属度。
粗糙度: 在纹理选项中,可以贴入物体的粗糙度贴图,在粗糙度属性中,通过滑块调节或直接输入数值,调节物体表面的粗糙度。
自发光: 勾选启用选项后,可调节物体表面自发光颜色以及通过能量滑块,调节物体自发光强度。
法线贴图: 勾选启用选项后,可贴入物体表面的法线贴图,通过移动滑块,调节法线贴图的应用强度以适配模型。
环境遮蔽: 勾选启用按钮,可贴入环境遮蔽贴图,并可调节光线所能影响的强度。
UV: 可更改物体表面的贴图缩放以及偏移比率。
note
UV选项中的偏移值为-1~1之间的数值