Как нарисовать кривую + прямую линию, чтобы показать возможный путь, когда игрок нажимает на любую позицию? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь сделать пошаговую игру, в которой актерами являются корабли.Таким образом, для движения, настроенного на изменение своего местоположения, потребуются и Vector3.Forward, и Vector3.Rotation.

Я получил код, чтобы фактически заставить его двигаться, и я могу сгенерировать / создать путь, взятый с использованиеми LineRenderer, и Debug.DrawLine.

Однако я не могу найти какой-либо ресурс для вытягивания узла / линии до , показывающего путь игрока ДО того, как он действительно переместится .

Ниже приведен пример кодов, которые я эмулирую.

void Update () {
    if (this.isMoving){
        if(Vector3.Distance(walkDestination, transform.position) > 0.2f){
            float step = 0f;
            step = this.speed * Time.deltaTime;
            transform.position = Vector3.MoveTowards(transform.position, walkDestination, step);

            Vector3 rotationDestination = this.rotateDestination;
            Quaternion targetRotation = Quaternion.LookRotation(rotationDestination - transform.position, Vector3.up);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 6.0f);
        }else{
            //Arrived to destination
        }
    }
}

Большинство, если не все ресурсы, указывают на NavMesh или систему, подобную сетке, которая не совпадает с моей системой, поскольку япозволяя неограниченное движение на квадроцикле.

Буду признателен, если кто-нибудь сможет указать мне правильное направление, чтобы нарисовать ВОЗМОЖНЫЙ путь из точки А в точку Б до того, как подразделение фактически переместится.

1 Ответ

0 голосов
/ 27 мая 2019

Это звучит как работа для компонента Unity's Line Renderer:

hth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...