我已經開始在虛幻引擎4中工作,並在他們的網站上用C++打開了最基本的教程。因此,這是他們提供Movement EquationDeltaHeight =(Sin(RunningTime + DeltaTime) - Sin(RunningTime));
void AFloatingActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
FVector NewLocation = GetActorLocation();
float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
NewLocation.Z += DeltaHeight * 20.0f; //Scale our height by a factor of 20
RunningTime += DeltaTime;
SetActorLocation(NewLocation);
}
的代碼,這是它應該做的解釋: 我們剛剛寫會導致FloatingActors鮑勃上下順利的代碼,用我們所創建的RunningTime變量隨着時間的推移跟蹤我們的運動。
當你編譯它時,它會這樣做,但它並沒有告訴我任何有關它的工作原理或原理。那個錯誤我是作爲標題的事情說了運動方程:
DeltaHeight = SIN(RunningTime +的DeltaTime) - 罪(RunningTime)
如果有人可以解釋這對我來說將不勝感激。我所要求的將是這個方程背後的數學/物理解釋還是解釋這個方程從何而來的解釋。爲什麼會這樣。
我明白了什麼是計算我不明白的是爲什麼我們要使用特定的方程?例如,我可以做的是: Float DeltaHeight =(FMath :: Sqrt(RunningTime + DeltaTime) - FMath :: Sqrt(RunningTime)); 那麼,爲什麼我們使用這個特定的方程? 例如,爲什麼新的位置FMath :: Sin(RunningTime + DeltaTime)? – Saizaku
是的,這是新的位置,這個函數試圖確定的是位置的變化。這種方式在起點上是必要的。 – zdan