UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

示例:创建玩家列表,点击新建按钮时,创建玩家信息内容,包括名称、等级等信息如图

1.创建两个控件蓝图分别命名为PlayerList、PlayerSlot

2.在PlayerSlot控件蓝图中,将CanvasPanel删除,添加Horizontal Box,放入Text (测试名称) Spacer(用来做两个text间隔) Text(测试等级)如下图设置:

放置排列顺序,设置Spacer Size中x的大小。其余参数不设置

3.在PlayerList控件蓝图中,拖入标题(玩家列表),Button 新建按钮(其余暂时用不到),滑动框ScrollBox(图中命名为PlayerListBox,注意不是滑动条),背景图,将背景图与滑动框使用Overlay控件使他们重叠,设置填充参数为拉伸

<think>好的,用户的问题是如何在UE4中将控件蓝图添加到场景中。我需要先回顾一下之前提供的引用内容,尤其是关于添加控件蓝图的步骤。根据引用[1],用户提到了两种方法:一种是通过Create Widget和Add to Viewport节点,另一种是在Actor中添加Widget Component组件。引用[3]中也提到了将控件拖入事件图表并设置旋转。 首先,要确保用户理解控件蓝图的基本创建步骤。可能需要分步骤解释,从创建控件蓝图开始,然后选择合适的方法添加到场景。用户可能需要具体的操作指导,比如在蓝图编辑器中如何找到相关节点,或者如何在Actor中添加组件。 另外,用户可能关心不同的添加方式之间的区别,比如直接添加到视口和通过Widget Component添加的不同应用场景。比如,HUD通常直接添加到视口,而3D空间中的血条可能需要Widget Component。需要指出这两种方法的不同使用情况,以及如何调整位置和属性。 还要注意是否需要处理输入,比如引用[2]中提到的禁止触控的设置,这可能涉及到Set Input Mode的节点,但用户的问题可能暂时不需要这部分,但可以作为优化或高级用法提到。 需要检查是否有遗漏的步骤,比如如何获取玩家控制器,或者如何设置控件的父关系。同时,确保LaTeX格式正确,行内公式用$...$,独立公式用$$...$$,但在这个问题中可能用不上数学公式,所以可能不需要。不过要确认是否有其他技术术语需要格式化。 最后,生成相关问题时要围绕控件蓝图添加方法、优化、应用场景等方面,帮助用户深入理解。例如,如何调整控件位置,如何处理3D控件,或者如何优化性能。</think>在Unreal Engine 4中将控件蓝图添加到场景主要通过以下两种方法实现: ### 一、通过Viewport直接显示 1. **创建控件蓝图** 右键点击内容浏览器 → 选择"用户界面/控件蓝图",创建后命名为`WBP_MyWidget` 2. **添加到场景的蓝图脚本** 在关卡蓝图或Actor蓝图的事件图表中添加: ```cpp // 创建控件实例 UUserWidget* MyWidget = CreateWidget<UUserWidget>(GetWorld(), WBP_MyWidget); // 添加到视口 if(MyWidget) { MyWidget->AddToViewport(); } ``` 此方法适用于HUD、UI界面等需要屏幕空间渲染的内容[^1] ### 二、通过Widget Component附加到Actor 1. **在Actor中添加组件** - 打开目标Actor的蓝图 - 添加`Widget Component`组件 - 在Details面板设置: ```cpp Widget Class = WBP_MyWidget Draw Size = (1920,1080) // 根据需求调整 ``` 2. **空间位置调整** 使用`Find Look At Rotation`节点实现3D控件的自动转向: ```cpp // 在角色蓝图中设置控件朝向 FRotator NewRotation = UKismetMathLibrary::FindLookAtRotation( WidgetComponent->GetComponentLocation(), Camera->GetComponentLocation()); WidgetComponent->SetWorldRotation(NewRotation); ``` 这种方法适合3D空间中的血条、交互提示等需求[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值