主题
人形生物2.0使用指南
人形生物2.0较之前的人形生物编辑自由度更高,细化了人形角色的可编辑部分,能够适配更丰富的玩法创作。
本页面将介绍人形生物2.0的使用方法,包括新素体的编辑和自定义资源的资产制作流程。
资源集中下载
外观编辑
人形生物2.0的外观编辑支持调整人形生物的肤色、发型、面部特征和装扮。

人形资源导入
选择本地模型
- 在导航栏中进入资源管理器

- 进入文件管理器后,选中模型分类,点击“选择模型”

- 在跳出的窗口中下拉选中“导入角色(人形骨骼)”的选项,确认后即可呼出文件资源管理器查找本地的模型资源

模型资源规范
具体的骨骼节点规范可参考该模型,导入模型时将校验必选的骨骼节点与命名是否一致
模型信息编辑
- 模型校验通过后,会先进入骨骼映射关系设置窗口,可在此界面修改模型原骨骼和游戏内的人形骨骼的映射关系

- 确认骨骼关系后,进入模型信息编辑界面,与原流程基本一致

- 所有模型资源都拥有对应的资源ID(包括官方资源),使用该ID在接下来的API中索引模型资源

注意
个人上传的资源,如果没有公开资源,其他人获取到了资源ID也无法在他拥有的地图中下载该资源
角色标准骨架(角色导入标准)
软件需求
Autodesk 3ds Max 17 +(可在更高的Max版本制作)
骨架文件下载
人形骨骼文件

人形生物2.0的标准骨骼文件,格式为 .FBX,包含完整骨架结构,可用于制作符合规范的人形角色蒙皮与动画。
UGC骨架预览

角色标准骨架使用说明
不可修改fbx文件的单位尺寸,默认文件单位为英寸
fbx文件内部已经对齐了前后左右上下方向,所有参考请以各软件默认导入导出设置作为参考范本,不可随意修改朝向
不可增删或重命名任意绑定骨骼,最终模型蒙皮信息可以不用包含所有提供的骨骼
CS骨骼集合


Biped 骨骼集合


若模型和当前骨架比例不匹配,则需要修改模型的比例结构来适配当前标准骨架
创建蒙皮时可通过旋转与轴向位移修改骨骼体型和姿态来匹配模型,但是禁止使用缩放。且修改后整体骨骼体积不可差距过大
模型一旦蒙皮,不可靠动画K帧来修改体型
蒙皮单顶点受骨骼影响的数量不能超过4个


在不影响本体骨架的约束或父子关系下可自行制作骨骼约束功能(仅可用于制作模型,不可用于制作动画)
不能存在0权重顶点信息,需要自行检查删除
最终蒙皮文件须还原至默认A Pose

不可出现数值为0的缩放
不可直接使用蒙皮模型创建动画(新人形2.0动画是跨体型共用的,所以不能使用编辑体型后的蒙皮骨骼创建动画),创建动画请参考下述《角色绑定文件示例》
角色绑定文件示例(动画导入标准)
角色绑定文件由《角色标准骨架》为基础制作,提供多种主流软件绑定示例文件,可直接使用标准骨架或者示例绑定文件直接制作或者映射动画。
绑定文件下载
人形blender绑定文件(Rigify)
软件需求:blender 5.2 及以上

附件:humanoid_blender5_2.blend(429.43KB)
人形3dsmax绑定文件(CharacterStudio)
软件需求:3dsmax 2024 及以上

附件:humanoid_max2024.max(3.99MB)
人形maya绑定文件(HumanIK)
软件需求:maya 2024 及以上

附件:humanoid_maya2024.ma(1.61MB)
动画制作说明
选择任意绑定文件,或者直接导入《角色标准骨架》然后开始制作,不可使用修改体型或者骨骼姿势后的蒙皮骨骼制作动画。
动画编辑过程可以任意隐藏阻挡视线的组件,并不影响编辑
示例文件中的蒙皮仅作建议动画校验,需要使用自定义模型或者官方模型预览,请将fbx动画文件导入 蛋仔派对编辑器 进行预览
将时间轴移动至目标帧,通过 角色控制器 调整角色姿态并打上关键帧;亦可开启右下角的“自动关键帧”模式,实时记录姿态变化

动画输出说明
选择所有biped骨骼集合,并左上角菜单内选择 导出选定对象


在输出选项中选择动画,并勾选烘培动画 和 全部重采样设置,其余默认,点击确定即可输出到指定的文件夹下

Blender资产制作流程
版本推荐 Blender 5.2 以上,优先使用.blend文件。
如果不使用绑定文件,可以按照以下步骤修改显示。
导入选项
因为Max骨骼坐标轴和Blender未统一,默认导入的骨架会呈现离散的结构,此为正常现象,不能选择自动骨骼坐标系,会破坏骨骼信息


动画制作
建议先自行搭建一套绑定骨架并对导入的UGC骨架进行一对一约束,方便动画制作时的管理


动画导出
导出时需要选中所有原Max Biped骨骼,也可创建骨骼集进行选择,导出选项按照下图所示


人形2.0动画制作说明
使用FBX文件制作动画
此骨架为蛋仔工坊内目前使用的人形骨架结构,即人形生物2.0的骨架,按照此骨架制作导出的蒙皮模型即可套用当前人形生物2.0的所有动画。
使用说明
- 不可修改文件内的单位尺寸
- 不可删除初始biped骨骼集或修改biped骨骼集内容,其余自定义骨骼集随意增删
- 不可增删或重命名任意绑定骨骼,最终模型蒙皮信息可以不用包含所有提供的骨骼
- 不能在编辑模式下修改任意当前骨骼的绑定位置、旋转、和缩放信息,但可在运动模式下控制骨骼摆Pose来检查蒙皮效果
- 若模型和当前骨架比例不匹配,则需要修改模型的比例结构来适配当前标准骨架
- 蒙皮单顶点受骨骼影响的数量不能超过4个
- 在不影响本体骨架的约束或父子关系下可自行制作骨骼约束功能
- 不能存在0权重顶点信息,需要自行检查删除
- 最终蒙皮文件须还原至默认A Pose
软件需求
blender,3dsmax,maya(任选其一)
演示所用软件版本:
- blender 5.2.0 LTS
- 3dsmax 2024
- maya 2024

通过Blender使用FBX文件
注意事项

- 通过blender导入fbx文件,可以得到如上标准场景
- 因blender限制,标准fbx骨骼在blender中的八面体显示如上图所示,不能随意修改
- 不可随意修改场景尺寸
- 不可增删和重命名任意节点
- 不允许有关节缩放为 0 的帧
使用说明

- 切换到Animation workspace
- 在轨道上制作姿态关键帧
- 使用默认fbx导出设置,导出场景为fbx文件(如下图)即制作完成

通过3dsmax使用FBX文件
注意事项

- 通过3dsmax导入fbx文件,可以得到如上标准场景
- 不可随意修改场景尺寸,保持默认
- 不可增删和重命名任意节点
- 不允许有关节缩放为 0 的帧
使用说明

- 调整轨道插入时间
- 在轨道上制作骨骼关键姿态并创建关键帧
- 通过 导出所有(export all)导出,需要勾选 烘焙动画(bake animation)与 重采样(resample all),导出场景为fbx文件(如下图)即制作完成

通过Maya使用FBX文件
注意事项

- 通过maya导入fbx文件,可以得到如上标准场景
- 不可随意修改场景尺寸,保持默认
- 不可增删和重命名任意节点
- 不允许有关节缩放为 0 的帧
使用说明

- 调整轨道插入时间
- 在轨道上制作骨骼关键姿态并创建关键帧
- 通过 导出所有(export all)导出,需要勾选 烘焙动画(bake animation)与 重采样(resample all),导出场景为fbx文件(如下图)即制作完成

使用3dsmax CS骨骼系统(Biped)制作动画
(文件源为3dsmax2024)
使用说明

- 移动时间轴到需要制作关键帧的时刻
- 通过CS骨骼系统编辑姿态,并添加K帧

- 通过 导出所有(export all)导出,需要勾选 烘焙动画(bake animation)与 重采样(resample all),导出场景为fbx文件(如下图)即制作完成

使用Maya HIK骨骼系统(HumanIK)制作动画
(文件源为Maya2024)

使用说明
- 移动时间轴到需要制作关键帧的时刻
- 通过HIK骨骼系统编辑姿态,并添加K帧

- 通过 导出所有(export all)导出,需要勾选 烘焙动画(bake animation)与 重采样(resample all),导出场景为fbx文件(如下图)即制作完成

蒙皮编辑流程
蒙皮是一种将模型的网格顶点附着到内部骨骼上,通过骨骼的运动来驱动表面模型产生形变和动画的技术。
和挂接模型不同,蒙皮与角色共用同一套骨骼,会跟随所有骨骼动画整体变形,适合衣物、装甲等贴身部件;而挂接模型是作为独立刚体附着在某个骨骼节点上,只跟随该节点的位移旋转,适合武器、道具等。
蒙皮添加流程
- 导入资源后,在资源管理中右键复制模型资源id,使用该id在接下来的API中索引模型资源
- 使用对应的Lua API添加蒙皮
- 添加蒙皮后,才可以给这块蒙皮设置染色/贴图
| 功能 | 接口 |
|---|---|
| 添加蒙皮 | AddMeshByAssetId(assetId) |
| 移除蒙皮 | RemoveMeshByAssetId(assetId) |
| 蒙皮染色 | SetMeshColor(assetId, colorKey, color, materialIndex) |
| 蒙皮贴图 | SetMeshTexture(meshAssetId, textureAssetId, materialIndex) |
人形生物2.0相关API
世界编辑器中,人形生物上的调用形式为 unit:方法(...)。
接口
| 接口 | 作用 |
|---|---|
AddMeshByAssetId(assetId) | 在人形生物身上叠加一层蒙皮 |
RemoveMeshByAssetId(assetId) | 移除该蒙皮(同时清掉它的染色与贴图) |
SetMeshColor(assetId, colorKey, color, materialIndex) | 给已添加的蒙皮染色 |
SetMeshTexture(meshAssetId, textureAssetId, materialIndex) | 给已添加的蒙皮换贴图 |
参数
| 参数 | 说明 |
|---|---|
assetId / meshAssetId | 蒙皮资源(custom:// 资源地址) |
textureAssetId | 贴图资源(custom:// 资源地址) |
colorKey | 染色区域:Enums.HumanMeshColor.COLOR1 ~ COLOR4(即区域1 ~ 区域4) |
color | 颜色,用 Color.New(r, g, b, a)(0~255) |
materialIndex | 该蒙皮内部的子材质序号,默认 0 |
示例
示例中的资源均为示意值,请替换为实际上传的蒙皮 / 贴图资源。
lua
local MESH = "custom://xxxxxx" -- 蒙皮资源(示意资源,请替换)
local TEX = "custom://yyyyyy" -- 贴图资源(示意资源,请替换)
local RED = Color.New(255, 0, 0, 255)
-- 1. 先添加蒙皮
unit:AddMeshByAssetId(MESH)
-- 2. 再设置这块蒙皮的颜色与贴图
unit:SetMeshColor(MESH, Enums.HumanMeshColor.COLOR1, RED, 0)
unit:SetMeshTexture(MESH, TEX, 0)
-- 3. 不需要时移除(颜色、贴图会一并清除)
unit:RemoveMeshByAssetId(MESH)注意事项
- 顺序不能反:必须先用
AddMeshByAssetId添加蒙皮,之后对这块蒙皮调用SetMeshColor/SetMeshTexture才有效。 - 更换人形生物的「模型资源」会清空已添加的蒙皮,需要重新添加并重设染色 / 贴图。
- 多人地图请写在服务端:蒙皮设置由服务端下发才能让所有玩家看到一致效果;只在客户端调用仅本机可见。

