2016-06-12 10 views
-1

좋아, 이제는 Unreal Engine programming tutorial을 배우고 있습니다. 그것이 말하는 어디 부분을 이해하지 못하는언리얼 엔진 초심자 FMath :: 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); 
} 

이 : 여기에 내가 혼란 스러워요 코드는

void AFloatingActor::Tick(float DeltaTime) 
{ 
    Super::Tick(DeltaTime); 

이 부분 :

float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime)); 
    NewLocation.Z += DeltaHeight * 20.0f; // Scale our height by a factor of 20 

무엇을합니까 해야 할 것? 어떻게 그럴 수 있죠? FMath :: Sin은 무엇입니까? 너무 혼란 스럽네.

그게 전부 야! 시간 내 주셔서 감사합니다.

+1

"* 이해가 안됩니다. *"는 문제의 설명이 아닙니다. 이것은 C++을 이해하지 못하고'::', does 등을 이해하지 못하는 것에서부터 시작될 수 있습니다. – PaulMcKenzie

답변

1

FMath는 핵심 연산 기능을 위해 UE4 API에서 사용됩니다. FMath :: Abs는 aboslute를 제공합니다 (예 : psorth value)

FMath :: Sin은 FMath 클래스의 sin 함수를 사용한다는 것을 의미합니다. :: 상속을 받거나 "오는 것"을 의미하므로 "FMath는 죄라고 불리는 기능을 가지고 있습니다"

Super :: Tick (DeltaTime); 눈금 함수 내에서 액터 클래스가 똑딱 거리는 것을 의미합니다 (모든 프레임 실행).

0

Super::Tick(DeltaTime);Super 키워드를 사용하여 부모 클래스의 Tick 메서드를 호출합니다.

DeltaTime은 엔진의 각 프레임 사이에 전달되는 시간으로, here에 대해 자세히 알아볼 수있는 게임 개발에있어 매우 일반적이며 필요한 개념입니다.

float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - 
    FMath::Sin(RunningTime)); 
    NewLocation.Z += DeltaHeight * 20.0f; // Scale our height by a factor of 20 

float DeltaHeight

= (FMath::Sin(RunningTime + DeltaTime) - 
    FMath::Sin(RunningTime)); 

기본적인 죄 계산을 수행 할 FMath 클래스의 FMath::SinSin 방법을 사용하는 스택에 새로운 float 변수를 만듭니다

지금에 모습을 수 있습니다. 당신은 쉽게 tutorial on sin and cosine here

할 마지막

NewLocation.Z += DeltaHeight * 20.0f; 

NewLocation 볼 수있는 벡터의 언리얼 버전 인 FVector입니다 수 있습니다. 이 모든 선은하지 NewLocationZ 값으로 호출 이전에 계산 된 floatDeltaHeight를 추가 할뿐만 아니라, 내가 다니엘 Shiffman 보낸 사람에 의해 The Nature of Code을 권 해드립니다 것이 기본 벡터 수학에 대한 자세한 내용은 20

에 의해 그 값을 확장합니다.

관련 문제