私はUnreal Engine 4で作業を始め、Webサイトで最も基本的なC++のチュートリアルを開きました。だから、これは彼らがMovement EquationDeltaHeight =(Sin(実行時間+ DeltaTime) - Sin(実行時間));
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);
}
を提供するコードであり、これはそれが何をすべきかの説明です:私たちはちょうど書いた コードは、私たちが作成したRunningTime変数を使用して、スムーズに上下ボブにFloatingActorsの原因となります時間の経過とともに私たちの動きを追いかける
それをコンパイルすると、それは実行されますが、どのように動作するのか、なぜそれが動作するのかはわかりません。罪(RunningTime)
誰も私にこれを説明することができれば、それは非常に高く評価されるだろう -
DeltaHeight =罪(RunningTime + DeltaTime):私はタイトルの通りですバグ事は運動方程式を言います。私が求めているのは、この方程式の背後にある数学的/物理的な解説、またはこの方程式がどこから来たのかという説明です。それはなぜそれのようなものですか?
私はそれが計算されるかを理解私が理解していないのは、なぜ特定の方程式を使用しているのでしょうか?たとえば、私ができることは次のとおりです。 Float DeltaHeight =(FMath :: Sqrt(RunningTime + DeltaTime) - FMath :: Sqrt(RunningTime)); なぜこの特定の方程式を使用していますか? たとえば、新しい位置がFMath :: Sin(RunningTime + DeltaTime)の理由は何ですか? – Saizaku
はい、これは新しい位置です。この機能が決定しようとしているのは、位置の変化です。そういう意味で、それは出発点にしっかりしていません。 – zdan