Unity3D: Как я могу сделать мой плеер go там, где я щелкнул мышью, без nav me sh agent? - PullRequest
0 голосов
/ 24 января 2020

Я хочу переместить игрока на своем уровне без агента NavMe sh. Я думал о Raycasting, но я перепробовал все и даже посмотрел видео и поискал в Google по этому поводу, похоже, не могу найти ничего, что работает

Plz help!

1 Ответ

0 голосов
/ 24 января 2020

вы можете использовать это для перемещения в позицию щелчка мышью.

Этот метод переместит объект или игрока в положение, где мышь щелкает по экрану.

извините за синтаксическую ошибку, которую я набрал напрямую здесь

using UnityEngine;
using System.Collections;

public class MouseMovement : MonoBehaviour 
{
    public float speed = 10f;
    bool isplayermove = false;
    // Use this for initialization
    private void Start () 
    {
        Vector3 playerpos = transform.position;
    }

    // Update is called once per frame
    private void Update () 
    {
        if (Input.GetKeyDown(KeyCode.Mouse0)) 
        {
            is moveplayer = true;
        }

        if(ismoveplayer)
        {
            Vector3 mousePos = Camera.main.ScreenToWorldPoint(new Vector3(input.mousepos.x,input.mousepos.y,input.mousepos.z);
            transform.position = Vector3.MoveTowards(transform.position,new Vector3(mousepos.x,transform.position.y,mousepos.z),speed * time.deltatime);
            if(transform.position == mousepos)
            {
                ismoveplayer = false;  
            }  
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...