我一直在测试我的新程序化行走系统,实在是太着迷了。目标非常直接:不同大小、不同速度的boss敌人,有四条腿的,有六条腿的。我之前已经建立过程序化行走系统,这次的效果非常出色。基本想法可能对很多人来说并不陌生: * 每条腿的IK链 * Raycast来找到地面 * 保持脚踩在地面上,直到运动阈值被超出,才向新目标一步步移动。 有趣的地方在于,我设计了系统可以在不同大小的身体和不同数量的腿之间清晰地扩展,而不需要重写核心逻辑。参数列表非常长: * 肩膀高度 * 肢体长度与肩膀高度 * 头部大小 * 身体长度 * 身体宽度 * 尾巴段长度 * 尾巴段数量 * 运动速度 * 最小速度 * 最大速度 * 最小速度时肩膀高度因子 * 最大速度时肩膀高度因子 * 最小速度时步长因子 * 最大速度时步长因子 * 最小速度时步距触发距离因子 * 最大速度时步距触发距离因子 * 最小速度时步速因子 * 最大速度时步速因子 * 最小速度时步长时间因子 * 最大速度时步长时间因子 * 最小速度时步高因子 * 最大速度时步高因子 * 身体转向响应度 * 身体高度响应度 * 身体上升响应度 * 最大身体倾斜度 * 膝盖提示高度因子 * 膝盖提示侧向因子 * 躯体休息侧向因子 * 躯体休息前进散布因子 * 最小速度时躯体沉降频率 * 最大速度时躯体沉降频率 * 最小速度时躯体沉降深度因子 * 最大速度时躯体沉降深度因子 * 最小速度时躯体后倾摆频率 * 最大速度时躯体后倾摆频率 * 躯体后倾摆角度 * 最大移动腿数 我为每个预计的敌人创建一个参数预设,但我也在工作中,尝试用程序化的方法在飞行时生成工作参数。下一步就是行为图。 我将开始实施第一个战斗模式,并且很好奇它们与完全程序化的运动如何结合。模型应该能够处理多种运动: - 前进/后退/侧向冲刺 - 拾取物品 - 射击(有回弹) - 被击中 - 死亡 - ... 这是Hexabot Stranded的内容。开发曾经停滞了很长时间,但我终于找到了自己的动力。我的目标是建立boss战斗,感觉快、灵活、不可预测,每个boss都有自己的独特行为和运动方式。