博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unreal Engine 4 C++ 为编辑器中Actor创建自己定义图标
阅读量:6369 次
发布时间:2019-06-23

本文共 1749 字,大约阅读时间需要 5 分钟。

有时候我们创建场景的时候,特定的Actor我们想给它一个特定的图标,便于观察。比方这样:

实现起来也非常easy。须要编写C++代码:

我们创建一个Actor,叫AMyActor。它包括一个Sprite(精灵),这个精灵负责显示自己定义图标:代码例如以下

#pragma once#include "GameFramework/Actor.h"#include "Components/BillboardComponent.h"#include "MyActor.generated.h"/** *  */UCLASS()class NANTOPDOWN_API AMyActor : public AActor{	GENERATED_UCLASS_BODY()	//virtual void BeginPlay() OVERRIDE;	UPROPERTY()	TSubobjectPtr
SpriteComponent; UTexture2D* SpriteTexture; };
#include "NanTopDown.h"#include "MyActor.h"AMyActor::AMyActor(const class FPostConstructInitializeProperties& PCIP)	: Super(PCIP){	struct FConstructorStatics	{		ConstructorHelpers::FObjectFinderOptional
NoteTextureObject; FName ID_Notes; FText Name_Notes; FConstructorStatics() : NoteTextureObject(TEXT("Texture2D'/Game/Textures/MyIcon.MyIcon'")) , ID_Notes(TEXT("Notes")) , Name_Notes(NSLOCTEXT("SpriteCategory", "Notes", "Notes")) { } }; static FConstructorStatics Cs; TSubobjectPtr
SceneComponent = PCIP.CreateDefaultSubobject
( this, TEXT("SceneComp")); RootComponent = SceneComponent; RootComponent->Mobility = EComponentMobility::Static;#if WITH_EDITORONLY_DATA SpriteComponent = PCIP.CreateEditorOnlyDefaultSubobject
(this, TEXT("Sprite")); if (SpriteComponent) { SpriteComponent->Sprite = Cs.NoteTextureObject.Get(); SpriteComponent->SpriteInfo.Category = Cs.ID_Notes; SpriteComponent->SpriteInfo.DisplayName = Cs.Name_Notes; SpriteComponent->AttachParent = RootComponent; SpriteComponent->Mobility = EComponentMobility::Static; }#endif}
AMyActor仅仅有一个UBillboardComponent组件。增加场景就能够看到自己定义的图片了。

參考文章:https://wiki.unrealengine.com/Add_in_editor_Icon_to_your_Custom_Actor

你可能感兴趣的文章
day5-iptables
查看>>
版本配置
查看>>
python之进程
查看>>
wpf中嵌入winform控件的坑
查看>>
VMware Workstation and Hyper-V are not compatible. 解决方案
查看>>
POJ-3304Segments[计算几何]
查看>>
杭电2120--Ice_cream's world I(并查集)
查看>>
雅虎前段优化35条
查看>>
(转)接口100
查看>>
UIScrollView 大概是如何实现的,它是如何捕捉、响应手势的?
查看>>
asp.net MVC中实现调取web api
查看>>
keepalived实现服务高可用
查看>>
iOS模型以及使用
查看>>
NSString 去除空格
查看>>
swift - 网络请求数据处理 - 协议处理
查看>>
[BZOJ1588]营业额统计(Splay)
查看>>
[BZOJ 4869][SHOI&SXOI2017]相逢是问候(扩展欧拉定理+线段树)
查看>>
2017-08-13
查看>>
条件语句优化面面观
查看>>
集成友盟微信登录没有回调
查看>>