在UE4中,有时候需要动态修改一下材质的信息,比如材质的颜色。它可以通过蓝图实现,也能够C++实现。这里就简单介绍下这2种方式。
分类:UE4杂谈
关于UE4知识功能的记录
我们在扩展UE4编辑的时候,我们为自己添加的界面可能会添加菜单和工具条。也可能在别的窗口界面添加菜单。这里介绍我们如何添加我们菜单。
经常我们在开发工具中,会获取某个摄像机的视口图像,然后保存下来或者传输出去。为了获取某个摄像机的数据,可以使用USceneCaptureComponent2D 组件,这个组件的作用是把摄像机的视图数据输出到一个RenderTexture2d 上面。然后我们可以直接获取这个RenderTexture2d的数据 。
SWidget时Slat这个界面库提供的,UUserWidget这是我们蓝图实现的自定义界面。当我们在用蓝图开发插件窗口界面的时候,可能就会涉及到SWidget下添加UUserWidget对象。我们是找不到SWidget对象带有添加一个UWidget窗口方法的。
动态创建对象是我们在开发者避免不开的过程。在UE4中我们除了动态的创建Actor对象,UObject对象,还有通过蓝图资源创建对象等等。下面我们介绍几种动态创建对象的方法。
UTexture是UE4里面的贴图对象,里面存储了图形的像素数据。我们可以获取这里面的颜色数据导出成为图片文件。平常我们使用编辑器创建UTexture资源,这里通过代码创建。
在许多语言中都集成了正则表达式,正则表达式在我们查询字符串是非常方便的。比如我们在字符串中查找某种格式的字符串或者某种组合的字符串等。在UE4中也集成了正则表达式。
如果我们想我们自己的UObject对象能够通过在编辑器中通过右键菜单创建此资源,那我们就需要继承UFactory来实现。
我们游戏中的一个关卡中包含了许多Actor,我们程序开发中会经常需要拿到这些Actor对象,然后进行操作,比如获取Actor的组件和设置Actor的Tranfrom属性,或者动态删除这些Actor对象。
UDP是一种不安全的通信协议,但是它能够大量而且快速的传输数据,有时候也是开发中我们会选择的一种方案。UE4中是集成了UDP的功能。它存在于Runtime/Networking的Common下面,UDP在里面涉及到3个类,分别是FUdpSocketBuilder,FUdpSocketReceiver,FUdpSocketSender。