Получение GameObject, чтобы вращаться и двигаться по кругу с заданной скоростью - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь заставить машину двигаться самостоятельно в Unity (C#). Я могу заставить машину двигаться вперед, используя:

transform.position += transform.forward * Time.deltaTime * speed;

Однако я не уверен, как заставить машину вращаться. Я хотел бы, чтобы он вел себя следующим образом:

Представьте, что машина въезжает на перекресток (квадрат размером 1x1 и незначительной высоты) в точке (0,5,0,0), я бы хотела выйти перекресток в точке (0,0,0,5) путем имитации поворота транспортного средства по круговой схеме.

Кто-нибудь знает, как это сделать? У меня проблемы с математикой.

Как всегда, вся помощь приветствуется:).

1 Ответ

0 голосов
/ 06 февраля 2020

Прежде всего вы должны определить положение автомобиля>> 1001 *

> if (car.transform.position == 'WANTED POSITION') {
       while(car.transform.position.WANTEDSCALE != 'WANTED ROTATION'){
        car.transform.Rotate (new Vector3 (0f, 0f, 'ROTATION SPEED' )); //rotatesZ
   }
}

WANTEDPOSITION = VECTOR 3 (0,5,0,0), как вы этого хотели

WANTEDSCALE = X / Y / Z = я не знаю, какой из них вы хотите повернуть (вероятно, z)

WANTED ROTATION = вращение, которое вы хотели бы иметь в конце «автопилота»

ROTATION SPEED = вращается на скорости, которую вы хотите ... положить ее на низкое значение и go проверять, пока не наберется нужное вам число

Извините, что не кодируем все прямо сейчас ... я просто дал вам все логи c .. Ударьте меня, если у вас есть какие-либо сомнения, или пришлите мне весь код, и, возможно, я настрою его для вас

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