【问题标题】:How to set text dynamically in unreal engine如何在虚幻引擎中动态设置文本
【发布时间】:2016-01-01 00:20:22
【问题描述】:

我想在虚幻引擎中动态设置文本和 2d 图像,可能使用广告牌蓝图之类的占位符,然后使用设置文本蓝图。

我从外部来源(亚马逊产品信息)获取 json,然后想用这个 json 结果更新 UI 广告牌,其中包括文本和图像文件的链接。

有谁知道如何做到这一点。

【问题讨论】:

  • 请向我们展示一些代码,说明您目前拥有什么,以及您认为问题可能出在哪里。
  • Unreal4 在线文档会比您更好地告诉您使用什么。我们只能在具体问题上为您提供帮助。

标签: c++ json unreal-engine4


【解决方案1】:

创建字符串:

FString TestHUDString = FString(TEXT("Buy this crap!"));

FStrings 可以在运行时设置/修改,就像你想从 std::string 中一样

TestHUDString = "buy this other crap....";

并且(例如)将其写入“屏幕”:

Canvas->DrawText(BigFont, TestHUDString, 110.0f,110.0f);

如果您遇到问题,您需要将数据转换为 c 字符串或 UTF-8。

例如,如果您想创建“世界”广告牌,还有对象的文本组件。

这里是关于使用 FStrings 的官方文档:

https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/StringHandling/FString/

这应该有助于假设您知道如何反序列化 json - 恕我直言,这是一个不同的主题。

【讨论】:

  • 您提到了哪些“对象的文本组件”?我尝试使用 ATextRenderActor,但它并不总是面向相机(就像 Billboards 那样)。我尝试用Text->SetActorRotation(FRotationMatrix::MakeFromX(CameraLocation - ObjectLocation).Rotator()); 旋转它们,但它不像 OGRE 的广告牌的样子,有时文字会颠倒,等等。
  • 我认为场景组件中的UTextRenderComponent 应该这样做。然后你转换/旋转场景组件!。 Here a blueprint example of the logic you need to rotate 这绝对有效。我将它与场景组件中的小部件一起使用,但其中的内容无关紧要。
  • 我试过了,它可以编译,但屏幕上没有显示任何内容。请你举个例子好吗?也有人说UTextRender不需要Scene就可以旋转。
猜你喜欢
  • 2015-09-24
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 2022-10-22
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-30
相关资源
最近更新 更多