UE4--3DUI

在要添加的物体中添加Widget组件

Space:渲染位置(World:渲染到世界,一般用于3D,Screen:渲染到屏幕:一般用于2D)
Widget Class:要渲染的对象(渲染那个UI界面) 
Draw at Desired Size:理想大小

  

 当需要用户与3DUI进行交互时,需要添加WidgetInteraction组件

需要调整方向,让组件指向方向与角色方向保持一致,在视口界面中可以看到红色的箭头就是控件交互组件

细节设置

 3DUI的锚点设置,根据需求进行锚点设置,可以让3DUI更好的在场景中显示。

可以创建一个Actor,但不给静态网格体,这样该Actor不会再场景中显示,但是3DUI会在场景中显示。通过Tag,可以很好的控制3DUI是否显示或者隐藏

注意一定要与3DUI的保持一致,不让3DUI出现位置会很奇怪。

### 使用 Unreal Engine 实现 3D UI 输入框 在 Unreal Engine 中创建和管理 3D 用户界面 (UI) 是一项复杂但强大的功能。对于希望在游戏中集成交互式 3D UI 的开发者来说,理解如何实现这些组件至关重要。 #### 创建基础的 3D UI 结构 为了构建一个基本的 3D UI 输入框,在场景中放置 `Widget Interaction` 组件来处理玩家与 UI 元素之间的互动[^1]: ```cpp // C++ 示例:设置 WidgetInteractionComponent 并绑定事件 void AMyPlayerController::SetupInputComponent() { Super::SetupInputComponent(); UWidgetInteractionComponent* MyWidgetInteractionComp = NewObject<UWidgetInteractionComponent>(this); MyWidgetInteractionComp->RegisterComponent(); // Bind events here... } ``` #### 设计可交互的输入控件 通过蓝图或代码定义自定义的小部件类(继承于 `UserWidget`),该类包含用于显示文本并允许用户输入文字的功能。利用 `EditableTextBox` 或者更高级别的 `UMG` 控件作为起点[^4]: ```blueprint // Blueprint Node Graph Example: // Add Event On Text Changed -> Your Logic Here // Connect to Input Action via Widget Interaction Component ``` #### 处理键盘焦点及输入逻辑 确保当鼠标悬停或点击特定区域时能够获取到正确的输入焦点,并且可以通过调用相应的函数更新内部状态以及视觉反馈给用户知道当前处于编辑模式下: ```cpp // C++ 示例:切换 Editable TextBox 是否获得焦点 void ToggleFocusOnEditableText(UEditableTextBox* TargetBox) { if (!TargetBox || !IsValid(TargetBox)) return; bIsFocused = !bIsFocused; TargetBox->SetKeyboardFocus(bIsFocused ? EMouseCursor::TextEdit : EMouseCursor::Default); } ``` #### 集成触摸屏支持(针对移动平台) 考虑到不同设备间的差异性,特别是触控屏幕上的操作体验优化非常重要。借助引擎内置的手势识别机制或是第三方插件扩展能力,使得基于手势的操作更加流畅自然[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值