UE4学习-虚幻4帮助手册、通过蓝图实现动画效果、添加时间轴、添加声音、C++和蓝图事件关联

    技术2024-08-19  52

    文章目录

    虚幻4帮助手册把一个对象转换成蓝图类C++和蓝图的关联添加时间轴修改defaultPawn修改door的事件图标给场景添加声音

    虚幻4帮助手册

    虚幻4帮助手册

    虚幻4帮助手册

    虚幻4帮助手册

    这个帮助手册里面可以查询各种你需要的知识,很强大。感兴趣的小伙伴,记得收藏噢。

    把一个对象转换成蓝图类

    选中门,然后点击蓝图,将选项转换为蓝图类。 如图: 然后直接保存即可。 界面会出现变化:

    按住窗口标题部位,可以和主窗口合并在一起,然后切换到事件图表,如图:

    把默认的三个事件都删了。后续我们添加自己的事件。

    C++和蓝图的关联

    如何把C++代码和蓝图关联起来,并且使用C++代码触发呢。

    首先在C++代码 openDoor.h中声明一个对象,声明方式为:

    DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDoorEvent);

    然后创建公有对象:

    UPROPERTY(BlueprintAssignable) FDoorEvent onOpen; UPROPERTY(BlueprintAssignable) FDoorEvent onClose;

    然后编译,把我们定义的doo对象的蓝图打开,找到openDoor,然后添加事件 如图: 我这里添加了一个onOpen,事件是打印字符串,事件太大了不好找,可以搜索print。 如图:

    然后对蓝图编译保存。

    回到主场景中,编译,运行。 这时开门,就会在屏幕上打印onOpen

    添加时间轴

    其实给事件添加时间轴还是挺简单的。

    首先添加事件的时候,搜索时间轴,然后添加时间轴。

    添加的时间轴,双击,进入一个空界面,然后我这里选择第一个,添加浮点型轨道。 给轨道命明,Angle 添加轨道以后,给时间轴添加关键帧,在时间轴上右键,点击添加关键帧即可。

    我这里添加了两个关键帧。在界面上点击小菱形,可以修改节点的值。 时间长度设置成了1

    然后回到时间轴上,就能看到,新增的时间轴Angle,在update连一个打印字符串值,输入为angle。 把angle拖动连接到in string的输入即可。 然后运行,就会打印角度值的变化。

    修改defaultPawn

    defaultPawn和椅子桌子等物体碰撞以后,会有一直旋转移动的过程,通过设置约束条件来控制。即属性里面的约束打开,然后把旋转的xyz都锁定了,再碰撞,就不会出现一直移动的情况了。

    修改door的事件图标

    这张图里面有几个知识点 1、使用的中文版的虚幻编辑器,如何查看原生的名称呢,按住alt就好,按住alt,然后鼠标移动到要查看的物体上面,名称就会变成原始的英文名称。主要有些时候看的教程使用的英文名称,和我们中文名称对应不上。

    我们的Angle返回的是一个浮点数,如何把这个值作为z值的输入呢,这里需要添加一个操作:创建旋转体(英文名:make rotator),这是创建了,默认的连的x值,如何把连接线改成连z值呢,有两种方式,第一种,按住alt,然后左键点击线,即可删除线,然后重新连接。 如图: 或者使用第二种方式,按住ctrl,然后鼠标左键点击连接点,线会解除连接,这时候鼠标左键按住不放,拖动,即可改变线的连接目的地。

    然后把return value 连接到actor旋转的值的输入即可。

    关门事件就是开门事件的反向操作。 时间轴里面有个reverse事件,这个就是反向事件,把onClose事件连接到reverse即可。这样就实现了关门操作。

    完整连接图就是这样:

    然后运行,就实现了开门和关门的动画效果了,慢慢的旋转完成,和之前使用代码实现的,一瞬间打开和关闭不一样。

    给场景添加声音

    在内容中新建一个文件夹,然后导入,选择wav的对象。即可添加声音,双击,能预览。

    然后door的事件列表视图中,添加如下内容:

    1、 在时间轴上添加一个playSound轴,是事件轨道噢。 然后添加一个关键帧,值为0.3

    添加以后,在时间轴里面能看到一个play sound,这时我们还需要添加 getActorLocation 获取actor位置和 play Sound at Location 播放位置处的音效。

    创建搜索如图: 然后需要选择声音,刚才我添加的声音名字叫open,如图:

    然后完成连线,如图:

    然后进行编译保存。 运行:

    这时候开门和关门都会有声音了。到此,UE4学习的第一个小游戏,到此已完成。

    vs的完成代码,我会打包上次到资源,有需要的小伙伴给我留言,我发送到你的邮箱,或者就直接到资源处下载噢。 资源审核需要时间,我明天或者后天再把链接补充到博文中。 声音文件我也会一并上传,到时候大家可以按照步骤,自己实现一下。

    后续我研究一下如何把做好的小游戏能够打包出来运行。等到弄好以后,一并上传,大家自己下载,实验。

    Processed: 0.011, SQL: 9