有时候我们创建场景的时候,特定的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<UBillboardComponent> SpriteComponent; UTexture2D* SpriteTexture; };
#include "NanTopDown.h"
#include "MyActor.h" AMyActor::AMyActor(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{
struct FConstructorStatics
{
ConstructorHelpers::FObjectFinderOptional<UTexture2D> 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<USceneComponent> SceneComponent = PCIP.CreateDefaultSubobject<USceneComponent>(
this, TEXT("SceneComp"));
RootComponent = SceneComponent;
RootComponent->Mobility = EComponentMobility::Static; #if WITH_EDITORONLY_DATA
SpriteComponent = PCIP.CreateEditorOnlyDefaultSubobject<UBillboardComponent>(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

Unreal Engine 4 C++ 为编辑器中Actor创建自己定义图标的更多相关文章

  1. 剖析Unreal Engine超真实人类的渲染技术Part 1 - 概述和皮肤渲染

    一.概述 1.1 数字人类的概要 数字人类(Digital Human)是利用计算机模拟真实人类的一种综合性的渲染技术.也被称为虚拟人类.超真实人类.照片级人类. 它是一种技术和艺术相结合的综合性模拟 ...

  2. Unreal Engine 4 C++ UCLASS构造函数易出错分析

    Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...

  3. [译]如何在Unity编辑器中添加你自己的工具

    在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...

  4. [原][unreal][UE][spark]分析unreal engine 虚幻引擎的粒子编辑器:Cascade

    参考:https://www.raywenderlich.com/270-unreal-engine-4-particle-systems-tutorial (使用了一个飞机射击游戏的粒子来展示,全英 ...

  5. Unreal Engine 4 中的 UI 优化技巧

    转自:https://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## Unreal Open Day 2017 活动上 Epic Games 开发者支持工程师郭 ...

  6. 实例甜点 Unreal Engine 4迷你教程(4)之用C++实现添加子Widget到VerticalBox中以及ClearChildren

    前置教程: 1. 实例甜点前面的三篇教程: 2. 最好看看笔者前面的一篇关于博文(后记:本来笔者想用C++做DragAndDrop的功能,但是失败了,下面是蓝图实现的方法): http://www.c ...

  7. 游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)

    在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,Audiokine ...

  8. Unreal Engine 4 系列教程 Part 2:蓝图教程

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  9. Unreal Engine 4 系列教程 Part 5:制作简单游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

随机推荐

  1. 谈谈cookie的弊端

    一.cookie虽然在数据在客户端持久存储提供了方便,但是分担了服务器数据传输的负担,还是存在很大的局限性的. 局限性: (1)在特定的域名下最多存储20个cookie. 浏览器版本          ...

  2. 从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化

    从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化 神经网络在训练过程中,为应对过拟合问题,可以采用正则化方法(regularization),一种常用的正则化方法是L2正则化. 神经网络中 ...

  3. Codeforces Round #450

    Find Extra One Solution Position in Fraction Solution Remove Extra One f[i]表示删掉i能增加的record数目 从左到右处理, ...

  4. GCC编译步骤

    gcc -E t1.c -o t1.i 预处理gcc -S t1.i -o t1.s 转成汇编语言gcc -c t1.s -o t1.o 转成机器码gcc t1.o -o t1.exe 链接 直接使用 ...

  5. Android 自定义控件——图片剪裁

    如图: 思路:在一个自定义View上绘制一张图片(参照前面提到的另一篇文章),在该自定义View上绘制一个自定义的FloatDrawable,也就是图中的浮层.绘制图片和FloatDrawable的交 ...

  6. Android CollapsingToolbarLayout Toolbar的title覆盖问题

    CollapsingToolbarLayout 里: app:titleEnabled="true" app:title="Hello" Toolbar 里: ...

  7. Scala 大数据 常用算法收集

    一:IP转数字,用于比大小,用在求IP段范围中 def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") ...

  8. Redhat/CentOS xfs文件系统及磁盘挂载

    #!/bin/sh #DEVICE_LIST=""DEVICE_LIST="/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /d ...

  9. PAT-树的同构

    链接 树的同构 题意 同构的定义: 给定两棵树T1和T2.如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的. 给两棵树,判断是否同构 做法 先建树,然后判断,知道怎么判断就知道 ...

  10. java中后端拼接字符串返回前台页面换行显示

    后端拼接时用:"\n"分割,比如: String str = "白日依山尽,\n" + "黄河入海流:"; 返回前台页面时,放入 <p ...