【问题标题】:Unreal C++ Controller Input: Yaw Rotation虚幻 C++ 控制器输入:偏航旋转
【发布时间】:2016-12-29 20:58:54
【问题描述】:

我正在通过 c++ 设置我的游戏角色相机,我遇到了这个问题,即使它有效,我也不明白为什么代码使用 DeltaTime。 GetDeltaSeconds 的作用究竟是什么?

void AWizardCharater::LookX(float Value)  
{   
    AddControllerYawInput(Sensitivity * Value * GetWorld()->GetDeltaSeconds());  
}  

这里是 api 参考:https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/GameFramework/APawn/AddControllerYawInput/index.html

谢谢

【问题讨论】:

    标签: c++ game-physics unreal-engine4 timedelta


    【解决方案1】:

    使用 delta 时间乘以某个灵敏度值,是整个游戏中使用的一种标准方法,可提供一致的移动速率,与帧速率无关。

    考虑以下代码,不使用增量时间:

    AddControllerYawInput(1);  
    

    如果您的帧速率为 10 FPS,那么您每秒的速度为 10 度。如果帧速率增加到 100 FPS,那么您的速度将达到每秒 100 度。

    使用增量时间可以使运动保持一致,而不受帧速率的影响,因为帧之间的时间会随着帧速率的加快而减少,从而减慢运动速度。

    【讨论】:

    • 很好解释。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 2015-08-30
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多