UE5 C++中 Actor内填加编辑器内模型

基础操作,总是忘记,记录下来备忘,未完待续。。。

cpp 复制代码
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

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

UCLASS()
class BUTTONCTEST_API AMyTaskTestClass : public AActor
{
	GENERATED_BODY()

public:
	// Sets default values for this actor's properties
	AMyTaskTestClass();
	//可在编辑器内实时调用
	virtual void OnConstruction(const FTransform& Transform) override;

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

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

private:
	UPROPERTY(VisibleAnywhere)
	UStaticMeshComponent* TestMesh;
	UPROPERTY(VisibleAnywhere)
	USceneComponent* DefaultSceneRoot;
};
cpp 复制代码
// Fill out your copyright notice in the Description page of Project Settings.


#include "MyTaskTestClass.h"

#include "UObject/ConstructorHelpers.h"
#include "Engine/StaticMesh.h"

#include "HAL/Runnable.h"
#include "HAL/RunnableThread.h"


// Sets default values
AMyTaskTestClass::AMyTaskTestClass()
{
	// 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;

	DefaultSceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("DefaultSceneRoot"));
	RootComponent = DefaultSceneRoot;
	TestMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("TestMesh"));
	TestMesh->SetupAttachment(DefaultSceneRoot);
	
	
}

void AMyTaskTestClass::OnConstruction(const FTransform& Transform)
{
	Super::OnConstruction(Transform);

	static ConstructorHelpers::FObjectFinder<UStaticMesh>MeshAsset1(TEXT("/Game/Torus_123.Torus_123"));
	if (MeshAsset1.Succeeded())
	{
		TestMesh->SetStaticMesh(MeshAsset1.Object);
	}
	static ConstructorHelpers::FObjectFinder<UStaticMesh>MeshAsset2(TEXT("/Game/Torus_234.Torus_234"));
	if (MeshAsset2.Succeeded())
	{
		TestMesh->SetStaticMesh(MeshAsset2.Object);
	}
}

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

// Called every frame
void AMyTaskTestClass::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
}

/*
这是一个简单的函数,它接受两个整数并返回它们的和
int32 Add(int32 a, int32 b) {
	return a + b;
}

// 在某个地方定义一个函数指针,并将它指向Add函数
int32 (*FuncPtr)(int32, int32) = Add;

// 然后,你可以使用函数指针来调用Add函数
int32 Sum = FuncPtr(2, 3);
*/
相关推荐
鱼子星_1 小时前
【C++】继承和多态(上)
c++·笔记
远离UE42 小时前
UE5 高性能 实时 玻璃破碎系统
ue5
郝学胜-神的一滴2 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
码匠许师傅3 小时前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
爱吃巧克力的程序媛5 小时前
main.cpp注册 C++ 类到 QML 元对象系统
c++·qt
YYYing.5 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
键盘会跳舞6 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
HugoStudio_SWAN7 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
jimy17 小时前
C++ 的 “移动语义”——Move Semantics
开发语言·c++
励志不掉头发的内向程序员9 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互