unreal吧 关注:1,861贴子:2,228
  • 9回复贴,共1

请教下大佬,UE如何隐藏窗口及背景透明?

只看楼主收藏回复

想用UE做一个PC端程序,效果就是运行后,背景透明的,只显示其中的3D虚拟人。
类似下面unity的效果:
https://www.bilibili.com/video/BV1Y341147bc/?spm_id_from=333.337.search-card.all.click&vd_source=8b15f077a0ceb1c9edb694d477326c2f

现在我就是不知道如何把背景设置成透明的,感谢各位大佬不吝赐教~~


IP属地:福建1楼2023-03-29 11:01回复


    2楼2023-04-24 15:11
    回复
      解决了吗楼主?


      IP属地:云南4楼2023-07-12 13:05
      回复
        转自简书 https://www.jianshu.com/p/d101a2266302
        UE4 SWindow 透明窗口Lif68关注IP属地: 天津2020.03.23 20:16:54字数 195阅读 2,572
        首先要说明的是,透明窗口打包是需要修改引擎源码,不然打包时候会因为EWindowTransparency里面
        #if ALPHA_BLENDED_WINDOWS
        /** Value indicating that a window supports per-pixel alpha blended transparency */
        PerPixel,
        #endif
        的限制原因,无法访问EWindowTransparency::PerPixel
        文件为
        \Engine\Source\Runtime\ApplicationCore\Public\GenericPlatform\GenericWindowDefinition.h
        将ALPHA_BLENDED_WINDOWS的限制条件加上WITH_ENGINE,如下所示
        #ifndef ALPHA_BLENDED_WINDOWS
        #define ALPHA_BLENDED_WINDOWS IS_PROGRAM || WITH_EDITOR||WITH_ENGINE
        #endif
        不会影响到引擎其他内容,参考
        https://github.com/EpicGames/UnrealEngine/search?q=ALPHA_BLENDED_WINDOWS&unscoped_q=ALPHA_BLENDED_WINDOWS
        分析,只是将打包后透明窗口功能开启了
        这样,你的SWindow,也包括你的游戏窗口,就能用EWindowTransparency::PerPixel来实现带透明度的窗口啦并打包啦。


        5楼2023-12-05 18:58
        回复
          有人解决了吗?


          IP属地:上海6楼2023-12-06 13:42
          回复
            解决了吗?、


            IP属地:上海7楼2023-12-06 14:45
            收起回复
              IP属地:湖南8楼2024-11-07 16:02
              回复
                1添加C++脚本 运行时候beginplay处调用一次
                if (hwnd) { SetWindowLongPtr(hwnd, GWL_STYLE, WS_VISIBLE); SetWindowLongPtr(hwnd, GWL_EXSTYLE, WS_EX_LAYERED | WS_EX_TRANSPARENT); RECT rect; GetWindowRect(hwnd, &rect); SetWindowPos(hwnd, HWND_TOPMOST, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_SHOWWINDOW); const MARGINS margins{ -1 }; DwmExtendFrameIntoClientArea(hwnd, &margins); }
                2https://www.youtube.com/watch?v=L6LNXZwH2FE 参照这个视频 完成项目的设置 和创建后处理材质。 注意的是,视频中是绿色的color 节点,我们要保持 0000,黑色的
                3.projectSetting 中搜索rhi 将dx12改为vulkan ;projectSetting -Platforms - windos -vulkan targeted shader formats 勾选SM6
                4打包,默认是全屏,按下F11 变为窗口化。关闭 第二次开启就是 透明窗口了 (这里也可以在蓝图中写逻辑 窗口化运行)


                IP属地:湖南9楼2024-11-07 16:12
                收起回复