UE5 C++中 Actor内填加编辑器内模型
2023-12-19 23:28:43
基础操作,总是忘记,记录下来备忘,未完待续。。。
// 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;
};
// 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);
*/
?
文章来源:https://blog.csdn.net/weixin_42318094/article/details/135094777
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!