Я новичок, поэтому наберитесь терпения, если этот вопрос не имеет смысла, укажите c, et c. Спасибо! Программирование по-прежнему для меня - абстрактная вещь. способ перемещения персонажа по дорожкам, поэтому я попробовал решение, в котором я перемещаю его с компонентом преобразования в конце Lerping x values.
Мой вопрос: хорошее ли это решение. Может ли это вызвать проблемы с двигателем?
\\\
void Start()
{
myTransform = GetComponent<Transform>();
characterController = GetComponent<CharacterController>();
input = GetComponent<SimpleInput>();
moveStep = myTransform.position;
}
// Update is called once per frame
void Update()
{
if (characterController.isGrounded)
{
yVelocity = -1f;
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}
SelectTrack();
xVelocity = Mathf.Lerp(transform.position.x, currentTrack * TrackWidth, 0.5f);
}
else
{
yVelocity += -gravity * Time.deltaTime;
yVelocity = Mathf.Clamp(yVelocity, -gravity, JumpForce);
}
moveStep.y = yVelocity;
characterController.Move(moveStep * Time.deltaTime);
transform.position = new Vector3(xVelocity, transform.position.y, transform.position.z);
//myTransform.position = moveStep;
}
void SelectTrack()
{
if (Input.GetKeyDown(KeyCode.A))
{
currentTrack -=1;
}
if (Input.GetKeyDown(KeyCode.D))
{
currentTrack += 1;
}
currentTrack = Mathf.Clamp(currentTrack, -1, 1);
}
void Jump()
{
yVelocity = JumpForce;
}
}
\\\