UE4基礎:用C++和藍圖實現一個帶有靜態模型的AActor

C++和藍圖各自有各自的痛點,真希望UE4能夠在二者之間再增加一種腳本語言,那就完美了。目前的話,C++和藍圖結合的開發方式應該算是最佳實踐了
這個簡單的例子,體現了UE4 中C++和藍圖的合作方式

  • C++側重於宏觀以及複雜邏輯的實現
  • 藍圖側重於數據配置 以及一些簡單的邏輯

效果圖

在這裏插入圖片描述

1. 用C++實現一個AMyActor類

//AMyActor.h
#pragma once

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

UCLASS()
class GAMECPP_API AMyActor : public AActor
{
	GENERATED_BODY()
public:	
	AMyActor();
protected:
	UPROPERTY(EditAnywhere,BlueprintReadWrite)
	class UStaticMeshComponent* StaticMesh;
};

//AMyActor.cpp

#include "MyActor.h"
AMyActor::AMyActor()
{
	PrimaryActorTick.bCanEverTick = false;
	this->RootComponent = StaticMesh;
	StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMesh"));
}

2. 用藍圖繼承AMyActor類

在這裏插入圖片描述

3. 在藍圖中把模型賦予StaticMesh,也可以實現一些簡單的邏輯

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章