简介
您可以将在 SandMod 外部创建的资源引入到您的 SandMod 游戏项目中。
导入流程
您可以将 SandMod 支持的资产,以拖拽文件的方式,从操作系统的文件管理器中拖拽资产文件到 项目窗口(Project)的某个文件夹位置,等待编译,编译完成后即完成资产的导入操作。
【Import_Asset001.png】
多资产导入
如果您同时多拽多个资产文件到 项目窗口(Project)进行多资产导入,将会执行多资产导入,SandMod 会启动资产导入窗口,您可以在资产导入窗口管理多资产的导入以及查看导入的状态。
【Import_Asset002.png】
搜索(Search),使用资产导入窗口中的搜索框搜索并快速筛选导入的资产,形成列表。默认情况下,搜索会显示与搜索词部分匹配的所有资产。如果你使用多个搜索词,只有匹配所有词的资产才会显示。要清除搜索过滤,单击 搜索(Search)框右侧的 × 按钮。
是否导入勾选框,用于定义导入哪些资产。具体使用方法请参阅 选择设置 小节。
名称(Name),显示导入资产的名称,不包含后缀名。
类型(Type),显示导入资产的类型。
路径(Path),资产在资源管理器的位置。
状态(State),导入资产的状态,每种状态的含义请参阅 导入状态 小节。
状态栏,显示当前列表中的资产数量和选中确定导入的资产数量,如果正在导入资产,状态栏会显示导入的进度。
执行按钮,按钮文本显示 导入(Import) 时,点击按钮将执行资产导入操作,SandMod 会导入选中的一个或多个资产;如果在导入状态,按钮文本显示 取消(Cancel),点击按钮将中断资产导入。
值得注意的是,如果您想要预览导入的资产,您可以在资产导入窗口的列表中点击对应的资产条目,系统将自动启动资源管理器,并显示放置该资产文件夹以及选中对应资产,方便您在资源管理器中预览对应资产。
【Import_Asset003.png】
选择设置
您可以通过点击是否导入勾选框控制导入哪些资产和不导入哪些资产。
当勾选框不勾选,点击 导入(Import) 按钮后不会将对应资产导入项目中。
当勾选框勾选,点击 导入(Import) 按钮后对应资产将导入项目中。
点击标题栏的按钮可以全选或全不选资产。
【Import_Asset004.png】
导入状态
根据资产的导入状态不同,状态栏会显示对应资产的导入状态,其中包含以下状态:
等待导入(Waiting Import),资产未导入或导入进程没到当前资产。
成功(Success),资产导入成功,您可以在 项目窗口(Project)中查看导入的资产。
失败(Fail),源文件损毁或进程中断导致导入失败,需要您确保资产正常后重新执行导入操作。
导入动画与模型资产
SandMod 支持您导入 FBX(.fbx)格式的模型。
如果您拖拽 FBX 模型文件到 项目窗口(Project)进行多资产导入,将会执行模型相关资产的导入,SandMod 会启动 FBX 导入选项窗口,您可以在 FBX 导入选项窗口管理对应模型导入的相关设置。
FBX 导入选项窗口包含以下内容:
【Import_Asset005.png】
当前导入信息栏(Current FBX Information),显示当前导入模型资产的信息,包括 FBX 文件的全称和后缀名。
重置按钮(Reset),点击后重置所有选项为默认值,如果检测到当前导入的 FBX 文件没有 骨骼(Skeleton)、网格(Mesh)、贴图(Texture)或 动画(Animation)任意一个或多个内容,对应选项也会自动取消勾选。
选项列表(List Of Options),设置 FBX 文件导入的详细设置,每个属性选项的具体含义和配置方法请参阅 FBX 导入选项列表 小节。
导入按钮(Import),根据选项列表的配置,将当前 FBX 文件分为 预制体(Prefab)、材质(Material)、骨骼(Skeleton)、网格(Mesh)、贴图(Texture)和 动画(Animation)任意一个或多个资产导入至游戏项目中。
取消按钮(Cancel),取消当前 FBX 文件的导入,并关闭 FBX 导入选项窗口。
FBX 导入选项列表
通用配置
【Import_Asset006.png】
| 名称 | 描述 |
| 创建文件夹(Create Folder) | 设置是否为导入的 FBX 文件产生的资产新建文件夹。 |
| 覆盖文件(Overwrite Files) | 设置是否将该次导入产生的相关资产,覆盖当前导入路径下的同名资产。 |
| 预制体导入(Imports As Prefab) | 设置是否将 FBX 中相关的 骨骼(Skeleton)、网格(Mesh)、材质(Material)自动组装并保存为 预制体资产(Prefab Asset)。如果 FBX 文件中不包含网格信息,属性会自动设置为 不勾选(False),且无法编辑。 |
| 导入为骨骼资产(Import Skeleton) | 设置是否将 FBX 中的骨骼信息转换为 骨骼资产(Skeleton Asset),并导入编辑器。如果 FBX 文件中不包含骨骼信息,属性会自动设置为 不勾选(False),且无法编辑。 |
| 导入为网格资产(Import Meshes) | 设置是否将 FBX 中的网格信息转换为 网格资产(Mesh Asset),并导入编辑器。如果 FBX 文件中不包含网格信息,属性会自动设置为 不勾选(False),且无法编辑。 |
| 导入纹理(Import Texture) | 设置是否将 FBX 中包含的纹理贴图导入编辑器。如果 FBX 文件中不包含纹理贴图,属性会自动设置为 不勾选(False),且无法编辑。 |
| 导入为动画资产(Import Animation) | 设置是否将 FBX 中的动画信息转换为 动画片段资产(Animation Clip Asset),并导入编辑器。如果 FBX 文件中不包含动画信息,属性会自动设置为 不勾选(False),且无法编辑。 |
导入网格相关
如果导入的 FBX 文件有网格数据,且 导入为网格资产(Import Meshes)的值为 勾选(True),您将可以在FBX 导入选项窗口中配置或查看以下属性:
【Import_Asset007.png】
| 名称 | 描述 |
| 创建材质(Create Material) | 设置是否为模型的 网格(Mesh)及其 子网格(SubMesh)创建并挂载材质。 |
| 法线(Normals) | 设置模型导入后网格信息的法线配置方式。 · 无(None),导入 FBX 产生网格资产时,不导入或计算法线信息,导入后产生的网格资产没有法线信息,不受光照影响。 · 导入(Import),从当前导入的 FBX 文件中导入发现,如果 FBX 文件不包含法线信息,则按照 计算(Calculate)选项的方式计算网格的法线信息。 · 计算(Calculate),通过 计算加权法线(Calculate Weighted Normals)、平滑角度(Smoothing Angle)属性条目的属性值,以及 储存了平滑度值的纹理信息(Smoothness Source)计算法线,并保存在导入后产生的网格资产中。 |
| 计算加权法线(Calculate Weighted Normals) | 设置是否在计算法线或切线时,使用加权法线算法。 仅在 法线(Normals)属性的值为 导入(Import)或 计算(Calculate)时,此属性才会显示且可编辑。 |
| 平滑角度(Smoothing Angle) | 控制是否为硬边拆分顶点,此属性的设置仅用于非常光滑的或者非常复杂的模型,否则,最好在外部 3D 建模软件中手动平滑再导入 SandMod,在外部 3D 软件建模的时候就调好平滑会更加准确。 您可以拖拽滑动条调整属性值,属性值为 0 至 180 的浮点数,单位为度。属性值越大,产生的顶点越少。 仅在 法线(Normals)属性的值为 导入(Import)或 计算(Calculate)时,此属性才会显示且可编辑。 |
| 切线(Tangents) | 设置如何导入或计算网格的顶点切线信息。 仅在 法线(Normals)属性的值为 导入(Import)或 计算(Calculate)时,此属性才会显示且可编辑。 · 无(None),导入后产生网格资产时,不产生网格顶点的切线信息。这会导致产生的网格没有切线,无法实现 着色器(Shader)中与 法线贴图(Normal Texture)相关的方法和显示效果。 · 导入(Import),导入后产生网格资产时,从导入的 FBX 文件中导入顶点切线信息。如果导入的 FBX 文件没有网格的切线信息,将会与此属性的属性值为 无(None)的效果一致。 · 计算 MikkTSpace(Calculate MikkTSpace),使用 MikkTSpace 算法来计算切线。MikkTSpace 算法规定了计算 副切线(Bitangent)的方式,通过 法线(Normal)方向和副切线方向反推网格顶点切线的信息。 |
导入动画相关
如果导入的 FBX 文件有动画数据,且 导入为动画资产(Import Animation)的值为 勾选(True),您将可以在FBX 导入选项窗口中配置或查看以下属性:
【Import_Asset008.png】
| 名称 | 描述 |
| 绑定当前骨骼(Bind Current Skeleton) | 设置是否将当前导入的 动画片段资产(Animation Clip Asset),绑定当前导入的 骨骼资产(Skeleton Asset)。 如果导入的 FBX 文件不包含骨骼信息,属性值将会为 不勾选(False),且无法编辑。 |
| 绑定骨骼资产(Bind To Skeleton Asset) | 通过配置此属性,导出产生的动画片段资产的 骨骼(Skeleton)属性将会自动绑定此属性分配的骨骼资产。 仅在 绑定当前骨骼(Bind Current Skeleton)属性的值为 不勾选(False)时,此属性才会显示且可编辑。 |
| 动画压缩(Animation Compression) | 设置是否压缩导入时的动画关键帧密度。 |
| 移除等尺曲线(Remove Constant Scale Curves) | 设置导出动画信息时是否保留等尺曲线信息。 仅在 动画压缩(Animation Compression)属性的值为 勾选(True)时,此属性才会显示且可编辑。 |
| 位置(Position) | 两关键帧之间,位置(Position)各轴信息的变化最小绝对值。 如果两关键帧之间 位置(Position)各轴信息的变化绝对值小于此数值,动画导入时将不会对后一个关键帧的该轴 位置(Position)信息保存在动画片段资产中。 属性值为大于或等于 0 的浮点数。属性值越大,动画精度越高,但是文件大小和内存占用也更大。 仅在 动画压缩(Animation Compression)属性的值为 勾选(True)时,此属性才会显示且可编辑。 |
| 旋转(Rotation) | 两关键帧之间,旋转(Rotation)各轴信息的变化最小绝对值。 如果两关键帧之间 旋转(Rotation)各轴信息的变化绝对值小于此数值,动画导入时将不会对后一个关键帧的该轴 旋转(Rotation)信息保存在动画片段资产中。 属性值为大于或等于 0 的浮点数。属性值越大,动画精度越高,但是文件大小和内存占用也更大。 仅在 动画压缩(Animation Compression)属性的值为 勾选(True)时,此属性才会显示且可编辑。 |
| 缩放(Scale) | 两关键帧之间,缩放(Scale)各轴信息的变化最小绝对值。 如果两关键帧之间 缩放(Scale)各轴信息的变化绝对值小于此数值,动画导入时将不会对后一个关键帧的该轴 缩放(Scale)信息保存在动画片段资产中。 属性值为大于或等于 0 的浮点数。属性值越大,动画精度越高,但是文件大小和内存占用也更大。 仅在 动画压缩(Animation Compression)属性的值为 勾选(True)时,此属性才会显示且可编辑。 |
属性沿用
为了方便您在导入多个 FBX 文件时可以快速套用同一套导入标准,SandMod 会记录选项列表的属性配置,下次打开该窗口时,无论导入的 FBX 文件是否为同一个文件,都会沿用上次导入的属性配置,如果需要重置属性配置,您需要点击 重置按钮(Reset)进行重置。
【Import_Asset009.png】
