本篇文章和上篇文章相似都是做物体的运动,难点在于怎样找到物体旋转所要绕的是哪个方向上的轴。
比如鼠标横着划过,那么物体应该绕的是竖直方向上的轴;如果鼠标从左上划向右下,那么物体绕的就应该是从右上到左下方向上的轴。
总结一下即是物体旋转绕轴方向应该是垂直于鼠标划动方向,重点就是求出这个方向。
同样需要声明两个变量来储存鼠标移动时在屏幕上X方向Y方向的偏移量
float yRotation = 0f;
float xRotation = 0f;
由于需要实现物体随时间慢慢停下来的效果所以需要再声明一个变量储存鼠标划动的距离
float mouseDistance;
需要计算方向,声明两个三维向量,一个储存鼠标划动的方向,一个储存旋转绕轴的方向
Vector3 mouseDirection = Vector3.zero;
Vector3 rotationDirection = Vector3.zero;
然后在鼠标左键按下去的时候开始记录位移偏移量
yRotation = Input.GetAxis("Mouse Y");
xRotation = Input.GetAxis("Mouse X");
并且以此