SmoothStep sẽ không giúp bạn ở đây. SmoothStep là một hàm nội suy hai giá trị. Nó làm một cái gì đó tương tự như một nội suy xoang. Nó sẽ tăng tốc chậm có tốc độ sắc nét vào khoảng x = 0.5 và sau đó làm chậm đến (x = 1.0).
Giống như sau:
này chỉ là tương đối, hàm thực không có những con số chính xác.
Có bạn có thể sử dụng x = 0..0.5 để đạt được hiệu quả bạn muốn, nhưng với rất ít quyền kiểm soát đường cong tăng tốc.
Nếu bạn muốn thực sự tăng tốc một chiếc xe hoặc bất kỳ đối tượng nào khác, đặt cược tốt nhất của bạn là theo dõi tăng tốc và vận tốc của chính bạn.
class Car : GameComponent
{
public override void Update(GameTime time)
{
velocity += acceleration * time.ElapsedGameTime.TotalSeconds;
position += velocity * time.ElapsedGameTime.TotalSeconds;
}
Vector3 position;
Vector3 velocity;
Vector3 acceleration;
}
vị trí, vận tốc và gia tốc là Vector2 hoặc Vector3 tùy thuộc vào số trạng thái trò chơi của bạn đang sử dụng. Ngoài ra, xin lưu ý rằng hình thức tích hợp này dễ bị lỗi toán học nhẹ.
Khi bạn cần phải nội suy số kín đáo thành số thực và bạn cần độ dốc điểm chính là bằng không. cho phép bạn nói rằng bạn muốn xe của bạn bắt đầu từ từ tại một thời điểm chính xác và sau đó từ từ dừng lại đến một thời điểm rất chính xác, sau đó SmootStep sẽ giúp bạn cho điều đó. – Coincoin
Nó cũng có thể rất hữu ích cho tất cả các loại chuyển tiếp hoạt ảnh, chẳng hạn như menu. – Coincoin
nếu bạn có ví dụ, vui lòng đăng :) – Moulde