ue4封装接口_ue4导出模型

2022-09-28 11:29:16 浏览数 (4)

大家好,又见面了,我是你们的朋友全栈君

原创文章,转载请注明出处。

本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。

      • 1>新建一个Plugin
      • 2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。
      • 3>对其进行编译,编译出不同模式的dll出来
      • 4>在UE4场景中测试我们Log函数
      • 5>删除cpp文件
      • 6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true;
      • 7>再到UE4场景中测试我们Log函数。发现也能成功
      • 8>注解

1>新建一个Plugin

参考下图

代码语言:javascript复制
{ 

"FileVersion": 3,
"Version": 1,
"VersionName": "1.0",
"FriendlyName": "MyTest1",
"Description": "created by whitetian",
"Category": "Other",
"CreatedBy": "tianhuajian",
"CreatedByURL": "",
"DocsURL": "",
"MarketplaceURL": "",
"SupportURL": "",
"CanContainContent": true,
"IsBetaVersion": false,
"IsExperimentalVersion": false,
"Installed": false,
"Modules": [
{ 

"Name": "MyTest1",
"Type": "Runtime",
"LoadingPhase": "Default"
}
]
}

​​​​​​

2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。

代码语言:javascript复制
MYTEST1_API等价于#define MYTEST1_API DLLEXPORT等价于调用
__declspec(dllexport)
__declspec(dllimport)
// DLL export and import definitions
#ifndef DLLEXPORT
#define DLLEXPORT
#define DLLIMPORT
#endif
代码语言:javascript复制
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"
/** * */
UCLASS()
class MYTEST1_API AMyActor : public AActor
{ 

GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable)
void MyPrint();
};
代码语言:javascript复制
// Copyright Epic Games, Inc. All Rights Reserved.
#include "MyActor.h"
void AMyActor::MyPrint()
{ 

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, TEXT("AMyActor::MyPrint()"));
}

3>对其进行编译,编译出不同模式的dll出来

选择Development Editor/Debug Game Editor

4>在UE4场景中测试我们Log函数

5>删除cpp文件

6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true;

7>再到UE4场景中测试我们Log函数。发现也能成功

8>注解

谢谢,创作不易,大侠请留步… 动起可爱的双手,来个赞再走呗 <( ̄︶ ̄)>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188636.html原文链接:https://javaforall.cn

0 人点赞