Unityで、現在のオブジェクトを取得してマウスの位置を取得し、画面上のマウスの位置に回転させるにはどうすればよいですか?

導入

Unityで、現在のオブジェクトを取得してマウスの位置を取得し、画面上のマウスの位置に回転させるにはどうすればよいですか?


方法

void Update() {
    
    
    // 获取鼠标在屏幕上的位置
    Vector3 mousePos = Input.mousePosition;

    // 将鼠标在屏幕上的位置转换为世界空间中的位置
    Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, Camera.main.transform.position.z));

    // 计算物体需要朝向的方向
    Vector3 direction = (worldPos - transform.position).normalized;

    // 使用LookRotation方法将物体朝向鼠标的位置
    transform.rotation = Quaternion.LookRotation(direction, Vector3.up);
}


void Update() {
    
    
    // 获取鼠标在屏幕上的位置
    Vector3 mousePos = Input.mousePosition;

    // 将鼠标在屏幕上的位置转换为世界空间中的位置
    Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, Camera.main.transform.position.z));

    // 计算物体需要朝向的方向
    Vector3 direction = (worldPos - transform.position).normalized;

    // 使用LookRotation方法将物体朝向鼠标的位置
    transform.rotation = Quaternion.LookRotation(direction, Vector3.up);
}


ここに画像の説明を挿入します


おすすめ

転載: blog.csdn.net/qq_20179331/article/details/130479627