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

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

建立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);
}
編寫好後在虛幻編輯器中點選編譯按鈕

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

image.png
選中FloatingActor物件,自己拖拽位置

image.png
最後在虛幻編輯器頂部點選播放按鈕,開始預覽
相關文章
- 【Unreal】虛幻GAS系統快速入門Unreal
- unreal engine 4 如何建立地形、地表貼圖。Unreal
- Go語言程式設計快速入門Go程式設計
- Python快速程式設計入門課後程式題答案Python程式設計
- 好程式設計師Java培訓分享如何快速入門Java程式設計程式設計師Java
- 深入學習Netty(4)——Netty程式設計入門Netty程式設計
- C#快速入門教程(1)——物件導向程式設計C#物件程式設計
- 入門程式碼程式設計程式設計
- 空山新雨後 [Unreal Engine 超寫實渲染]Unreal
- Python程式設計入門Python程式設計
- Shell 程式設計入門程式設計
- 程式設計和網路程式設計入門程式設計
- 給後端程式設計師看的 Vue 快速入門教程後端程式設計師Vue
- Python核心程式設計筆記第二章----快速入門Python程式設計筆記
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- Number 1 — 程式設計入門程式設計
- Flink DataStream 程式設計入門AST程式設計
- java Swing程式設計入門Java程式設計
- Octave快速入門(4)——製圖
- 好程式設計師Java學習路線分享Redis快速入門程式設計師JavaRedis
- rxjs入門4之rxjs模式設計JS模式
- JAVA NIO程式設計入門(二)Java程式設計
- JAVA NIO 程式設計入門(三)Java程式設計
- JAVA NIO程式設計入門(一)Java程式設計
- 遊戲程式設計入門指南遊戲程式設計
- Python 非同步程式設計入門Python非同步程式設計
- Linux入門---(三)Shell程式設計Linux程式設計
- JavaScript 非同步程式設計入門JavaScript非同步程式設計
- 程式設計入門學什麼?程式設計
- Linux系統程式設計入門Linux程式設計
- 從零到專業,程式設計師快速入門Python的3種方法!程式設計師Python
- 好程式設計師Java培訓分享零基礎快速入門Java程式設計師Java
- MyBatis 框架之快速入門程式MyBatis框架
- 程式設計正規化 —— 函數語言程式設計入門程式設計函數
- 【Linux】Linux系統程式設計入門Linux程式設計
- 響應式程式設計入門(RxJava)程式設計RxJava
- 14.1 Socket 套接字程式設計入門程式設計
- Java入門之基礎程式設計Java程式設計
- 程式設計入門先學什麼?程式設計