UE4 创建一个自定义NewLevel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 创建一个自定义NewLevel相关的知识,希望对你有一定的参考价值。
参考技术A 因为每次创建测试场景时需要做基础物件摆放与后处理场的参数设置,因此,需要自定义一个常用的New Level;1)先打开一个空场景。
2)对场景修改后,保存为场景资源
3)在ps中制作一个用作缩略图的资源
4)找到你的对应版本的引擎文件根目录,按以下路径拷贝地图与缩略图资源;
Level目录:\UE_4.16\Engine\Content\Maps\Templates
纹理资源目录:\UE_4.16\Engine\Content\Maps\Templates\Thumbnails
5)找到并打开 “ BaseEngine.ini ”
alt+F搜索关键文本:
[/Script/UnrealEd.UnrealEdEngine]
AutoSaveIndex=0
+TemplateMapInfos=(ThumbnailTexture=Texture2D'/Engine/Maps/Templates/Thumbnails/Default.Default',Map="/Engine/Maps/Templates/Template_Default")
+TemplateMapInfos=(ThumbnailTexture=Texture2D'/Engine/Maps/Templates/Thumbnails/VR-Basic.VR-Basic',Map="/Engine/Maps/Templates/VR-Basic")
6)添加“+TemplateMapInfos”行,将我们新加入的内容的查找路径以同样的格式写入其中
7)重新打开任意的刚刚做完修改的版本的UE4项目,可以在打开新场景时发现自定义模板
---如果使用了自定义的资源,将自定义的资源放在:Engine \ Content \ MapTemplates 目录下.
UE4复习2_信息交互(上)
1.自定义事件(函数调用事件)
自定义事件可以在函数中被调用,实现了函数调用函数外事件。
在蓝图中右键,输入custom event,点击创建事件
这个事件打印了一个wow的字符串。
然后在某函数中,右键输入自定义方法的名称,就会出现 call custom event。
这样就实现了用别的事件触发printwow这个函数,然后函数再去调用custom event这个过程。
比如这样
ps.用的是一个简单的,打印字符串的功能作为例子。一般来说自定义事件都比较复杂,用函数直接调用可以减少很多不必要的工作。
也可以用命令行进行调用, ce+空格+自定义事件名称
2.类蓝图调用场景中其他actor或类蓝图
左圆锥为类蓝图BP_M,右圆环为类蓝图BP_N
第一种思路就是在BP_M的类蓝图中添加一个变量,并且将该变量的类型改成要调用的actor 的类型。可以在场景中点击他看他的type。
下面具体介绍如何在类蓝图M中调用N中的事件或者函数。
首先,在M中添加变量,并修改类型为BP_N,可以把该类型改成public,便于选取。
编译并保存后,在场景中点击M,会发现多了一个属性,即选取哪个BP_N,
也可以用后面的吸管工具在场景中选取该对象。
比如图中,按E打印输出N的name;
ps.需要注意的是,右下角input选项里,auto receive input要选成我们目前的角色。做改动之前是default,是不接受我们输入的。
在n的蓝图中添加一个自定义事件,命令n旋转(因为之前选了个圆环,旋转看不出来,所以现在换成一根棍状的模型了)
编译并保存后 按E, 棍棍就开始旋转了。
调用函数同理。
第二种思路是借用中间量。
具体步骤如下。首先在一个在场景中绝对会存在的蓝图类(比如角色)作为桥梁,先在其中添加需要调用的变量,并在场景中指认。
注意要把PAWN转换成我们使用的类型,在这里是ThirdPersonCharacter,转换之后才可以在里面找到BP_N。
ps.上述两种方法,都需要在场景中事先指认变量N,如果想要在游戏进行过程中再进行指认怎么办呢?
复制了两根棍棍,name分别是BP_N, BP_N2, BP_N3。
假如我们只想让BP_N3进行旋转,就需要用到 get all actors of class这个函数。它是用来获取场景中某类物体,并输出一个以该类物体为元素的数组的函数。
这样就只有第二根棍旋转了。
3.类蓝图调用关卡蓝图中的自定义事件
可以用命令行的方式。
在类蓝图中,调用函数,Execute Console Command
command里面写 ce+空格+要调用的事件名。
就可以实现类蓝图调用关卡蓝图的自定义事件。
ps.关卡蓝图不能调用类蓝图中的自定义方法。
以上是关于UE4 创建一个自定义NewLevel的主要内容,如果未能解决你的问题,请参考以下文章