如何在虚幻引擎中动态设置文本

3
我希望能够在虚幻引擎中动态设置文本和2D图片,可以使用类似于广告牌蓝图的占位符,然后使用设置文本蓝图来完成。我从外部源(亚马逊产品信息)获取JSON数据,然后想使用该JSON结果更新UI广告牌,其中包括文本和链接到图像文件的信息。请问有人知道如何实现这一功能吗?

2
请展示一下你目前的代码,并可能说明你认为存在的问题。 - Vini.g.fer
虚幻4的在线文档比你更清楚应该使用什么。我们只能在具体问题上提供帮助。 - Aracthor
1个回答

1
创建字符串: ```html

```
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,但它并不总是面向相机(就像广告牌一样)。我尝试使用Text->SetActorRotation(FRotationMatrix::MakeFromX(CameraLocation - ObjectLocation).Rotator());旋转它们,但它不像OGRE的广告牌那样,有时文本会倒置等问题。 - Rodrigo
我认为在场景组件中放置一个UTextRenderComponent应该可以解决问题。然后你可以转换/旋转场景组件!这里有一个蓝图示例,展示了你需要旋转的逻辑。这绝对有效。我曾经在场景组件中使用过一个小部件,但无论其中放什么都没有关系。 - t0b4cc0
我尝试过了,它编译通过了,但屏幕上没有显示任何内容。你能提供一个例子吗?还有人说UTextRender可以旋转而不需要场景。 - Rodrigo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接