贪吃蛇总结
游戏效果:实现了贪吃毛毛虫(贪吃蛇改成了毛毛虫)连续行走,非一格一格行进,每吃一个苹果就在尾巴后面长一个身体结点。身体结点像铰链一样连在一起行进;当毛毛虫撞到墙壁反弹,并调整头的朝向为当前行进方向;鼠标按下,控制蛇头运动,拖动鼠标改变移动方向,松开鼠标停止控制,在同一鼠标点击位置继续按下鼠标并拖动,保持上一次鼠标点击蛇头朝向;游戏结束判定规则是蛇头撞到蛇身(除去紧挨蛇头的身体结点)则死亡。
开发工具:Unity3D,Playmaker
1.贪吃虫身体结点用Configurable Joints铰链组件连在一起,后一个身体结点的rigidbody连在上一个,每一个Configurable Joints铰链只允许绕Y轴旋转,X,Z轴限制旋转,调整Spring弹簧力和Damper阻尼。如图1.
控制由于贪吃虫头可能朝各个方向运动,身体结点不在一条直线上,可能在某一运动时刻,整个贪吃虫身体成曲线形状,此时贪吃虫吃到苹果长一个身体结点,新的结点与上一个结点成一个角度,不在正后面。解决办法:新结点放在上一个结点局部坐标系下Z轴负方向一个身体结点长度,再放到全局坐标系下,再用Look At 函数是新结点指向上一个结点,使其处于正后方。最终贪吃虫身体可弯曲,并能够恢复直线形状。
2.当带有物理特性(Rigidbody,gravity)相接触的Gameobject物体太小,transform/scale 在1以下0.1左右,物体会下陷到Floor中,调整Physics Setting中的Min Penetration For Penalty 最小渗透惩罚值为0.
.