Skip to content

人形生物2.0使用指南 ​

人形生物2.0较之前的人形生物编辑自由度更高,细化了人形角色的可编辑部分,能够适配更丰富的玩法创作。

本页面将介绍人形生物2.0的使用方法,包括新素体的编辑和自定义资源的资产制作流程。

资源集中下载 ​

蛋仔骨骼文件
蛋仔骨骼文件
蛋仔角色的标准骨骼文件,格式为 .max,包含完整骨架结构,可用于制作符合规范的蛋仔角色蒙皮与动画。
人形骨骼文件
人形骨骼文件
人形生物2.0的标准骨骼文件,包含完整骨架结构,可用于制作符合规范的人形角色蒙皮与动画。请根据所用软件选择对应格式下载。

外观编辑 ​

人形生物2.0的外观编辑支持调整人形生物的肤色、发型、面部特征和装扮。

外观编辑

人形资源导入 ​

选择本地模型 ​

  1. 在导航栏中进入资源管理器

顶部文件菜单

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

文件管理器选择模型

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

选择导入类型

模型资源规范 ​

具体的骨骼节点规范可参考该模型,导入模型时将校验必选的骨骼节点与命名是否一致

⬇️ 下载(.FBX) 文件

模型信息编辑 ​

  1. 模型校验通过后,会先进入骨骼映射关系设置窗口,可在此界面修改模型原骨骼和游戏内的人形骨骼的映射关系

骨骼映射关系

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

自定义模型导入

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

复制资源ID

注意

个人上传的资源,如果没有公开资源,其他人获取到了资源ID也无法在他拥有的地图中下载该资源

角色标准骨架(角色导入标准) ​

软件需求 ​

Autodesk 3ds Max 17 +(可在更高的Max版本制作)

骨架文件下载 ​

人形骨骼文件

⬇️ 下载(.FBX) 文件

人形骨骼文件

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

UGC骨架预览 ​

UGC骨架预览

角色标准骨架使用说明 ​

  1. 不可修改fbx文件的单位尺寸,默认文件单位为英寸

  2. fbx文件内部已经对齐了前后左右上下方向,所有参考请以各软件默认导入导出设置作为参考范本,不可随意修改朝向

  3. 不可增删或重命名任意绑定骨骼,最终模型蒙皮信息可以不用包含所有提供的骨骼

    骨骼集合下拉菜单

    CS骨骼集合

    CS骨骼集合层级CS骨骼集合视图

    Biped 骨骼集合

    Biped骨骼集合层级Biped骨骼集合视图
  4. 若模型和当前骨架比例不匹配,则需要修改模型的比例结构来适配当前标准骨架

  5. 创建蒙皮时可通过旋转与轴向位移修改骨骼体型和姿态来匹配模型,但是禁止使用缩放。且修改后整体骨骼体积不可差距过大

  6. 模型一旦蒙皮,不可靠动画K帧来修改体型

  7. 蒙皮单顶点受骨骼影响的数量不能超过4个

    顶点权重工具蒙皮骨骼影响限制
  8. 在不影响本体骨架的约束或父子关系下可自行制作骨骼约束功能(仅可用于制作模型,不可用于制作动画)

  9. 不能存在0权重顶点信息,需要自行检查删除

  10. 最终蒙皮文件须还原至默认A Pose

    默认A Pose

  11. 不可出现数值为0的缩放

  12. 不可直接使用蒙皮模型创建动画(新人形2.0动画是跨体型共用的,所以不能使用编辑体型后的蒙皮骨骼创建动画),创建动画请参考下述《角色绑定文件示例》

角色绑定文件示例(动画导入标准) ​

角色绑定文件由《角色标准骨架》为基础制作,提供多种主流软件绑定示例文件,可直接使用标准骨架或者示例绑定文件直接制作或者映射动画。

绑定文件下载 ​

人形blender绑定文件(Rigify) ​

软件需求:blender 5.2 及以上

人形blender绑定文件(Rigify)

附件:humanoid_blender5_2.blend(429.43KB)

⬇️ 下载(.blend) 文件

人形3dsmax绑定文件(CharacterStudio) ​

软件需求:3dsmax 2024 及以上

人形3dsmax绑定文件(CharacterStudio)

附件:humanoid_max2024.max(3.99MB)

⬇️ 下载(.max) 文件

人形maya绑定文件(HumanIK) ​

软件需求:maya 2024 及以上

人形maya绑定文件(HumanIK)

附件:humanoid_maya2024.ma(1.61MB)

⬇️ 下载(.ma) 文件

动画制作说明 ​

  1. 选择任意绑定文件,或者直接导入《角色标准骨架》然后开始制作,不可使用修改体型或者骨骼姿势后的蒙皮骨骼制作动画。

  2. 动画编辑过程可以任意隐藏阻挡视线的组件,并不影响编辑

  3. 示例文件中的蒙皮仅作建议动画校验,需要使用自定义模型或者官方模型预览,请将fbx动画文件导入 蛋仔派对编辑器 进行预览

  4. 将时间轴移动至目标帧,通过 角色控制器 调整角色姿态并打上关键帧;亦可开启右下角的“自动关键帧”模式,实时记录姿态变化

    关键帧与骨架位移信息

动画输出说明 ​

  1. 选择所有biped骨骼集合,并左上角菜单内选择 导出选定对象

    选择所有biped骨骼导出选定对象
  2. 在输出选项中选择动画,并勾选烘培动画 和 全部重采样设置,其余默认,点击确定即可输出到指定的文件夹下

    FBX导出设置

Blender资产制作流程 ​

版本推荐 Blender 5.2 以上,优先使用.blend文件。

如果不使用绑定文件,可以按照以下步骤修改显示。

导入选项 ​

因为Max骨骼坐标轴和Blender未统一,默认导入的骨架会呈现离散的结构,此为正常现象,不能选择自动骨骼坐标系,会破坏骨骼信息

Blender导入选项面板离散骨架结构

动画制作 ​

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

绑定骨架与约束层级绑定骨架

动画导出 ​

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

选择biped骨骼集Blender导出选项面板

人形2.0动画制作说明 ​

使用FBX文件制作动画 ​

此骨架为蛋仔工坊内目前使用的人形骨架结构,即人形生物2.0的骨架,按照此骨架制作导出的蒙皮模型即可套用当前人形生物2.0的所有动画。

⬇️ 下载(.FBX) 文件

使用说明 ​

  1. 不可修改文件内的单位尺寸
  2. 不可删除初始biped骨骼集或修改biped骨骼集内容,其余自定义骨骼集随意增删
  3. 不可增删或重命名任意绑定骨骼,最终模型蒙皮信息可以不用包含所有提供的骨骼
  4. 不能在编辑模式下修改任意当前骨骼的绑定位置、旋转、和缩放信息,但可在运动模式下控制骨骼摆Pose来检查蒙皮效果
  5. 若模型和当前骨架比例不匹配,则需要修改模型的比例结构来适配当前标准骨架
  6. 蒙皮单顶点受骨骼影响的数量不能超过4个
  7. 在不影响本体骨架的约束或父子关系下可自行制作骨骼约束功能
  8. 不能存在0权重顶点信息,需要自行检查删除
  9. 最终蒙皮文件须还原至默认A Pose

软件需求 ​

blender,3dsmax,maya(任选其一)

演示所用软件版本:

  • blender 5.2.0 LTS
  • 3dsmax 2024
  • maya 2024

人形骨架结构

通过Blender使用FBX文件 ​

注意事项 ​

Blender标准场景

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

使用说明 ​

Blender动画工作区

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

Blender导出FBX

通过3dsmax使用FBX文件 ​

注意事项 ​

3dsmax标准场景

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

使用说明 ​

3dsmax骨骼关键姿态

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

3dsmax导出FBX

通过Maya使用FBX文件 ​

注意事项 ​

Maya标准场景

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

使用说明 ​

Maya骨骼关键姿态

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

Maya导出所有

使用3dsmax CS骨骼系统(Biped)制作动画 ​

(文件源为3dsmax2024)

⬇️ 下载(.max) 文件

使用说明 ​

Biped标准场景

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

Biped骨骼关键姿态

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

Biped导出FBX

使用Maya HIK骨骼系统(HumanIK)制作动画 ​

(文件源为Maya2024)

⬇️ 下载(.ma) 文件

HumanIK标准场景

使用说明 ​

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

HumanIK骨骼关键姿态

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

HumanIK导出所有

蒙皮编辑流程 ​

蒙皮是一种将模型的网格顶点附着到内部骨骼上,通过骨骼的运动来驱动表面模型产生形变和动画的技术。

和挂接模型不同,蒙皮与角色共用同一套骨骼,会跟随所有骨骼动画整体变形,适合衣物、装甲等贴身部件;而挂接模型是作为独立刚体附着在某个骨骼节点上,只跟随该节点的位移旋转,适合武器、道具等。

蒙皮添加流程

  1. 导入资源后,在资源管理中右键复制模型资源id,使用该id在接下来的API中索引模型资源
  2. 使用对应的Lua API添加蒙皮
  3. 添加蒙皮后,才可以给这块蒙皮设置染色/贴图
功能接口
添加蒙皮add_mesh_model(model_id)
移除蒙皮remove_mesh_model(model_id)
蒙皮染色set_mesh_paint_color(model_id, paint_area, color, material_index)
蒙皮贴图set_mesh_texture(model_id, texture_key, material_index)

示例 ​

lua
local shirtModel = 10001     -- 上衣的网格模型编号(示意值)
local textureKey = 990011    -- 贴图编号(示意值)

-- 1. 挂上蒙皮
unit.add_mesh_model(shirtModel)

-- 2. 对上衣的区域1染红色(材质 0)
unit.set_mesh_paint_color(
    shirtModel,
    Enums.ColorPaintAreaType.AREA_1,
    0xFF0000,
    0
)

-- 3. 替换这块蒙皮上材质 0 的贴图
unit.set_mesh_texture(shirtModel, textureKey, 0)

人形生物2.0相关API ​

原点编辑器中人形生物2.0为生命体(LifeEntity),生命体上的调用形式为 unit.方法(...)。

网格模型(蒙皮) ​

接口与参数 ​

接口参数作用
unit.add_mesh_model(model_id)模型编号给生命体添加网格模型
unit.remove_mesh_model(model_id)模型编号移除指定的网格模型
unit.set_mesh_paint_color(model_id, paint_area, color, material_index)模型编号、染色区域、颜色、子材质索引给已添加的网格模型染色
unit.set_mesh_texture(model_id, texture_key, material_index)模型编号、贴图编号、子材质索引给已添加的网格模型换贴图
参数说明
model_id网格模型编号(整数)
texture_key贴图编号(整数)
paint_area染色区域:Enums.ColorPaintAreaType.AREA_1 ~ AREA_4(即区域1 ~ 区域4)
color颜色(整数,如 0xFF0000 表示红色)
material_index该网格模型内部的子材质序号,默认 0

示例 ​

示例中的单位 / 模型 / 贴图编号均为示意值,请替换为实际使用的编号。

lua
local unit = GameAPI.get_unit(1)          -- 通过编号取到生命体(1 为示意值);也可用 role.get_ctrl_unit()

local MESH = 10001                        -- 网格模型编号(示意值,请替换)
local TEX  = 990011                       -- 贴图编号(示意值,请替换)
local RED  = 0xFF0000                     -- 红色

-- 1. 先添加网格模型
unit.add_mesh_model(MESH)

-- 2. 再设置它的颜色与贴图
unit.set_mesh_paint_color(MESH, Enums.ColorPaintAreaType.AREA_1, RED, 0)
unit.set_mesh_texture(MESH, TEX, 0)

-- 3. 不需要时移除(颜色、贴图会一并清除)
unit.remove_mesh_model(MESH)

注意事项 ​

  • 同一个「模型编号」只能添加一次,重复添加不会生效。
  • 先添加、后设置:贴图与染色都要针对已添加的网格模型,未添加时设置不会生效。
  • 移除网格模型时,它的贴图与染色会一并清除,无需单独还原。
  • 生命体更换模型后,已添加的网格模型会自动恢复,一般不需要重新添加。

面部表情 ​

生命体(LifeEntity) 播放 新人形 面部表情。

调用形式为 Lua 接口 unit.play_human_face_expression(face_expression_key, duration)。

可用表情 ​

表情编号表情
10001待机
10002大笑
10003失落
10004愤怒
10005震惊

接口与参数 ​

lua
unit.play_human_face_expression(face_expression_key, duration)
参数类型说明
face_expression_key整数表情编号,见上表
duration秒> 0:限时播放,到点自动恢复;<= 0:不自动恢复
  • 无返回值。

示例 ​

示例中的单位编号为示意值,请替换为实际使用的编号。

lua
local unit = GameAPI.get_unit(1)          -- 通过编号取到生命体(1 为示意值);也可用 role.get_ctrl_unit()

-- 1. 播放「大笑」表情,持续 3 秒,到点自动恢复
unit.play_human_face_expression(10002, 3)

-- 2. 播放「愤怒」表情
unit.play_human_face_expression(10004, 0)

-- 3. 切回「待机」表情
unit.play_human_face_expression(10001, 0)