下载客户端

模组制作:Blender导入/导出脚本及使用方法

2026-04-03 22:00:12

AI智能总结导读

本文分享了一款用于《霸权3:古代冲突》的Blender导入/导出.xnt格式模型的脚本,能让制作者无需3dsmax即可为游戏模组添加模型,还详细讲解了脚本的获取、安装、使用方法,以及顶点着色、UV映射等操作要点,同时提到该脚本存在加载模型延长游戏启动时间的问题。

一个导入/导出脚本以及相应教程,用于为模组制作自定义模型。 这可能有些理论化,因为游戏从模组文件夹加载自定义模型的时间过长。 简介 大家好。今天我要分享一个我四年前编写的Blender脚本,它可以让你导入和导出《霸权3:古代冲突》模型的.xnt格式文件,从根本上让你无需昂贵的3dsmax软件就能向游戏中添加模型。 当时我掌握了一些Blender的实用知识,刚好足够对模型进行小的修改,并让它们正确地进行纹理处理和动画制作。当然,还要理解这些东西在代码层面的工作原理,以便编写这个导入/导出脚本。但我并非Blender或建模方面的专家,而且这也不是一份关于如何完整制作模型的指南。本指南仅解释如何获取脚本、脚本的工作原理,以及一些需要注意的特殊之处等。 不得不承认,这个脚本在某些地方还不够完善。 我当时没有进一步开发它,是因为将自定义模型加载到《霸权3:古代冲突》的模组中会大幅延长游戏的启动时间! 我的PC已经用了7年,买的时候也只是中低端配置,所以我觉得这样做不太可取,因为我在拉丁姆模组中插入的一个自定义模型就已经让我的加载时间延长了好几分钟。总之,有些人对脚本感兴趣,所以这里提供了脚本以及这份相当仓促写成的指南。如果有人有兴趣进一步开发这个脚本,尽管去做!获取Blender脚本。安装方法将取决于你的操作系统。我假设如果你是有经验的模组制作者和/或建模师(你可能需要具备这些技能才能理解本指南),你自己能弄明白。对我个人而言,在Windows系统上,我必须将文件放在“addons”文件夹中。在Windows 10中,这个文件夹位于主安装目录内的某个位置,但在旧版本的Windows中,它也可能位于AppData Roaming目录下的某个地方。Blender可能也有更简便的脚本安装方法,无需手动移动文件,不过我对此不太熟悉。 从《霸权3:古代冲突》.xnt文件导入模型 要导入模型,我刚在“文件->导入”菜单中添加了一个新选项——“导入霸权XNT”。 游戏的大多数模型都是从存档文件加载的,无法直接用于模组制作。不过,开发者已在entities_mesh_examples.zip中提供了3个示例模型,该压缩包可在此处获取。 在以下示例中,我导入了“拉丁矛兵”模型,它是3个可用示例模型之一。

导入方向有点奇怪。拉丁矛兵模型似乎是面朝下放置的,而且实际上是镜像的,这可能是因为Blender的坐标系排列方式不同。 上次使用这个脚本时,我就顺其自然,直接在面朝下的位置编辑模型。但如果有人真的对此感到困扰,请告诉我,我会添加额外代码来在导入/导出时转换坐标。 编辑模型 这不是Blender教程,我假设你已经了解基本操作方法。 另外,说实话,我已经有4年没做过任何建模相关的事情了,几乎记不清Blender里某些功能的位置。所以我也不是解释这些的最佳人选。但是,要让模型在《霸权3:古代冲突》中正常运行并配合我的导出脚本,必须遵守一些通用规则。 顶点着色 《霸权3:古代冲突》中的部分模型,尤其是单位模型,会使用多种纹理。 单位模型通常有自己的纹理,还有一个共享的“武器”纹理,用于头盔和武器等物品,此外模型的部分区域还会动态显示派系的“盾牌”纹理。 更重要的是,还有第四种纹理,由许多单位共享,用于士兵的面部。 游戏使用哪些纹理由单位实体定义,所有单位实体都可在entities_units.zip中找到(目前这超出了本教程的范围)。但模型上每个纹理的使用位置,实际上是通过一种相当独特的方式定义的:即通过顶点着色。 这些颜色不会以任何方式在游戏中显示,而是让游戏知道在模型的哪些部分使用哪些纹理的一种方式。 黑色顶点表示模型自身的基础纹理。 蓝色顶点表示许多单位共享的“武器”纹理。 绿色顶点表示“面部”纹理。 红色顶点表示相关派系的“盾牌”纹理。 请看我修改的持方盾矛兵的以下示例。你可以看到盾牌外侧为红色,盾牌内侧和头盔为蓝色,头部为绿色,其他地方为黑色。

但这里有个问题 Blender 默认的“顶点绘制”工具并不满足我们的需求。 为什么呢? 因为游戏只允许每个顶点使用一种颜色。 而使用 Blender 的顶点绘制工具时,你可以为顶点的不同环绘制不同的顶点颜色(也就是说,在 Blender 中,一个顶点可以为每个相连的面设置单独的颜色,但《霸权3:古代冲突》不允许这种情况)。 如果一个顶点针对不同面有不同颜色,我的导出脚本会随机选择其中一种颜色分配给该顶点。这样不会立即出现错误,但结果很可能与你的预期不符。 此外,颜色可能需要完全准确,游戏才能识别并正确确定在该位置使用哪种纹理。出于这些原因,我转而创建了一个独立的顶点着色工具! 它的工作方式非常基础,但能完成任务并确保遵守《霸权》的规则。 在编辑模式下,前往杂项面板。那里应该有一个小小的“霸权颜色”部分。现在只需选择你想要着色的顶点,然后从下拉菜单中的4种颜色中进行选择。 这将确保所有选定的顶点只具有一种颜色,并且是精确的正确颜色值。 也许Blender有(或者在我制作这个脚本后的4年里新增了)一种内置方法来确保顶点的所有面都具有相同的颜色,但我上次查找时没能找到。

注意:为了使导出脚本正常工作,所有顶点绘制都应在名为【Hegemony_Color】的顶点颜色层中完成。我的导入脚本会默认创建此图层。 UV映射 与顶点颜色类似,每个顶点只允许有一个UV映射坐标。避免为同一顶点的不同面设置单独的UV坐标,否则导出脚本将被迫进行简化,结果可能与预期不符。 与顶点颜色一样,所有UV映射都需要在名为【Hegemony_UV】的UV层中完成(我的导入脚本会自动创建该图层)。 这在操作时可能会有些混乱,因为根据顶点颜色代码的定义,此UV映射实际上将同时对应多达4个不同的图像文件。骨骼绑定 在游戏中,骨架的每根骨骼都有一个简单的数字ID(从0开始)。每个顶点最多可分配给4根骨骼,且每根骨骼都有单独的权重,这些权重之和必须为100%。 在Blender中,我的脚本直接使用顶点组来对应骨骼。每根骨骼都位于名为“heg_bone_[骨骼编号]”的顶点组中。 不要将顶点组用于骨骼以外的其他用途,并确保它们都命名正确。否则导出脚本将无法正常工作。 你可以在编辑模式下,选中顶点后,使用属性面板中的“顶点权重”工具来微调骨骼权重。 法线 在此处你无需进行任何操作,Blender会自动计算法线、切线和副法线。不过要确保所有法线都朝外,否则模型(的部分)将不可见! 要做到这一点,在导出前进入编辑模式,按A选择所有顶点,然后依次点击网格->法线->重新计算外部(或按CTRL+N)。 将模型导回霸权XNT格式 不出所料,我们依次点击文件->导出->导出霸权XNT,这里我添加了一个新的文件保存菜单。 不过,文件保存菜单左下角有一些选项【必须设置】。 具体来说,我们需要输入将要导出为.xnt文件的对象名称。 此外,我们可以选择要导出的是单位模型还是道具。

唯一的区别在于,道具是更简单的模型,没有动画且只有一张纹理。因此,脚本不会尝试导出顶点组和顶点颜色。道具的纹理在模型.xnt文件中自行定义,完成后你需要手动将其添加到那里。 对于单位模型,如果一切顺利,导出的.xnt文件应该是可用的,你可以直接在模组中使用,无需进一步修改。

评论

共0条评论
face
inputImg
相关阅读
最新更新

最新更新

  • 模组制作:Blender导入/导出脚本及使用方法 — 一个导入/导出脚本以及相应教程,用于为模组制作自定义模型。 这可能有些理论化,因为游戏从模组文件夹加载自定义模型的时间过长。 简介 大家好。今天我要分享一个我四…
  • 新手指南 — 这是一份包含技巧、窍门和基本策略的快速游戏入门指南,内容主要来源于官方维基和加载界面提示——旨在让新玩家更轻松地开始游戏。如需更深入的信息,请查阅官方维基! 开…
  • 新手指南 — 主要介绍了以公式维基和加载界面提示为核心的游戏提示、技巧及基本战略等内容。更想了解更高级的信息,请查看官方维基。 游戏开始前: 1. 首次进行战役时,请慎重考虑…
  • 技术问题急救包 — 解决游戏启动技术问题的一些基本提示: 检查你的电脑是否满足系统要求 最低配置: 操作系统:XP、Vista、7、8和10 处理器:英特尔酷睿i5处理器 内存:2…
  • 新手指南 — 这是一份游戏快速入门指南,包含技巧、窍门和基础策略,主要来源于官方维基和加载界面提示,旨在让新玩家更轻松地上手。想了解更进阶的内容,请查阅官方维基! 开始游戏前…
  • 新手指南 — 这是一份包含提示、技巧和基本策略的游戏简介,主要来源于官方维基百科和加载屏幕提示,旨在帮助新玩家顺利起步。如需进阶信息,请查阅官方维基百科! 开始游戏前 首次进…
  • 新手指南 — 这是一份包含提示、技巧和基础策略的游戏简介——主要来源于官方维基和加载界面提示——旨在帮助新玩家轻松上手。更多信息可在官方维基中查询! 游戏开始前的考虑事项 1…
  • 新手指南 — 这是一份简短的游戏入门指南,包含技巧、窍门和基本策略,内容主要来源于官方维基和加载界面提示,旨在帮助新玩家更好地上手。更深入的信息可在官方维基中查询! 开始游戏…