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 小时前
四、STL容器与数据结构
开发语言·数据结构·c++
程与留1 小时前
07_QMainWindow 与应用程序框架——菜单栏、工具栏、状态栏
c++·qt
_Narcissus_2 小时前
二分算法笔记及例题
数据结构·c++·笔记·算法·蓝桥杯·查找·二分算法
青少儿编程课堂5 小时前
用图形化编程做一个“少年探险闯关”小游戏:方向键控制、碰撞检测与多关卡串起完整项目
c++·python·算法·bfs·信息学竞赛
liulilittle5 小时前
长上下文的成本结构与「甜点区间」——从推理引擎的物理约束看 200K/256K/400K
c++·人工智能·ai·llm·注意力·qkv
十五年专注C++开发5 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
skr爱码士5 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt
迷路爸爸1806 小时前
cursor资源管理器修改为与vscode一样的纵向布局
ide·vscode·编辑器
奶茶树6 小时前
【C++】13. C++11新特性【上】
c语言·开发语言·c++·git·github
wabs6666 小时前
关于栈【力扣1047. 删除字符串中的所有相邻重复项的思考】
数据结构·c++·算法·leetcode··代码随想录