第一章:基础与资产准备
章节概述
在制作高质量的战斗动画之前,扎实的基础准备工作至关重要。本章将带你建立规范的项目结构,准备符合专业标准的角色模型、武器道具,并搭建高效的资产管理系统。这些看似枯燥的准备工作,将为后续的动画制作打下坚实基础,让你的工作流程更加顺畅高效。
学习目标:
- 掌握动画项目的标准文件组织结构
- 理解角色模型的技术规范和优化要点
- 学会制作符合动画需求的武器和道具
- 建立统一的材质贴图工作流程
- 构建可复用的资产库系统
1. 项目架构与文件管理
1.1 标准项目结构
一个专业的战斗动画项目需要清晰的文件组织结构。混乱的文件管理会严重影响制作效率,特别是在团队协作时。原神这样的大型项目,往往涉及数百个角色、上千个动画文件,没有良好的组织结构,寻找一个特定文件都会变成噩梦。
项目结构设计需要考虑几个核心原则:
- 可扩展性:随着项目发展,能够容纳更多资产而不破坏原有结构
- 可查找性:任何团队成员都能快速定位所需文件
- 版本隔离:不同版本的文件能够共存而不产生冲突
- 依赖清晰:资产间的引用关系一目了然
project_root/
├── assets/ # 资产文件夹
│ ├── characters/ # 角色模型
│ │ ├── hero/ # 主角
│ │ ├── enemies/ # 敌人
│ │ └── npcs/ # NPC
│ ├── weapons/ # 武器
│ ├── props/ # 道具
│ ├── environments/ # 环境
│ └── fx/ # 特效资产
├── animations/ # 动画文件
│ ├── mocap_raw/ # 原始动捕数据
│ ├── cleaned/ # 清理后的动画
│ └── final/ # 最终动画
├── scenes/ # 场景文件
├── renders/ # 渲染输出
└── references/ # 参考资料
1.2 命名规范
统一的命名规范是团队协作的基础,也是自动化流程的前提。一个好的命名系统应该让人一眼就能理解文件的内容、版本和用途。在原神这样的项目中,每个角色都有数十个动作,如果没有清晰的命名,很容易出现覆盖、丢失或使用错误版本的情况。
命名的核心要素:
- 类型标识:明确资产类型(角色、武器、动画等)
- 内容描述:具体的名称或动作类型
- 变体标记:区分不同版本或状态
- 序号管理:处理同类型的多个资产
统一的命名规范能避免很多不必要的麻烦:
- 角色:
char_[类型]_[名称]_[版本] - 例:
char_hero_traveler_v02.blend - 动画:
anim_[角色]_[动作类型]_[编号] - 例:
anim_traveler_attack_combo_01.blend - 武器:
weap_[类型]_[名称] - 例:
weap_sword_dullblade.blend
1.3 版本控制策略
版本控制不仅仅是Git的事情,在3D制作中还需要考虑文件体积、二进制格式、外部依赖等特殊问题。一个角色模型动辄几十MB,贴图文件更是以GB计算,传统的版本控制系统难以应对。
3D项目版本控制的特殊挑战:
- 文件体积巨大:单个.blend文件可能超过100MB
- 二进制格式:无法进行文本对比和合并
- 外部依赖复杂:贴图、缓存、参考文件相互关联
- 实时协作需求:多人同时工作在相关资产上
实用的版本管理策略:
- 增量保存:每个重要修改保存新版本
- 使用
_v01, _v02后缀递增 - 重大改动使用
_v10, _v20区分 -
实验性修改使用
_test, _backup标记 -
里程碑备份:关键节点创建独立备份
- 客户审核前:
_for_review - 获得批准后:
_approved - 发布版本:
_final -
归档版本:
_archive -
缓存管理:定期清理缓存文件避免项目臃肿
- Alembic缓存:动画烘焙数据
- 物理缓存:布料、毛发模拟
- 渲染缓存:预览和测试渲染
Git LFS配置示例:
# .gitattributes
*.blend filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
2. 角色模型规范
2.1 拓扑要求
良好的拓扑是动画变形的基础。战斗动画对模型拓扑要求特别高,因为会有大量的极限动作。原神中的角色需要执行各种华丽的招式:回旋斩、空翻、极限扭转,每一个动作都在考验模型的拓扑质量。
拓扑设计的核心原则:
- 边流跟随肌肉:边线的走向应该顺应真实的肌肉纹理
- 关节处环形布线:确保弯曲时的自然变形
- 密度渐变:从高活动区域到低活动区域平滑过渡
- 避免极点:5边以上的极点会造成变形问题
- 四边形为主:三角形仅在必要时使用
不同部位的拓扑策略:
面部拓扑(如需要表情):
- 眼睛周围:放射状布线,支持眯眼、瞪眼
- 嘴部:环形布线,支持各种口型
- 额头:横向边流,支持皱眉表情
- 脸颊:斜向边流,支持笑容变形
躯干拓扑:
- 胸部:环形+纵向混合,支持呼吸和扭转
- 腹部:横向为主,支持弯腰动作
- 背部:纵向边流跟随脊椎
- 腰部:环形边确保扭转自然
肩部拓扑示例
╱────┬────╲
╱ ╱──┼──╲ ╲
│ ╱ │ ╲ │
│ │ │ │ │
└─┴────┴────┴─┘
环形边流保证变形
关键区域的拓扑密度:
战斗动画中,关节是最容易出问题的地方。密度不足会导致尖锐的折痕,密度过高又会增加不必要的性能负担。以下是经过大量实践验证的密度建议:
- 肩部:至少3圈环形边
- 内圈:锁骨连接处
- 中圈:三角肌区域
- 外圈:手臂连接处
-
额外:肩胛骨区域需要2-3条斜向支撑边
-
肘部:2-3圈环形边
- 关节前:防止极限弯曲时穿模
- 关节点:保证旋转中心稳定
-
关节后:支持手臂伸直时的自然过渡
-
膝盖:2-3圈环形边
- 膝盖骨上方:支持大腿肌肉变形
- 膝盖骨位置:保证弯曲时的体积感
-
膝盖骨下方:小腿连接的过渡
-
脊椎:每个关节2圈边
- 颈椎(C1-C7):支持头部大幅度转动
- 胸椎(T1-T12):主要负责上身扭转
-
腰椎(L1-L5):核心弯曲区域,可适当增加到3圈
-
手腕:2圈环形边+手表线
- 手表线:手腕中部的环形边,关键的旋转支撑
-
前后各一圈:保证手腕弯曲的平滑过渡
-
脚踝:2-3圈环形边
- 跟腱位置:需要额外的纵向支撑
- 脚踝骨:左右各需要环形支撑
2.2 骨骼系统设计
骨骼系统是角色动画的灵魂。原神的角色骨骼设计需要在表现力和性能之间找到完美平衡。过少的骨骼会限制动作表现,过多的骨骼则会增加动画师的工作量和引擎的计算负担。
骨骼设计的层次结构:
- 主骨骼链:构成角色的基本运动框架
- 辅助骨骼:增强特定部位的表现力
- 装饰骨骼:控制衣物、饰品等附加元素
- 特效骨骼:用于绑定特效和武器
原神风格的角色通常采用以下骨骼结构:
头部
│
颈部
│
┌────脊椎────┐
│ │
左臂 右臂
│ │
左手 右手
│
骨盆
│
┌─┴─┐
左腿 右腿
│ │
左脚 右脚
骨骼命名规范:
清晰的骨骼命名不仅方便动画师工作,更是自动化工具和脚本的基础。原神项目中可能有上百个角色,如果每个角色的骨骼命名都不一样,动画复用和批处理将变得极其困难。
基础命名规则:
- 使用
.L和.R后缀区分左右(注意是大写) - 使用下划线分隔单词:
upper_arm而非upperArm - 使用数字标记序列:
01, 02, 03(保持两位数) - 避免空格和特殊字符
详细命名对照表:
脊椎链:
root- 根骨骼(世界空间控制)pelvis- 骨盆(重心控制)spine_01- 腰椎下段spine_02- 腰椎上段spine_03- 胸椎下段spine_04- 胸椎上段(可选)neck_01- 颈部head- 头部
手臂链:
clavicle.L/R- 锁骨upper_arm.L/R- 上臂forearm.L/R- 前臂hand.L/R- 手掌
手指(以左手为例):
thumb_01.L→thumb_02.L→thumb_03.Lfinger_index_01.L→finger_index_02.L→finger_index_03.Lfinger_middle_01.L→finger_middle_02.L→finger_middle_03.Lfinger_ring_01.L→finger_ring_02.L→finger_ring_03.Lfinger_pinky_01.L→finger_pinky_02.L→finger_pinky_03.L
腿部链:
thigh.L/R- 大腿shin.L/R- 小腿foot.L/R- 脚掌toe.L/R- 脚趾
特殊骨骼:
weapon_r- 右手武器挂点weapon_l- 左手武器挂点weapon_back- 背部武器挂点fx_chest- 胸部特效挂点fx_hand_r- 右手特效挂点
2.3 权重绘制技巧
权重绘制是角色绑定中最耗时也最关键的环节。一个精心调整的权重可以让角色在极限动作下依然保持优雅,而糟糕的权重会让最简单的动作都显得僵硬不自然。原神的角色动作幅度大、速度快,对权重质量要求极高。
权重绘制的核心原则:
- 渐变原则:权重过渡必须平滑,避免突变
- 体积保持:关节弯曲时不应该失去体积感
- 对称性:左右对称部位的权重应该镜像一致
- 层次分明:主要影响、次要影响、辅助影响清晰区分
肩部权重分布(最复杂的区域):
肩部是人体活动范围最大的关节,也是权重绘制最难的部位:
- 上臂骨:主要影响区域(70-85%)
- 三角肌区域:100%权重
- 肩头区域:85-95%权重
-
上臂上段:95-100%权重
-
锁骨:辅助影响,平滑过渡(10-25%)
- 肩峰区域:15-25%权重
- 前胸上部:10-20%权重
-
助力手臂抬起时的肩部提升
-
脊椎:少量影响,保持连续性(5-15%)
- 肩胛骨周围:5-10%权重
- 背部上段:5-15%权重
- 确保躯干和手臂的自然过渡
其他关键部位的权重策略:
肘部权重:
- 前臂骨:主导,覇盖肘关节前后
- 上臂骨:过渡区域,避免断层
- 扭转骨(如果有):处理前臂旋转
膝盖权重:
- 小腿骨:主导,特别是膝盖骨区域
- 大腿骨:过渡,保证弯曲时的圆滑
- 膝盖辅助骨(可选):增强膝盖的体积感
手指权重:
- 每节手指骨单独控制对应指节
- 指根处需要和手掌有少量混合
- 避免指间相互影响
常见权重问题及解决方案:
-
关节处出现"糖果纸"扭曲 - 原因:权重在关节处过于集中 - 解决:增加环形边,分散权重影响 - 预防:使用双骨骼或辅助骨骼
-
极限姿势下的穿模 - 原因:权重分布不合理或模型拓扑不足 - 解决:使用校正骨骼或形态键辅助 - 预防:在权重绘制时测试极限姿势
-
权重断层导致的硬边 - 原因:相邻顶点权重差异过大 - 解决:使用模糊工具平滑过渡 - 预防:保持权重梯度均匀
-
对称部位权重不一致 - 原因:手动绘制精度不足 - 解决:使用镜像权重工具 - 预防:先完成一侧,再镜像复制
3. 武器与道具制作标准
3.1 武器建模规范
武器是战斗动画的灵魂之一。原神的武器设计融合了东西方元素,既有中国传统兵器的神韵,也有西方奇幻风格的华丽。武器模型需要在视觉细节和游戏性能间找到完美平衡。
武器分级与多边形预算:
原神武器按稀有度分级,不同级别对应不同的多边形预算:
5星武器(传说级):
- 单手剑:5000-7000面
- 双手剑:6000-8000面
- 长柄武器:5500-7500面
- 法器:4000-6000面
- 弓:4500-6500面
- 特效附加:+2000-3000面(光效、粒子等)
4星武器(精品级):
- 单手剑:3000-5000面
- 双手剑:4000-6000面
- 长柄武器:3500-5500面
- 法器:2000-4000面
- 弓:3000-4500面
3星及以下(普通级):
- 所有类型:2000-3000面
- 重点在基本形状,减少装饰细节
武器建模的关键要素:
-
刃部设计 - 刃口厚度:保持一定厚度避免闪烁 - 刃纹细节:使用法线贴图而非几何体 - 血槽设计:适当凹陷增加立体感
-
护手与装饰 - 装饰元素:控制在总面数30%以内 - 对称设计:利用对称减少实际建模量 - 细节LOD:为远景准备简化版本
-
握把设计 - 人体工学:确保握持舒适 - 缠绕细节:用贴图表现而非模型 - 防滑纹理:增加视觉真实感
3.2 枢轴点设置
枢轴点(Pivot Point)是物体旋转和缩放的中心,对于武器动画来说,枢轴点的位置直接决定了挥舞的自然度和真实感。错误的枢轴点会让武器看起来像在空中飘浮,而非被角色握持。
不同武器类型的枢轴点策略:
剑的枢轴点位置:
刀刃
│
───┼───
│
护手
│
▼ 枢轴点(握把底部)
3.3 碰撞体设置
碰撞体是实现武器与环境、敌人交互的基础。在原神的战斗系统中,精确的碰撞检测是打击感的重要保证。然而,过于复杂的碰撞体会严重影响性能,特别是在多人战斗场景中。
碰撞体设计原则:
-
简化但准确 - 使用基础几何体:盒子、胶囊、球体 - 复合碰撞体:组合多个简单形状 - 避免凹多边形:计算成本高
-
分层碰撞系统 - 粗略碰撞:用于远距离判定 - 精确碰撞:用于近距离伤害计算 - 特效碰撞:用于粒子和特效触发
各类武器的碰撞体配置:
单手剑:
刃部:盒体(主碰撞区)
长度 = 刃长 * 0.95
宽度 = 刃宽 * 0.9
厚度 = 0.05m
护手:球体(格挡判定)
半径 = 0.15m
柄部:胶囊(握持检测)
长度 = 0.2m
半径 = 0.03m
双手剑:
刃部:2-3个盒体串联
上段:攻击主区域
中段:过渡区域
下段:靠近护手
横档:盒体(格挡区域)
柄部:胶囊(双手握持)
长柄武器:
枪尖:键形碰撞体
刺击点:球体
刃部:盒体
柄身:胶囊链
分段3-4节
支持横扫判定
尾部:球体(反击区域)
法器:
主体:球体或盒体
法术发射点:Empty对象
光环特效:无碰撞,纯视觉
弓箭:
弓身:弧形碰撞体
弓弦:线段碰撞
箭矢:独立的胶囊体
箭头:点碰撞
箭身:线碰撞
碰撞体优化技巧:
-
LOD碰撞体 - 近距离:完整碰撞体 - 中距离:简化碰撞体 - 远距离:单一包围盒
-
动态碰撞体 - 普通攻击:基础碰撞体 - 技能攻击:扩大碰撞范围 - 元素爆发:特殊碰撞形状
-
碰撞层级 - Layer 0:环境碰撞 - Layer 1:角色碰撞 - Layer 2:武器碰撞 - Layer 3:特效碰撞
4. 材质与贴图工作流
4.1 PBR材质规范
原神采用风格化的PBR渲染,融合了日式卡通渲染和物理正确渲染的优点。这种渲染方式既保留了二次元的艺术风格,又具有现代渲染技术的细节表现力。
原神风格化PBR的特点:
-
色彩风格化 - 高饱和度色彩 - 减少现境光的影响 - 强调固有色 - 阴影偏色处理
-
光照简化 - 主光源明确 - 阴影边缘锐利 - 半影区域平滑过渡 - Rim Light强调轮廓
标准贴图通道配置:
- Base Color(基础色)
- 格式:sRGB,8位/通道
- 特点:高对比度,纯净色彩
- 避免:过度的灰色和脏迹
-
建议:使用色卡限制色彩数量
-
Metallic(金属度)
- 格式:灰度图,8位
- 数值:0(非金属)或1(纯金属)
- 原神特色:大多为极端值,很少使用中间值
-
常用配置:
- 皮肤/布料:0
- 金属装饰:1
- 半金属:0.7-0.9
-
Roughness(粗糙度)
- 格式:灰度图,8位
- 数值:0(光滑)或1(粗糙)
-
风格化处理:
- 皮肤:0.4-0.6
- 丝绸:0.2-0.3
- 棉布:0.6-0.8
- 金属:0.1-0.3
- 皮革:0.3-0.5
-
Normal(法线)
- 格式:Tangent Space,16位/通道
- 强度:适度使用,避免过强
-
应用:
- 细节纹理(布料编织)
- 装饰花纹
- 肌肉细节
- 武器刻痕
-
Emission(自发光)
- 格式:HDR,16位/通道
- 用途:
- 元素效果发光
- 神之眼效果
- 武器附魔
- 技能特效
- 颜色对应:
- 火元素:橙红色
- 水元素:蓝色
- 雷元素:紫色
- 风元素:青绿色
- 岩元素:金黄色
- 冰元素:淡蓝色
- 草元素:绿色
特殊材质处理:
半透明材质(丝袜、薄纱):
- Alpha通道:控制透明度
- 背面剔除:关闭
- 深度写入:特殊处理
- 渲染顺序:从后向前
各向异性材质(头发、丝绸):
- Anisotropic参数
- Tangent方向控制
- 特殊高光计算
4.2 贴图分辨率标准
贴图分辨率直接影响游戏的视觉质量和性能表现。原神作为一款跨平台游戏,需要在PC、主机和移动设备上都能流畅运行,因此贴图分辨率的管理尤为重要。
分层分辨率系统:
PC/主机版本(最高画质):
- 5星主角:
- 身体:4K (4096×4096)
- 脸部:2K 独立贴图
- 头发:2K 独立贴图
- 衣物:4K (4096×4096)
-
武器:2K (2048×2048)
-
4星角色:
- 身体+衣物:2K (2048×2048)
- 脸部:共享在主贴图中
-
武器:1K-2K
-
普通敌人:
- 小怪:1K (1024×1024)
- 精英怪:2K (2048×2048)
-
Boss:2K-4K
-
环境资产:
- 地形:2K 平铺贴图
- 建筑:2K-4K
- 植物:512-1K
- 小道具:512-1K
移动版本(优化画质):
- 所有贴图降低一级
- 4K → 2K
- 2K → 1K
- 1K → 512
- 合并部分贴图通道
贴图密度统一标准:
Texel Density(纹素密度)是保证视觉一致性的关键:
推荐密度值(像素/米):
主角: 1024-2048
重要NPC: 512-1024
普通敌人: 256-512
大型建筑: 128-256
地形: 64-128
远景: 32-64
贴图合并策略:
-
通道合并 - Metallic + Roughness + AO → 一张RGB贴图 - R通道:Metallic - G通道:Roughness - B通道:Ambient Occlusion
-
图集合并 - 小道具共享贴图 - 同类武器共享材质 - 通用装饰元素合并
-
LOD贴图策略 - LOD0:全分辨率 - LOD1:50%分辨率 - LOD2:25%分辨率 - LOD3:纯色或极简贴图
4.3 UV展开原则
高效的UV布局是优化贴图利用率的关键。在原神项目中,一个角色可能有数十套服装,如果每套服装的UV布局都不同,将极大增加贴图制作的工作量。因此,建立统一的UV展开规范至关重要。
UV展开的核心原则:
-
最大化利用率 - UV占用率应达到70-85% - 避免大面积空白 - 合理安排岛屿间距
-
保持比例一致 - 使用Texel Density检查 - 重要区域保持更高密度 - 隐藏区域可适当缩小
-
减少拉伸变形 - 使用Angle Based展开 - 手动调整问题区域 - 保持UV边缘平滑
标准化UV布局方案:
角色UV布局(单张贴图):
┌────────────────────────┐
│ 头部(前) │头(后)│
│ │ │
├────────┬───────┼─────┤
│ 躯干 │ 腰部 │手指│
│ (前面) │ │细节│
├────────┼───────┼─────┤
│手臂(左)│手臂(右)│背部│
├────────┼───────┼─────┤
│ 腿(左) │ 腿(右) │脚掌│
└────────┴───────┴─────┘
占用率:75-80%
边缘间距:8-16像素
角色UV布局(多张贴图):
贴图1 - 身体:
┌────────────────────┐
│ 躯干(前面) │
│ │
├────────┬────────┤
│手臂(左)│手臂(右)│
├────────┼────────┤
│ 腿(左) │ 腿(右) │
│ │ │
└────────┴────────┘
贴图2 - 头部与面部:
┌────────────────────┐
│ 脸部(正面) │
│ │
│ │
├────────┬────────┤
│侧脸(左)│侧脸(右)│
├────────┼────────┤
│眼睛细节│嘴巴内部│
└────────┴────────┘
武器UV布局:
┌────────────────────┐
│ 刃部(主体) │
│ │
├──────────────────┤
│ 护手与装饰 │
├────────┬────────┤
│ 柄部 │细节部件│
└────────┴────────┘
UV优化技巧:
-
对称复用 - 左右对称部位共用UV - 节省50%的UV空间 - 注意法线方向翻转
-
重叠技巧 - 相同材质的小部件重叠 - 重复图案使用平铺 - 隐藏面共享小UV区域
-
优先级分配 - 脸部:最高优先级(150%密度) - 手部:高优先级(120%密度) - 躯干:标准密度(100%) - 腿部:标准密度(100%) - 脚部:较低密度(80%) - 隐藏部位:最低密度(50%)
-
边缘处理 - 保持UV岛屿间8-16像素间距 - 避免Mipmap时的颜色渗透 - 使用Padding填充边缘
5. 资产库的建立与管理
5.1 资产分类系统
建立清晰的分类体系是管理大量资产的基础。原神拥有数百个角色、上千种武器和道具,没有系统化的分类,找一个特定资产就像大海捞针。一个好的分类系统不仅方便查找,更能提高资产复用率。
多维度分类体系:
角色分类维度:
-
按元素属性 - 火元素(Pyro):迪卢克、可莉、胡桃等 - 水元素(Hydro):芭芭拉、莫娜、行秋等 - 冰元素(Cryo):凯亚、甘雨、七七等 - 雷元素(Electro):刻晴、雷电将军、菲谢尔等 - 风元素(Anemo):温迪、琴、枫原万叶等 - 岩元素(Geo):钟离、阿贝多、诺艾尔等 - 草元素(Dendro):纳西妲、提纳里、柯莱等
-
按武器类型 - 单手剑:快速连击,灵活机动 - 双手剑:重击破防,大开大合 - 长柄武器:范围攻击,中距离优势 - 法器:远程输出,元素伤害 - 弓箭:远程物理,精准打击
-
按稀有度 - 5星(SSR):限定角色,最高品质 - 4星(SR):优秀角色,主力配置 - 3星及以下:NPC或怪物
-
按地区来源 - 蒙德:中世纪风格 - 璃月:中国风格 - 稻妻:日本风格 - 须弥:南亚风格 - 枫丹:法国风格 - 纳塔:拉丁美洲风格 - 至冬:俄罗斯风格
武器分类系统:
武器库/
├── 按类型/
│ ├── 单手剑/
│ │ ├── 5星/
│ │ ├── 4星/
│ │ └── 3星/
│ ├── 双手剑/
│ ├── 长柄/
│ ├── 法器/
│ └── 弓/
├── 按系列/
│ ├── 限定系列/
│ ├── 龙脊系列/
│ ├── 西风系列/
│ └── 锁传系列/
└── 按材质/
├── 金属质感/
├── 木质/
└── 魔法水晶/
5.2 预设库建设
预设库是提高制作效率的秘密武器。想象一下,每次制作新角色时都要从零开始调整姿势、材质、表情,这将消耗大量时间。一个完善的预设库可以让你在几分钟内完成原本需要几小时的工作。
动作预设库:
基础姿态库:
-
站立姿势组 - 中立站立:标准T-Pose或A-Pose - 战斗站立:各武器类型的持武姿势 - 休闲站立:放松的日常姿态 - 角色特色:每个角色的标志性站姿
-
移动循环库 - 慢走:8帧、1帧、2帧循环 - 正常走:12帧、6帧、8帧循环 - 跑步:8帧、6帧、4帧循环 - 冲刺:6帧、4帧循环 - 闪避:左、右、后的快速闪避
-
战斗基础库 - 普通攻击:1-5连击组合 - 重击:蓄力和释放 - 格挡:成功和失败 - 受击:轻、中、重及击飞 - 倒地:倒下和起身
手势预设库:
基础手势:
- 张开手掌
- 握拳
- 指向
- OK手势
- 剪刀手
- 拇指向上
持物手势:
- 单手持剑
- 双手持剑
- 持弓
- 持法器
- 持枚
- 拿物品
施法手势:
- 元素凝聚
- 法术释放
- 结印手势
- 召唤手势
材质预设库:
金属材质组:
Metallic_Gold:
Base Color: #FFD700
Metallic: 1.0
Roughness: 0.2
Metallic_Silver:
Base Color: #C0C0C0
Metallic: 1.0
Roughness: 0.15
Metallic_Bronze:
Base Color: #CD7F32
Metallic: 1.0
Roughness: 0.3
Metallic_Iron:
Base Color: #434B4D
Metallic: 1.0
Roughness: 0.4
布料材质组:
Fabric_Silk:
Base Color: Variable
Metallic: 0.0
Roughness: 0.3
Sheen: 0.5
Fabric_Cotton:
Base Color: Variable
Metallic: 0.0
Roughness: 0.7
Fabric_Leather:
Base Color: Variable
Metallic: 0.0
Roughness: 0.4
Fabric_Denim:
Base Color: #1560BD
Metallic: 0.0
Roughness: 0.8
皮肤材质组:
Skin_Fair:
Base Color: #FDBCB4
Subsurface: 0.5
Roughness: 0.5
Skin_Medium:
Base Color: #F1C27D
Subsurface: 0.5
Roughness: 0.5
Skin_Dark:
Base Color: #8D5524
Subsurface: 0.4
Roughness: 0.5
表情预设库:
-
基础表情 - 微笑:10%、25%、50%、100% - 惊讶:睹大眼睛+张嘴 - 生气:皱眉+歪嘴 - 悲伤:下垂眉毛+嘴角下弯 - 害羞:红晕+眶眼
-
战斗表情 - 专注:紧锁眉头 - 奋战:张嘴呐喊 - 痛苦:紧闭双眼 - 坚毅:咬牙切齿 - 得意:嘴角上扬
特效预设库:
-
元素特效基础 - 火焰:粒子+热扰动 - 水波:波纹+折射 - 闪电:线条+发光 - 冰霜:Subsurface+反射 - 岩石:几何体+碎片 - 风卷:螺旋+流动 - 草叶:叶片+生长
-
打击特效 - 火花:碰撞点爆发 - 冲击波:环形扩散 - 尘土:粒子飞散 - 光晕:瞬间闪光
5.3 资产链接与管理
在大型项目中,资产的链接和管理直接决定了工作效率和协作质量。Blender提供了强大的资产管理系统,但很多人没有充分利用这些功能,导致文件臃肿、更新困难、版本混乱。
Blender资产管理的三种模式:
- Link(链接)模式:
特点:
- 链接外部文件,保持实时同步
- 文件体积小,只保存引用
- 源文件更新后自动同步
- 无法直接编辑链接的资产
适用场景:
- 角色模型在多个场景中使用
- 环境资产在不同关卡中复用
- 通用动画在多个角色间共享
使用示例:
# Blender Python API
import bpy
# 链接角色模型
with bpy.data.libraries.load("//assets/characters/hero.blend", link=True) as (data_from, data_to):
data_to.objects = ["Character_Mesh", "Character_Armature"]
# 将链接的对象添加到场景
for obj in data_to.objects:
if obj is not None:
bpy.context.collection.objects.link(obj)
- Append(附加)模式:
特点:
- 完全复制资产到当前文件
- 可以自由编辑
- 与源文件断开联系
- 文件体积增大
适用场景:
- 需要对资产进行特殊修改
- 制作变体或衍生版本
- 最终合并文件
使用示例:
# 附加武器模型
with bpy.data.libraries.load("//assets/weapons/sword.blend", link=False) as (data_from, data_to):
data_to.objects = data_from.objects
data_to.materials = data_from.materials
- Library Override(库覆盖)模式:
特点:
- 保持链接关系
- 允许局部修改
- 源文件更新后保留自定义修改
- Blender 2.93+的新特性
适用场景:
- 角色换装系统
- 动画微调
- 材质变体
使用示例:
# 创建库覆盖
obj = bpy.context.selected_objects[0]
obj.override_create()
# 现在可以修改特定属性
obj.location.z = 2.0
资产管理最佳实践:
- 目录结构规范:
project/
├── master_files/ # 主文件
│ ├── characters/ # 角色源文件
│ ├── props/ # 道具源文件
│ └── environments/ # 环境源文件
├── shot_files/ # 场景文件
│ ├── shot_010/ # 使用Link链接资产
│ └── shot_020/
└── library/ # 共享库
├── materials/ # 材质库
├── hdri/ # 环境贴图
└── scripts/ # 工具脚本
- 命名规则:
# 资产文件
char_[name]_[version].blend
prop_[name]_[version].blend
env_[location]_[version].blend
# 集合命名
COL_character_main
COL_character_extras
COL_props_weapons
COL_props_items
-
更新策略: - 主资产修改后自动通知相关人员 - 使用版本号管理重大更新 - 建立资产依赖关系表 - 定期检查断链和缺失
-
性能优化: - 使用代理对象(Proxy)减少显示负担 - 创建LOD版本用于预览 - 缓存动画和模拟数据 - 使用Collection Instance减少内存占用
-
协作流程: - 模型师维护master文件 - 动画师使用Link链接模型 - 特效师使用Override添加特效 - 合成师最后Append合并所有资产
本章小结
本章我们建立了战斗动画项目的基础框架:
- 项目管理:规范的文件结构和命名规则是高效工作的前提
- 模型规范:良好的拓扑和骨骼系统是动画质量的保证
- 资产标准:统一的制作标准确保资产的一致性和可复用性
- 工作流程:建立标准化流程提高制作效率
记住,这些看似繁琐的准备工作会在后续制作中节省大量时间。一个混乱的项目会让简单的修改变得困难重重,而良好的组织则让复杂的制作变得有条不紊。
练习题
基础题
练习1.1:项目结构创建 创建一个新的战斗动画项目,按照本章介绍的标准目录结构组织文件。包含至少一个角色、两种武器和一个测试场景。
💡 提示
使用脚本批量创建文件夹结构,确保每个文件夹都有清晰的用途说明文档。
📝 参考答案
- 创建主目录和所有子目录
- 在每个目录下创建README.md说明文件用途
- 设置.gitignore忽略缓存和临时文件
- 创建项目配置文件记录贴图分辨率、多边形数量等标准
练习1.2:角色拓扑检查 下载一个免费的角色模型,检查其拓扑是否适合战斗动画。列出至少5个需要改进的地方。
💡 提示
重点检查肩部、肘部、膝盖等关节区域的边流。使用Blender的线框显示模式观察。
📝 参考答案
常见问题:
- 肩部缺少环形边流
- 肘部三角面过多
- 膝盖弯曲处边线密度不足
- 手腕没有足够的循环边
- 脊椎区域拓扑不均匀
练习1.3:骨骼创建与命名 为一个简单的人形模型创建基础骨骼系统,严格遵循命名规范。
💡 提示
使用Blender的Armature工具,从骨盆开始构建。记得使用X-Axis Mirror保证对称。
📝 参考答案
骨骼层级:
- root
- pelvis
- spine_01 → spine_02 → spine_03 → neck → head
- thigh.L → shin.L → foot.L → toe.L
- thigh.R → shin.R → foot.R → toe.R
- clavicle.L → upper_arm.L → forearm.L → hand.L
- clavicle.R → upper_arm.R → forearm.R → hand.R
练习1.4:UV展开优化 将一个1024×1024的武器模型贴图优化到512×512,同时保持视觉质量。
💡 提示
识别哪些部分最重要(刃部、装饰),给予更多UV空间。隐藏部分可以缩小。
📝 参考答案
优化策略:
- 合并相似/对称的部分共用UV
- 隐藏面删除或极度缩小
- 重要细节(刃部、纹饰)保持较大UV空间
- 使用Texel Density检查工具确保密度均匀
- 考虑使用平铺贴图处理重复图案
挑战题
练习1.5:批量资产处理脚本 编写一个Blender Python脚本,自动检查目录下所有模型文件的多边形数量、贴图分辨率,并生成报告。
💡 提示
使用bpy.data.meshes获取网格信息,bpy.data.images获取贴图信息。考虑使用CSV格式输出报告。
📝 参考答案
脚本功能要点:
- 遍历指定目录的.blend文件
- 加载每个文件并分析: - 多边形数量统计 - 贴图尺寸检查 - 骨骼数量统计 - 材质槽位数量
- 生成HTML或CSV格式报告
- 标记超出规范的资产
- 可选:自动优化简单问题
练习1.6:模块化武器系统 设计一个模块化的武器系统,可以通过组合不同部件快速生成新武器。至少包含3种刀刃、3种护手、3种握把。
💡 提示
使用Collection Instance实现模块化,确保每个部件的连接点对齐。考虑使用自定义属性控制组合。
📝 参考答案
系统设计:
- 标准化连接点(使用Empty作为锚点)
- 每个部件独立Collection
- 主控制器使用Custom Properties切换部件
- 驱动器自动更新材质和属性
- 预设系统保存常用组合
- 自动命名系统根据部件组合生成名称
练习1.7:权重自动传递系统 创建一个工作流,能够将一个角色的权重自动传递到相似拓扑的其他角色上。
💡 提示
使用Transfer Weights功能,但需要处理拓扑差异。考虑使用Shrinkwrap修改器对齐网格。
📝 参考答案
工作流程:
- 创建标准参考模型和权重
- 使用Shrinkwrap将新模型贴合到参考模型
- Transfer Weights传递权重
- 手动微调问题区域
- 保存权重预设供后续使用
- 建立不同体型的权重模板库
练习1.8:资产依赖关系图 为一个包含5个角色、10种武器的项目创建资产依赖关系图,识别共享资源并优化。
💡 提示
考虑贴图共享、材质复用、动画复用等。使用图表工具可视化依赖关系。
📝 参考答案
优化要点:
- 识别共享贴图(如金属、布料通用贴图)
- 建立材质库减少重复
- 分析哪些动画可以在角色间共享
- 创建LOD系统减少渲染负担
- 使用实例化减少内存占用
- 建立资产更新追踪系统
常见陷阱与错误
🚫 陷阱1:过早优化模型
问题:在动画需求明确前就过度优化模型,导致后期修改困难。
解决方案:
- 保留高模作为源文件
- 使用修改器非破坏性工作
- 分阶段优化,动画确定后再做最终优化
🚫 陷阱2:忽视比例统一
问题:不同资产使用不同的比例单位,导致合并场景时大小混乱。
解决方案:
- 项目开始就确定统一单位(建议用米)
- 创建参考物体(如1.7m的标准人物)
- 导入新资产立即检查并调整比例
🚫 陷阱3:骨骼朝向不一致
问题:骨骼的局部坐标轴朝向混乱,导致动画控制困难。
解决方案:
- 统一使用相同的骨骼朝向(如Y轴沿骨骼方向)
- 使用Recalculate Roll功能修正
- 建立骨骼模板确保一致性
🚫 陷阱4:贴图通道混淆
问题:不同软件间贴图通道定义不同,导致材质错误。
解决方案:
- 明确定义每个通道的用途
- 使用标准命名(如_BaseColor, _Normal, _Roughness)
- 创建材质转换预设
🚫 陷阱5:版本管理混乱
问题:没有清晰的版本记录,不知道哪个是最新文件。
解决方案:
- 使用版本号而非日期
- 保持更新日志
- 定期归档旧版本
准备工作虽然枯燥,但这是专业制作的基石。下一章,我们将开始激动人心的动作捕捉学习!