Unity: добавьте страйфинг в Player Controller

Другим решением может быть использование парсера Number Number следующим образом:

let result = Number(new Date("2012-02-10T13:19:11+0000"));
let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime();
console.log(result);
console.log(resultWithGetTime);

Он преобразуется в миллисекунды точно так же, как getTime() в Date объект

0
задан nailuj05 20 January 2019 в 10:58
поделиться

1 ответ

Чтобы позволить игроку вести игру по умолчанию PlayerController, необходимо внести пару правок. Я не буду писать код для вас, но вот шаги, которые вам нужно предпринять, они должны быть относительно просты в реализации:

  1. Во-первых, вы должны закомментировать код, связанный с к вращению

  2. Тогда вместо того, чтобы получать целевую скорость как скалярное число с плавающей точкой, вы должны либо рассчитать ее как Vector2, либо как 2 отдельных числа (предпочтительно первое)

    [ 110]
  3. currentSpeed - это число с плавающей точкой, которое опирается на targetSpeed, , но вместо ~~ настройки currentSpeed на значение Vector2, вы можете использовать targetSpeed.magnitude ] при расчете SmoothDamp Поскольку вам нужна скорость как в контексте Z, так и в контексте X, вы должны сделать currentSpeed a Vector2 К счастью, уже существует Vector2.SmoothDamp, так что легко рефакторинг.

    currentSpeed = Vector2.SmoothDamp(currentSpeed, targetSpeed, 
                       ref speedSmoothVelocity,
                       GetModifiedSmoothTime(speedSmoothTime));
    
  4. Вы должны включить компонент X в расчет скорости. (помните, что Vector2 и Y соответствуют X и Z соответственно для Vector3)

    Vector3 velocity = (transform.forward * currentSpeed.y) + 
                       (transform.right * currentSpeed.x) + 
                       Vector3.up * velocityY;
    
  5. Наконец, вы хочу отрегулировать currentSpeed для включения соответствующих X и Z скоростей. Это можно сделать, просто рассчитав величину на основе Vector3 вместо Vector2

    currentSpeed = new Vector2(controller.velocity.x, controller.velocity.z);
    

Кстати, добро пожаловать в StackOverflow - В будущем вы должны быть уверены, что включите минимальный, проверяемый и полный пример , а не просто неизмененный код по умолчанию.

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

0
ответ дан Enfyve 20 January 2019 в 10:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: