4 - 코드 테스트

레벨에 테스트 오브젝트를 만듭니다.

Windows
MacOS
Linux
On this page
  1. 언리얼 에디터 에서 콘텐츠 브라우저 를 찾은 다음 "C++ Classes" 라는 폴더를 펼칩니다. 그 폴더 안에 보면 "QuickStart" 폴더가 있으며, 그 안에 FloatingActor 라는 액터 클래스가 있습니다.

    ClassInContentBrowser.png

  2. FloatingActor 클래스를 레벨 에디터 창에 바로 끌어 놓으면 월드에 FloatingActor 인스턴스가 생성됩니다. 레벨 에디터월드 아웃라이너 에 선택되어 있는데, "FloatingActor1" 라고 되어 있습니다. 디테일 패널 에는 그 컴포넌트 와 기타 프로퍼티가 보입니다.

    WorldOutliner.png

  3. FloatingActor 를 게임에서 보이게 해 줘야겠습니다. 선택된 상태에서 디테일 패널컴포넌트 추가 를 클릭한 다음, Cone 을 선택하여 단순한 시각적 표상을 설정해 줍니다.

    AddStaticMesh.png

  4. 커스터마이징된 액터 가 준비되었으니, 눈에 띄는 곳으로 이동시켜 봅시다. 마우스 왼쪽 버튼으로 선택한 다음 끌어 월드에서 이동시키거나, 수동으로 이동시킬 수도 있습니다. 수동으로 이동시키려면, 레벨 에디터월드 아웃라이너 에서 선택한 다음 디테일 패널 을 사용하여 "FloatingActor1 (Instance)" 를 선택합니다. 그러면 이제 FloatingActor1 의 트랜스폼위치 칸을 직접 수정할 수 있습니다. X 를 -200, Z 를 200 으로 설정합시다. 그러면 "FloatingActor1" 가 씬의 탁자 바로 위에 놓이게 됩니다.

    SetActorLocation.png

  5. 플레이 버튼을 누르면 원뿔이 위아래로 떠다니는 것이 보입니다!

    MovingCone.png

Finished Code

FloatingActor.h

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

#pragma once

#include "GameFramework/Actor.h"
#include "FloatingActor.generated.h"

UCLASS()
class QUICKSTART_API AFloatingActor : public AActor
{
    GENERATED_BODY()

public: 
    // Sets default values for this actor's properties
    AFloatingActor();

protected:
    // Called when the game starts or when spawned
    virtual void BeginPlay() override;

public:
    // Called every frame
    virtual void Tick( float DeltaSeconds ) override;

    float RunningTime;
};

FloatingActor.cpp

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

#include "QuickStart.h"
#include "FloatingActor.h"

// Sets default values
AFloatingActor::AFloatingActor()
{
    // Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
    PrimaryActorTick.bCanEverTick = true;

}

// Called when the game starts or when spawned
void AFloatingActor::BeginPlay()
{
    Super::BeginPlay();

}

// Called every frame
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);
}
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback