本帖最后由 vegetto 于 2026-2-4 17:54 编辑
骑马与砍杀战团支持的几种可以形成动画效果的功能操作优劣及适用场合分析 前言:首先我认为,平移旋转、无规则的局部形变也是动画的一种体现,而有实际行为意义的动作动画更是。 战团中类似动画的操作归纳如下: 1、平移旋转及其复合的位移 核心op:prop animate/agent set pos系列的op 短评:最简单原始的动画效果, 控制了对象坐标而成为各种对象交互功能的基础。 操作对象: Agent: 基础操作通过时间进程set pos位移,搭上prop animate的"贼船"可掌握目标性强的平滑移动,掌握dynamic功能则无视空间限制上天入地位移。 Prop: 基础操作通过set pos或animate to pos平滑位移,掌握dynamic则可以拥有重力翻滚自由落体能力。 适用场合:各种交互功能的基础,通过对对象坐标的操控让你知道何人何物站在何方,正对何人,就此展开一系列互动。 2、战团smd骨骼动画 短评:游戏原有生命之体运作日常行为的核心 适用于常规的像人和像马的agent生物动作行为驱动,且骨骼动画受骨骼数量和顺序限制,表现有限。 比较常用,不展开说了。 3、顶点动画 核心op:prop deform开头系列的op 短评:毫不客气的说,所有游戏/动画资源平台的动画模型只要导的出fbx/ dae等常规动画绑定模型,就能变成顶点动画导入骑砍运行,至此,万物皆可模拟。 适用对象: Item: 须是spawn出来而非穿身上的item,优势可以prune time操作物体id真正的消失,减少内存占用,缺点是不能直接设置碰撞体及控制Z轴旋转。 Prop:任意场合可使用,哪怕是attach到agent绑定状态,优势是有碰撞体(但碰撞体不随动画变化)及任意方向的旋转控制,缺点是不能删除id,生成后不用只能fade/set visibility隐身来隐藏(过去常用【藏起来需要时再现身复用】的做法处理) 适用场合:适用场合较广。 有生命的生物,如各种奇形怪状的怪物、动植物及配套动画,细节可粗如战团,也可细如次世代,有物理服装般的毛发效果。 机械体及载具,如坦克履带动画、飞机螺旋桨动画、投石机抛物 家具用品如电风扇、留声机转动 建筑破坏 动画武器如加特林、双截棍、锯齿 技能特效如藤曼缠绕(一代火影大手一拍,树界降临) 最大限制:体积 顶点动画体积大小是模型面数*帧数的倍数,意味着不控制模型精细度(面数)及动画精细度(帧数),动画文件体积会让战团吃不消。 4、服装动画(换装动画) 核心op:cur item add mesh + agent equip item 短评:通过人物计数器控制频繁换装+动画分解各帧静态模型当衣服,不仅做到顶点动画一样的复杂动画效果,并且换装触发器直接挂钩agent id,方便用agent ai行为操作服装动画新怪物行为。 适用场合:类似顶点动画的适用场合,但因和agent绑定、无设置碰撞体能力且无法直接控制z轴倾斜角度,优先考虑制作底盘较小的怪物类生物体或机甲(因底盘大如坦克要考虑爬山坡斜坡的坡度平行控制) 相对于顶点动画的优势:可以直接与agent id及ai一一对应,套用一部分agent行为代码进行控制,能够支撑更多ai加载较大体积的模型动画而不闪退。 缺点: (1)体积大 静态动画相对于合成后的顶点动画,模型总体积约2~4倍,如果说要表达完善的次世代怪物动画模型细节要100MB动画文件,那么静态模型可能达到300多兆。 (2)影响攻击行为 对玩家影响释放攻击动作,会一直卡刀,对于ai可以正常做出攻击动作但是攻击伤害失效。 (3)影响骑马 对玩家无影响,对ai使得马一直维持原地不动。 5、材质贴图更换形成2D动画 核心op:prop/item/overlay set material 短评:通过计时器切换同一个模型的贴图(特别是纸片模型类似于电视剧显示屏),达到动态图的效果。 适用场合: (1)特效(包括技能弹道、打击效果、周身buff等)——各种游戏的特效都采取了序列图的做法,达到类似particle system用多个颗粒模型形成“烟雾聚散”类特效效果 (2)配合顶点动画进行风格变化,相对于给顶点动画机制的人/物配了多个衣服,比如会动的电风扇改变贴图配色风格,这样同一个模型的动画不用因为贴图不一样而复制粘贴处理几遍,减少占用空间。 (3)对于item,类比cur item add mesh,可以形成表面贴图变化的服装动画效果。 (4)对于overlay,用于界面,界面动态播放效果不言而喻。 6、shader Shader个人不太推荐大量应用于这种动画需求的功能,一方面编译不在ms系统不利于与ms代码事件控制高度结合,另外一方面,shader在游戏中可以产生的动画效果,本质就是直接通过控制模型及模型局部的顶点及UV移动,产生简单的平移旋转及水面波浪、震荡效果的动画,但是无法控制更复杂的生物体及机械行为动画。 所以更适合花花草草植物抖动的环境效果,毕竟我总不能把整个场景的花花草草都做成顶点动画模型,战团容易吃不消。 7、particle system(最原始的战团粒子特效系统) 最原始的战团粒子特效系统实质就是控制模型预设一定数量进行放缩、变色、有限平移旋转(可受重力作用),并且有生命周期,毫不客气的说,我用spawned item 运行prop相关的op也能做出这一套系统,甚至比它还多出一个动图切换及顶点动画变形的能力。 所以不多说了。 8、add missile(射箭矢操作) 部分模组通过add missile(射箭矢操作)做出类似烟花的特效效果,其实相对于particle system系统严格掉了放缩、变色之后,只剩下更有限的平移移动能力(可受重力作用)。 但优势是作为攻击弹道时,有伤害机制可以借用。 所以,综上,个人长期使用经验之后,认为 战团的各种动画效果主要服务于,针对人/物体坐标控制并设置位置形成的三维运动(根据物理学所述,静止是特殊的运动),所控制位置点处的人/物体播放相应行为的形变动画,可以是功能性的,如人的举手、坦克的履带滚动,也可以是装饰细节性的,如头发衣服飘逸。 各种操作最适宜的场合归纳如下: 1、prop animate/agent set pos的位移功能是基石,再花哨的攻击动作,两人相隔十万八千里也毫无意义。先形成合适的体位姿势,才能更猛烈的出击发挥花哨动画的作用。 2、只需战团骨骼动画便能满足动作应用需求的类人、类马生物体,尽可能使用战团原有骨骼动画系统,从性能上较佳。 3、大批量玩家及ai怪物必须使用 非战团骨骼动画 才可以做出的行为动作的,优先考虑item add mesh换装动画,其次考虑spawned item顶点动画(配合prune time 控制模拟死亡);少量应用怪物boss也可考虑prop顶点动画,但还是以前两种为优选。 4、底盘较大的怪物及载具(介意垂直上山坡看着别扭的)或原地待机的家具、建筑 或对collision型碰撞体有需求的,且必须使用非战团骨骼动画 才可以做出的行为动作的,采用prop顶点动画。 5、需要制作与人体绑定的动态武器及翅膀等配件,即 使用时实时需要绑定身体的固定位置进行伴随运动的,优先考虑item add mesh换装动画,其次考虑spawned item顶点动画,动画仅有平移旋转或水面波纹效果并且不会根据人物事件产生效果变化(即只在一个动画状态循环播放时),也可考虑shader动画。 6、需要环境中植物简单摇摆运动及类似情况的,采用shader功能。 7、制作特效(包括技能弹道、打击效果、周身buff等)时,根据自己的表达需求,需要有复杂动态变化及形变的,优先考虑spawned item顶点动画+prop set material的组合或单独使用,考虑到性能问题,不是太离谱的特效尽量还是使用particle system,个人认为,大模型进行放缩渐变产生的特效,两者做法如无复杂动画需求,皆宜,而大量颗粒形成的特效,序列图与颗粒效果做对比取舍,序列图取材容易、控制容易但是部分场合2d纸片化观感强。无动画需求只有喷射效果且需有伤害的,可以考虑add missile。
最后要说的是,一旦走上和战团非默认的动画制作模式,如顶点动画和换装动画及换贴图动画,要有一定心理准备,因为这相对于你从0开始做游戏了,思考如何把死物做活,并且需要有一定模型动画的制作知识储备,此时模型与代码真正形成了高度结合的状态。
|