Unreal Engine 4 程式設計快速入門 2017.11.22更新

weixin_33918357發表於2017-11-22

本地環境: macOS High Sierra 版本10.13.1 (17B48)
Xcode版本: Version 9.1 (9B55)
Unreal Engine 4 版本: 4.18.1
官網連線
1.建立新專案
選擇C++ - 基礎程式碼 - 沒有初學者內容 - 專案名稱 QuickStart - 建立專案

2120640-46be36cccc72afdc.png
建立專案.png

2.建立C++類
在左上角點選檔案 - 新建C++ 類 - Actor - 類名 FloatingActor - 建立類

2120640-86b58b5061631579.png
建立C++類.png

3.寫入並編譯C++ 程式碼
在Xcode中會自動生成FloatingActor.h和FloatingActor.cpp這兩個檔案
FloatingActor.h頁面中使用的程式碼如下

#pragma once

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

UCLASS()
class QUICKSTART_API AFloatingActor : public AActor
{
    GENERATED_BODY()
    
public: 
    // 設定此actor屬性的預設值
    AFloatingActor();

protected:
    // 當遊戲開始或生成時呼叫
    virtual void BeginPlay() override;

public: 
    // 在每一幀呼叫
    virtual void Tick(float DeltaTime) override;

    float RunningTime;  
};

FloatingActor.cpp頁面中使用的程式碼如下

#include "FloatingActor.h"


// 設定預設值
AFloatingActor::AFloatingActor()
{
    // 將此actor設定為在每一幀都呼叫Tick()。  如果您不需要這項功能,您可以關閉它以改善效能。
    PrimaryActorTick.bCanEverTick = true;
}

// 當遊戲開始或生成時呼叫
void AFloatingActor::BeginPlay()
{
    Super::BeginPlay();
}

// 在每一幀呼叫
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;      //把高度以20的係數進行縮放
    RunningTime += DeltaTime;
    SetActorLocation(NewLocation);
}

編寫好後在虛幻編輯器中點選編譯按鈕


2120640-6c654413c7d51310.png
image.png

4.測試程式碼
在虛幻編輯器中的底部找到內容瀏覽器,找到之前建立的FloatingActor這個物件,將物件拖拽到中心的關卡編輯器中,在右側標籤中找到命名為FloatingActor-XXX的物件,選中後在右下方細節皮膚中點選新增元件,在下拉選單中找到基本形狀,選中自己喜歡的形狀.


2120640-894a89b1ca0706fd.png
image.png

選中FloatingActor物件,自己拖拽位置
2120640-073b1d16a62feae7.png
image.png

最後在虛幻編輯器頂部點選播放按鈕,開始預覽

相關文章