You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unreal Engine程序化管控Pixel Streaming及编辑器切换技术求助

Unreal Engine程序化控制Pixel Streaming及编辑器模式切换方案

问题背景

已启用Pixel Streaming插件,尝试通过Python、C++或控制台命令程序化启停Pixel Streaming,以及切换关卡/完整编辑器模式,但现有尝试(访问unreal.PixelStreamingStreamerComponent、使用startStreaming/stopStreaming命令)均无效。


一、控制台命令方案

前置要求

启动Unreal Engine时添加启动参数:

-AllowPixelStreamingCommands -PixelStreamingWebServerPort=8888

(端口可根据需求自定义)

操作命令

  1. 启动Pixel Streaming(需在PIE模式或独立游戏进程中执行):
PixelStreaming.StartStreaming
  1. 停止Pixel Streaming:
PixelStreaming.StopStreaming
  1. 切换编辑器模式:
    • 切换到关卡编辑器:
    Editor.LevelEditor.EnterMode
    
    • 切换到完整编辑器:
    Editor.MainFrame.EnterMode
    

二、Python脚本方案

启停Pixel Streaming

import unreal

# 获取Pixel Streaming编辑器子系统
pixel_streaming_subsystem = unreal.get_editor_subsystem(unreal.PixelStreamingSubsystem)

# 启动流传输
pixel_streaming_subsystem.start_streaming()

# 停止流传输
pixel_streaming_subsystem.stop_streaming()

切换编辑器模式

import unreal

# 切换到关卡编辑器模式
unreal.LevelEditorSubsystem().enter_level_editor_mode()

# 切换到完整编辑器模式
unreal.MainFrameSubsystem().enter_full_editor_mode()

说明:需确保项目已启用Python插件,脚本可在编辑器Python控制台或Editor Utility Widget中执行。


三、C++代码方案

项目依赖配置

在项目的Build.cs文件中添加依赖模块:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "PixelStreaming" });

启停Pixel Streaming

#include "PixelStreamingSubsystem.h"
#include "Engine/Engine.h"

// 获取Pixel Streaming子系统
UPixelStreamingSubsystem* PixelStreamingSubsystem = GEngine->GetEngineSubsystem<UPixelStreamingSubsystem>();

// 启动流传输
if (PixelStreamingSubsystem)
{
    PixelStreamingSubsystem->StartStreaming();
}

// 停止流传输
if (PixelStreamingSubsystem)
{
    PixelStreamingSubsystem->StopStreaming();
}

切换编辑器模式

#include "LevelEditorSubsystem.h"
#include "MainFrameSubsystem.h"
#include "Editor.h"

// 切换到关卡编辑器模式
ULevelEditorSubsystem* LevelEditorSubsystem = GEditor->GetEditorSubsystem<ULevelEditorSubsystem>();
if (LevelEditorSubsystem)
{
    LevelEditorSubsystem->EnterLevelEditorMode();
}

// 切换到完整编辑器模式
UMainFrameSubsystem* MainFrameSubsystem = GEditor->GetEditorSubsystem<UMainFrameSubsystem>();
if (MainFrameSubsystem)
{
    MainFrameSubsystem->EnterFullEditorMode();
}

说明:代码需编写在编辑器模块中,或通过蓝图Function Library暴露给蓝图使用,确保在编辑器环境下执行。


内容的提问来源于stack exchange,提问作者Mohammed Sawad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:49:58