坑/技巧
小球旋转(按照父物体或其他物体)
为了模拟小球旋转,所以在移动的时候改变了小球的角度。用的是Rotate(),但是这样就改变了小球的坐标轴朝向,会有小球上天入地的奇像。
之后在小球外面加了一个父物体,移动父物体的坐标,这样小球就只负责滚。
但是这样,小球的坐标依旧在乱动,在上下左右动过后,小球就出现向前走同时向后滚的无意识错误。
现在问题转变为,如何用父物体的坐标轴来指示小球滚动。
/
查找之后了解到了RotateAround(),它可以以别人的位置作为标准转动物体。
用的三个参数分别是Vector3 参考物体的坐标;Vector3 坐标轴方向; float 角度
只需要把自己的父物体填进去就好了。
坐标轴方向就用面对的方向transform.forward和transform.right
调整好自己想要的速度,就可以随便滚了。
悬浮球的偏移效果
这里没踩到坑
/
transform.eulerAngle()。
一个接受Vector3 的旋转方法。
你只要把输入同步
new Vector3(Input.GetAxis(“Vertical”),0,-Input.GetAxis(“Horizontal”)😉;
这样没输入的时候就会回归初始
有输入就可以稍微飘一下
拖尾与位置变化
用脚本控制有拖尾组件直接改变position,就有一个很长的拖尾从上一个位置到现在的位置,然而你不想让它出现很碍眼。
一开始把物体 禁用(set active false)。一旦启用还是会有拖尾出现。
/
在把它启用前,用Trailrenderer里的Clear(),清除已有的拖尾效果先。
又是一个小问题。