UE4 里 怎么获取Uworld
时间: 2023-05-12 12:05:05 浏览: 296
在UE4中,可以通过以下代码获取UWorld:
```cpp
UWorld* World = GEngine->GetWorldFromContextObject(MyObject, EGetWorldErrorMode::LogAndReturnNull);
```
其中,MyObject是一个继承自UObject的对象,可以是任何一个在世界中的对象。如果成功获取到了UWorld,World将指向当前的世界对象,否则将返回NULL。
相关问题
UE4 没有object 怎么获取Uworld
你可以通过以下代码获取UWorld:
```cpp
UWorld* world = GEngine->GetWorldFromContextObjectChecked(contextObject);
```
其中,contextObject 是一个继承自 UObject 的对象,可以是任何一个在游戏中存在的对象。
ue4获取虚拟摄像头画面
在Unreal Engine 4 (UE4) 中,获取虚拟摄像头(Virtual Camera)的画面通常涉及到蓝图(Blueprints)或C++代码的编写。以下是两种常见的方法:
1. **蓝图(Blueprint)**:
- 打开你的场景,在“内容浏览器”中找到并双击打开包含虚拟摄像机的Actor,比如GameMode或CameraActor。
- 在蓝图的“Event Graph”中,可以添加一个“Get Viewport Texture”节点,这将返回当前视口的图像。
- 调整“Virtual Camera”属性,选择你要使用的摄像头。
- 当需要获取画面时,触发相应的事件或通过蓝图函数调用这个节点。
2. **C++**:
- 首先,你需要访问`FViewport`类,它包含了渲染到屏幕的资源。
```cpp
UWorld* const World = GetWorld();
FSceneViewFamilyContext Context(*World);
TArray<FSceneView> Views;
World->GetDefaultSceneViewFamily(Context).CreateViews(Views);
// 获取第一个(默认)视角的图像
TArray<uint8> PixelData;
Views[0].RHI.GetRenderTargetData(PixelData, true);
```
这里会返回一个像素数据数组,你可以将其保存成纹理或者其他形式的数据。
阅读全文