当前位置: 首页 > article >正文

UE4 组件 (对话组件)

制作一个可以生成对话气泡,显示对话台词的简单组件。这个组件要的变量:台词(外部传入)。功能:开始对话(生成气泡UI) ,结束对话。

一、对话组件创建

二、开始对话事件

1、注意这里获取的是 owner(拥有者) ,组件可能挂到随意对象上。因为这个对象不固定,所以不能获取玩家角色或者第三人称角色。     按类添加组件

2.这里1添加的组件时widget组件,是动态生成的,不是和bpc_talk一样手动挂上的。生成后对象就有了widget组件,但是只是一个占位符,里面是空的,需要4给它赋予控件。 这里设置的是这个组件其他属性(显示空间、碰撞、位置)

3.创建UI气泡控件(这个控件要放入控件(widget)组件中去的),它要台词信息,所以生成时候作为接口暴露出来。  这里Owning actor也是自己创建并暴露的接口。Owning Player则是节点默认自带的。

4.控件对象赋予控件组件。

三、结束对话事件

询问之前创建的控件组件是否有效,并设置为空。

四、UI控件制作

1.前端

按钮在前,覆层,文本和背景。文本换行要自动包裹文本,并且文本变量化。

2.后端

变量创建:按钮用于点击文本框切换下一句台词。 剧本由外部台词传入,num表示剧本语句索引。Owning actor表示拥有者,由外部导入。因为这个UI控件生成时并没任何拥有者,是后面把它作为了控件组件的控件实体。它无法像bpc_talk一样获取到拥有者。需要外部传入。

UI显示时,默认显示第一句话,人物无法接受输入,只有UI能响应输入,显示鼠标。

给按钮添加单击事件,索引加1,显示下一句台词。索引超过剧本长度时代表台词说完,需要结束对话。这里这个控件并不是其他控件的子项,所以不是用remove from parent移除,而是通过调用之前组件的 结束对话事件。所以这里要通过拥有者找到组件,再调用组件方法。输入和鼠标恢复。

五、对象挂组件

1.挂上组件

2.创建剧本台词

3.调用组件方法。 注意开始对话前,要先退出之前的对话。


http://www.kler.cn/a/574027.html

相关文章:

  • 6. PromQL的metric name(在node exporter复制下来交给AI解释的)
  • SpringCloud系列教程(十三):Sentinel流量控制
  • 【Elasticsearch】Index Lifecycle Management
  • C语言基础2
  • 设计模式 + java8方法引用 实现任意表的过滤器
  • 多线程-CompletableFuture
  • AI推理革新:Dynasor-CoT如何提升复杂任务效率
  • 【AI学习从零至壹】Pytorch逻辑回归
  • FreeRTOS 任务管理与运行时间统计:API 解析与配置实践
  • 模块15.常用API
  • QT.....................................5
  • Redis 脚本:高效数据管理的利器
  • C++ list(双向链表)
  • 决策树(Decision Tree)基础知识
  • 网络安全可以从事什么工作?
  • 洛谷 P1480 A/B Problem(高精度详解)c++
  • 探索自适应学习在企业培训系统中的优势
  • 2025-03-06 学习记录--C/C++-C语言 函数参数传递的两种主要方法
  • NVIDIA Jetson Nano的国产替代,基于算能BM1684X+FPGA+AI算力盒子,支持deepseek边缘部署
  • 用Python分割并高效处理PDF大文件