跳到主要内容

3D 人物从模型到行走:Blender 与 Cocos 如何分工

依据:Blender 官方制作能力与 Cocos Creator 3.8 模型、动画、场景及角色控制器文档。本文为资源链路与控制逻辑的教学拆解,未实际完成模型导入、小游戏构建或微信真机验证。

Blender 可以完成角色外观、骨骼绑定、蒙皮和动作制作;Cocos 与脚本把这些资源组织成玩家能操作的人物。 这些是不同工序,可以由同一个制作工具完成,也可以由不同成员交付。做微信 3D 小游戏时,Blender 是一种资源制作选择。

本篇以一个在地面上待机、走路、转向的人物为例。先理解 动效总览 中的工具、技术与引擎分层,再看本篇的三维资源流程;二维图片部件与 Spine 的对比仍见 序列帧与 Spine。

一个会走路的人物需要哪些工序​

从零制作柔性三维人物时,可以按下面的流程组织工作。已经带骨骼和动作的资源,可以从导入验收开始;用几何体测试移动时,也可以先跳过人物骨骼制作。

三维人物从模型外观、骨骼与蒙皮、动作制作,经资源导出进入 Cocos,再由脚本控制并构建为微信小游戏

工序解决什么问题产物与交接重点
建模 Mesh人物的头、身体、衣服是什么立体形状?网格、法线与合理的关节结构
UV、贴图与材质图片怎样贴到表面,皮肤和衣服怎样显色?UV 坐标、纹理、材质参数;最终在引擎中检查外观
骨架与绑定 Rigging哪些关节能动,父子关系如何,动画师怎样摆姿势?骨骼层级、绑定关系及制作时使用的控制设置
蒙皮与权重 Skinning骨骼运动时,模型表面哪些点跟着动、跟随多少?网格与骨骼的关联、每个顶点受骨骼影响的权重
动作制作 Animation迈腿、摆臂和身体起伏如何随时间变化?Idle、Walk 等动画片段,明确循环与位移约定
导出与引擎接入制作数据如何进入游戏,哪些内容被保留下来?FBX 或 glTF/GLB 等目标资源及纹理,在 Cocos 内验收
运行与控制玩家输入后,什么时候走、往哪走、何时停止?场景、动画切换、移动与转向脚本、平台构建

模型是表面几何,骨架是关节层级,蒙皮把两者连起来。例如转动小腿骨时,膝盖附近的顶点可能同时受大腿骨和小腿骨影响,权重决定这种影响的分配。只有骨架还不够,网格需要建立相应关系才能随关节变形。Blender 的 蒙皮介绍 和 Armature 修改器 说明了这类关联。

对由硬质部件组成的简易人物,也可以把部件直接挂到对应骨骼,让它们整体转动。具体采用哪种方式,要看关节是否需要连续变形;不必为每种造型强行采用同一套蒙皮方案。

Blender 能做到哪里​

“建模”和“动画”是不同工序,软件却可以同时提供这些能力。Blender 支持建模、UV 展开、纹理绘制,以及骨骼、权重和角色动画制作,包括走路循环。Blender 建模能力、动画与绑定能力

你想决定的事情在制作或运行流程中怎样处理
人物高矮、脸型、衣服轮廓在 Blender 等制作工具中调整模型
衣服颜色、表面质感制作贴图与材质,再在 Cocos 的实际光照和着色环境中调整
手脚怎么弯,走路怎么摆臂在制作工具中设置骨架、蒙皮并制作动作
推动摇杆开始走,松开后停下在 Cocos 工程中处理输入、移动和动画状态
走多快、碰墙怎么处理、何时允许攻击由游戏规则和运行时控制决定

Blender 里还可以预览相机、灯光和整段动画,游戏中的最终画面则由实际引擎场景决定。交付时要验证导出格式、材质与动画的转换结果;制作工程里的控制设置和着色效果,不能仅凭预览就视为已经进入微信小游戏。Cocos 的 材质系统 解释了运行时外观的组织方式。

Blender 是不是必选项​

做 3D 游戏需要合适的资源和运行方案,资源可以有多种来源。 引擎按资源数据加载模型,制作软件由团队工作流决定。

资源路线开发者从哪里开始需要检查什么
自己制作选择 Blender 或其他三维内容制作工具(DCC),完成所需工序导出格式、制作能力和维护成本
使用现成人物资源找到带网格、骨架和所需动作的资源,先导入验证使用与修改授权、纹理、动作、骨架和运行成本
美术同事或外包交付先约定交付内容,开发负责引擎接入单位、朝向、动作名称、循环与位移方式,源文件是否需要交付
基础几何体原型在 Cocos 中用立方体、球体或胶囊测试移动与交互操作、速度、相机和玩法是否成立,再替换正式人物

Cocos 提供基础 3D 对象创建入口,可以用于原型;其 模型资源文档 则说明了 FBX 和 glTF 的导入方式。因此,程序开发者可以先使用现成资源,把加载、播放与控制跑通,再按修改需求学习制作工具。

现成模型也要检查动作是否适配。来自其他骨架的走路动作,可能需要重定向、调整或重新制作;“都叫人形角色”并不保证动画可以直接互换。

现成人物与走路动画去哪里找​

初次接入时,优先选择已经绑定骨骼、并为同一个人物提供待机与走路动作的资源包。这样可以先验证加载、播放和移动,再扩展动作或调整造型。

来源可以找到什么选择时注意什么
Mixamo人物库、动作库,也支持上传人物后自动绑定骨骼使用需要 Adobe ID;先让一个人物应用一个走路动作,再扩展待机等动作。流程见 Adobe 官方说明
Quaternius:Ultimate Modular Men带成套动画的模块化人物,页面列有 FBX 等格式并标注 CC0查看该包实际下载文件、所需动作和部件组织;这里的授权标注仅针对链接指向的资源包
Kenney:Mini Characters页面标注带动画的三维小人资源,授权标注为 CC0下载后检查动作清单与可用格式,再选用于微信小游戏的小样

“带动画”可能只有跑步、跳跃或其他动作;本例要用的 Idle 和 Walk 需以下载包实际内容为准。下载前核对四项:

  1. 格式:有 Cocos 可接入的 FBX、GLB 或 glTF 文件,并保留纹理等依赖。
  2. 绑定:资源包含骨骼及网格与骨骼的关联,能按目标姿态变形;可查找 Rigged 标记。
  3. 动作:确实有需要的待机与走路片段,明确是否循环、是否原地;可查找 Animated 和动作列表。
  4. 授权:核对具体下载包的使用、修改和项目发布条件,并保留来源与授权说明。

从 Mixamo 开始的小样路线​

在 Mixamo 选择一个人物,为它选择走路动作并预览,下载时确认包含人物网格、骨骼、动作及相应纹理。先将这一份资源导入 Cocos,确认人物可见、关节正常且动作能播放,再为同一个人物补充待机或其他动作。Adobe 的教程 说明了人物选择、绑定和应用动画的过程。

后续动作尽量沿用同一人物与一致的导出设置。若人物和动画分成多个文件,在关联到目标人物前,先检查骨架、节点路径和绑定姿态;只有文件扩展名相同,无法保证动画能直接复用。遇到不匹配时,可能需要在 Blender 等工具中整理层级、重定向动作并重新导出。这仍属于资源接入工作,无需从头建模。

模型怎样进入 Cocos​

以 Cocos Creator 3.8 为参考,模型导入会生成网格、材质、纹理、骨骼、动画和预制体等子资源,具体内容取决于源文件。glTF 的动画会转换为动画剪辑,蒙皮节点会映射到蒙皮网格渲染组件,详见 模型资源 与 glTF 转换关系。

从下载包到可控制人物的六步​

  1. 整理下载包:将模型、纹理与说明保存在清晰的目录中。使用 .gltf 时,带上它引用的 .bin 和图片,保留相对路径;.glb 或 FBX 若还引用外部纹理,同样需要一并保留。
  2. 导入 assets:把所需文件放入 Cocos 项目的资源目录,展开模型,确认实际生成的网格、材质、骨骼、动画剪辑和预制体。若下载包将人物与动作分开,需先核对它们是否适配,再关联相应动画片段。
  3. 放入场景:将导入模型生成的预制体拖到场景中,调整位置、大小和朝向,设置能看到人物的相机及适当照明,先确认静态显示正常。
  4. 单独测试走路:找到人物负责骨骼播放的 SkeletalAnimation 组件,确认 Clips 列表已关联实际的走路片段,通过组件或脚本配置循环并播放。资源中的片段可能有自己的名称,不能直接假定它叫 Walk。
  5. 接入移动逻辑:采用原地走路时,由脚本根据输入更新人物的位置和朝向,移动时播放走路,停止后播放待机。具体分工见下文的走路案例。
  6. 构建微信小游戏:在目标环境检查材质、动画循环、脚底打滑、输入取消与暂停恢复,并记录加载、内存和帧时间。

以上是接入步骤建议,尚未用所列资源包完成本项目的 Cocos 导入或微信真机验证。引擎操作依据见 模型导入、glTF 资源转换 和 骨骼动画组件。

导入后的验收清单​

验收一个带 Idle 和 Walk 的人物时,先逐项确认:

  1. 外形和尺度:人物是否直立、朝向是否正确,模型与地面尺寸是否一致。
  2. 外观:纹理路径、材质与透明区域是否正确,使用游戏实际光照观察。
  3. 骨骼与动作:能否分别播放待机和走路,关节是否正确变形,循环接缝是否跳变。
  4. 位移约定:Walk 是原地摆腿,还是包含整体前进;控制脚本怎样配合。
  5. 场景显示:相机能否看到人物,裁剪、层级与材质设置是否符合预期。

在 Cocos 中,SkinnedMeshRenderer 负责蒙皮模型的渲染,SkeletalAnimation 可以用于播放骨骼动画。先完成片段播放与基础状态切换;需要复杂混合、分层或程序修改骨骼时,再核对所选动画系统与模式的能力。参见 蒙皮网格渲染器 和 骨骼动画。

走路动作与实际移动怎样配合​

本例采用“原地走路动画 + 程序位移”:动画让四肢和身体运动,脚本让人物在游戏世界前进。这样可以把动作表现与移动规则分别调试。

同一输入经移动控制更新人物位置和朝向,经动画状态控制播放 Idle 或 Walk,两者共同形成可控制的走路人物

一种简单的节点组织方式是:外层 CharacterRoot 负责世界位置和转向,内层 Visual 保存导入的网格、骨骼和动画。这样容易看清哪些变化来自游戏移动,哪些变化来自动作。下面是教学流程,不是本站已运行的 Cocos 游戏工程:

操作或状态移动控制负责什么动画控制负责什么
没有移动输入保持位置,速度归零保持 Idle
推动摇杆将输入转换为约定的世界方向,计算目标速度进入 Walk 并循环播放
持续行走并改变方向按时间更新位置,让朝向跟随行走方向继续播放,按需要调整播放速度
松开或取消触摸按设计立即停下,或减速至零在合适时机切回 Idle
被墙挡住由碰撞或角色移动方案确定实际位移根据实际运动和设计规则决定是否继续迈步

没有碰撞限制的平地原型,可以按“本帧位移 = 方向 × 速度 × 本帧经过时间”计算移动。输入长度可映射为速度,但对角线方向需要限制长度,避免斜走意外加速。摇杆方向是跟随相机还是固定世界方向,也需要约定。已有 输入与坐标 章节可帮助理解坐标转换的必要性,三维项目还要处理相机方向与地面平面的映射。

动画状态在条件变化时切换,保持行走时应继续播放当前片段;每帧重新从头播放 Walk 会让人物难以完成一次迈步。切换是否需要混合、加减速多快,取决于视觉目标与所用动画方案。

脚底打滑通常需要同时检查动作节奏和实际位移。 腿迈得慢而身体移动得快,会像滑过地面;角色被墙挡住后还以全速迈步,也会出现相似问题。先在固定视角下匹配一个走路循环的步幅与速度,再加入转向、加减速与阻挡。

另一种资源约定会在动画里包含角色根部的前进变化,常称根运动(Root Motion)。采用这种方案前,需要明确如何把动画位移交给游戏移动系统、如何处理碰撞,以及目标引擎版本是否提供所需支持。本例固定使用原地动作与脚本位移,避免动画和脚本重复推动人物。

碰撞、寻路、相机和灯光按需求加入​

目标需要补充的能力
只展示人物循环走路模型、动作播放与可见的相机设置即可,可按画面需要配置灯光
玩家推动摇杆控制移动输入、速度、转向、动画状态;明确输入取消与暂停后的恢复规则
人物不能穿墙,需要贴地或上下台阶增加地面检测、碰撞或角色控制方案;按目标后端验证
点击目的地后绕开障碍增加可走区域、路径搜索与沿路径移动,再驱动角色动作
人物被推飞或物体按受力运动按玩法评估刚体与物理模拟,并确定它与角色控制的切换规则

相机决定玩家视角,材质、光照和阴影影响人物在场景中的外观。首版可以采用固定相机与简单照明,再按表现需要增加跟随和阴影。相机与场景关系见 Cocos 场景工作流。

Cocos 3.8 提供盒与胶囊 角色控制器,该文档限定支持 Bullet 与 PhysX 后端。角色控制器与受力刚体的工作方式不同,使用前应核对后端、构建条件和目标微信环境;创建人物并不意味着必须启用这套组件。

寻路解决“从哪里经过”,移动控制解决“这一帧怎么前进”,动画解决“前进时身体怎么动”。仅让人物在空地上响应摇杆,可以先完成后两项。

微信小游戏首版怎样验证​

建议用一个人物、一个待机、一个原地走路动作和一块地面,先完成导入、播放、前进、转向与停止。用正式素材替换几何体后,重新检查模型朝向、尺度和动作节奏。

在资源和引擎小样中检查循环接缝、关节变形、脚底打滑、输入取消与暂停恢复。计划支持障碍物时,再增加贴地、墙体与台阶检查;不要仅以“编辑器中动作能播放”判定整个角色控制完成。

构建为微信小游戏后,在目标设备记录实际同屏人物数量、网格与骨骼复杂度、纹理内存、材质与绘制次数,以及光照和阴影开销。优先用真实资源测量,再决定是否减少细节、调整动画模式或降低非焦点角色更新频率。参见 微信交付链、资源管理 与 性能验证。

继续阅读与资料范围​

二维角色的附件、换装与界面交互见 角色展示,完整动效选型见 动效总览。本篇新增的 Rigging、Skinning 和 Root Motion 等词,可到 术语表 回查;官方依据汇总在 动效与工程来源记录。

资料核查日期:2026-10-31。Blender 资料用于说明制作能力;Cocos 资料以 3.8 系列为参考,具体补丁、导出设置和微信构建仍需按项目验证。两张图均为本站原创教学示意。