游戲開發之UE4添加角色到場景中


接着上次繼續學習,現在我們已經有了一個場景並且運行了,我們需要添加一個角色到場景中。要這樣做,我們必須從UE4的GameFramework類繼承它。

一. 創建一個從Character類繼承的類

從基本框架類繼承是很簡單的:
1) 在項目中打開你的UE4編輯器。

2) 在文件,選擇“新建C++類”。

3) 這里你可以選擇從Pawn類(Pawn類從控制器接收輸入)繼承或從Actor類繼承。不過我們可以這里選擇從Character類(角色)繼承。

 4) 點擊繼續,然后你可以命名這個類。這里我們將其命名為Avatar。

5) 最后點擊創建類來使用代碼創建這個類。

6) 然后UE4會自動運行你的VS項目。我們在項目解決方案中打開Avatar.h文件:

Avatar.h是這樣的:

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "GameFramework/Character.h"
#include "Avatar.generated.h"

UCLASS()
class MYFIRSTCODE_API AAvatar : public ACharacter
{
	GENERATED_BODY()

public:
	// Sets default values for this character's properties
	AAvatar();

	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
	
	// Called every frame
	virtual void Tick( float DeltaSeconds ) override;

	// Called to bind functionality to input
	virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;

	
	
};

UCLASS()和GENERATED_UCLASS_BODY()都是UE4定義好的宏,UCLASS()宏使得你的C++代碼在UE4編輯器中可用。GENERATED_UCLASS_BODY()會適當處理你的類函數成為一個UE4類。現在你不需要徹徹底底地搞清楚它們的工作原理,你只需要確保它們在正確的位置出現。

二. 為角色創建一個模型

現在我們avatar是繼承了角色類,但是還需要給角色賦予一個模型。我們可以從UE4的商城找免費的模型,步驟如下:

1) 點擊工具欄的市場,進入UE4的商城。

2) 在類別中選擇角色,找到一個名字叫Animation Starter Pack的免費資源包,點擊進去。

4) 點擊下圖中的免費按鈕添加到庫里面。(可能加載有點慢,耐心等待,我加載了幾分鍾呢)

5) 下載完后點擊庫,點擊“添加到工程”。

6) 在新窗口中,選擇Demo1,然后點擊添加到項目。

7) 現在,我們可以找到剛才添加的資源,在內容瀏覽器點擊選擇路徑:

8) 選擇AnimStarterPack文件夾:

三 在運行時改變載入的資源

 載入網格通常情況下,如果使用C++代碼來指定要載入的資源,這是一種硬編碼的壞習慣。在運行程序的時候,如果資源發生了改變,則程序不會做出改變。更好的做法是,可以在運行時改變載入的資源。

下面我們從C++類中創建一個藍圖:
1) 在菜單欄中的窗口-開發者工具-類別查看器。

2) 在類別查看器中,右擊Avatar,選擇創建藍圖類。(如果找不到Avatar,請關閉UE4編輯器,再重新打開)

3) 在下方輸入藍圖類名稱(我這里是BP_Avatar),點擊保存。然后會來到藍圖編輯器:

4) 在左上角的組件窗口中,選擇Mesh:

5) 在右側的細節面板中,在Mesh選項卡中,選擇下拉按鈕,然后點擊視圖選項,點擊顯示引擎內容,再選擇TutorialTPP。

 


6) 這時候碰撞體看起來是這樣的,模型和碰撞體是對不上的:

7) 然后我們通過W、E、R快捷鍵變換模型,使之近似地包圍在碰撞體里面。如果碰撞膠囊體不夠大,你可以點擊組件的CapsuleComponent,然后在細節面板的Shape調節膠囊體大小:

8) 然后我們可以關閉窗口。在內容瀏覽器中將BP_Avatar拖放到場景中。

四 添加動畫動作

添加動畫你可以看到人物模型是呈T型的,3D建模/動畫師通常都會讓人物默認狀態下擺T型,因為此時這可以使得人物做出各種各樣的動作。

1) 雙擊內容瀏覽器的BP_Avatar,重新打開藍圖編輯器。

2) 在上方選項卡中點擊視口,然后選擇Mesh,在右側的細節面板中的Animation選項中的Anim Blueprint Generated Class中選擇UE4ASP_Hero_AnimBlueprint。

這樣就完成了一個模型的動畫添加了,關於動畫的更多細節,我們在后面的教程中會深入探討。

五 添加攝像機

為了使得我們有一個第三人稱視角,我們給該角色添加上攝像機以追隨該角色。

1) 在組件中進行如下的步驟:

2) 移動攝像機並旋轉角色到如下狀態(注意角色的藍色箭頭是角色的前進方向,所以要使得攝像機和角色自身的朝向都要面對着藍色箭頭):


3) 點擊工具欄的保存。

現在的角色還不能被控制,我們下一節繼續講如何編寫C++代碼來控制角色。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM