--------------------------------------------------------------------------------------------------------------------------------------------
2D旋转箭头跟随鼠标指向的位置
参考资料1,而参考资料 2,3,4 和1 类似
准备一个 箭头图片
设置箭头的Pivot ,根据实际的箭头图片 进行设置。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RotateObjectToward : MonoBehaviour {
//https://www.youtube.com/watch?v=mKLp-2iseDc
public float speed = 5f;
// public Transform target;
private void Update()
{
//Vector2 direction = target.position - transform.position;
Vector2 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
Quaternion rotation = Quaternion.AngleAxis(angle, Vector3.forward);
transform.rotation = Quaternion.Slerp(transform.rotation,rotation,speed * Time.deltaTime);
}
}
这种旋转,方式 只是 根据 鼠标 与 该 箭头2D精灵 的 位置 ,进行偏移。
是可以随着 鼠标的移动 进行 旋转 偏移。
如果 图片没有 指向 鼠标 ,请 查看 自己 的图片 ,是否有问题。
--------------------------------------------------------------------------------------------------------------------------------------------
3D物体旋转 指向 鼠标
参考资料 5,6
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterMovement : MonoBehaviour {
//https://www.youtube.com/watch?v=F5a4Xo6ijLE
Rigidbody rigidBody;
public float speed = 4;
Vector3 lookPos;
// Use this for initialization
void Start () {