5.5中的UMG Preview ViewModels发生改变

Hi,

我们在5.4中使用的UMG Preview Viewmodels相关的功能在5.5中似乎发生了改变,整个功能面板都消失了。

[Image Removed]

5.5中只有这一堆东西

[Image Removed]

在5.4中的时候,他是这样的。

[Image Removed]

[Content removed]

这个帖子中的方法在5.4中是有效的,在5.5中完全无效了。整个Viiewmodels的面板在Preview面板下都消失了。勾选Can Call Initialized Without Player Context也不起作用。

你好,你要不试下选择create type方式,然后勾选expose instance in editor

[Image Removed]然后在DetailView中会有viewmodel的设置

[Image Removed]

做个补充 我们用5.4做了个小Demo。

要开启cvar: UMG.EnablePreviewMode 1

这个Demo展示的效果在后面版本目前不知道如何做到,或者有什么平替的方法。在嵌套的情况下,怎么设置值呢?

[Image Removed]​

主要这个被删了:

[Image Removed]相关的文件应该是在:

Engine/Plugins/Runtime/ModelViewViewModel/Source/ModelViewViewModelEditor/Private/Tabs/MVVMPreviewSourceSummoner.h

更新一下

我们发现这玩意在代码里都能看到有创建

[Image Removed]5.6里面还有这个

[Image Removed]但是ui看不到

他还特地从umg的那个老的预览里面把东西删了 然后单独弄了个模块把他挪出来了 然后新的模块就是Widget preview 代码存在 但是没具体ui

调试了一下 发现打断点打不上 模块调试符号都加载不上 跟了一下代码发现这个插件都没加载

[Image Removed]感觉这个操作挺迷的…

​他把那个ui拆到了模块里 模块加载才会在ui上面加上这块tab 模块不加载就静默的啥也不做 这个处理有问题吧 肯定应该做成随着mvvm自动加载mvvm的预览模块 不加载这是写了个寂寞

打开插件就对劲了

[Image Removed]​

Hi,

问题是 如果嵌套mvvm的话里面的就看不到了。难道要在on initilized()方法里面手动初始化嵌套的mvvm么​?上个版本明明还不需要,会自动创建的。mvvm里面可以成员变量继续嵌套mvvm,或者说嵌套一个view的。

我测了下在preview页面下window menu并没有viewmodels的选项,只有切到Designer中才有,可能是5.5改了一些流程导致的。感觉像是bug,我可能跟开发团队再确认一下。最近总部同事都在休假所以也一直没有回复我。后面有消息我跟您说

好的,麻烦您了。等您的消息了😂

之前的方式后面改成这种preview的方式了​[Image Removed]

这种方式我知道,但是使用这种方式的话就没法预览viewmodel了。比如view内有view作为变量,这种嵌套使用。因为现在只能作为变量就不会展开了,以前有独立面板就没这个问题。这是故意改动的么?这么改动对比5.4来说,完全缺失了一部分功能啊。

我理解这个是有意设计成这样的,只不过嵌套不会展开的情况可能和之前的方式不太一样

:sweat_smile: 感觉这样的设计好奇怪,嵌套使用的方式像是完全废掉了。不展开的话,感觉嵌套基本没法用了。并且似乎没有什么替代的方式。在5.5、5.6下应该如何像5.4那样操作?完全没有一个过渡方案。现在的功能对于5.4来说,功能变的不健全了。

并且​嵌套也是官方自己推荐的使用方式,但是现在嵌套不展开,如果嵌套mvvm的话里面的就看不到了,也没发现什么对应的方案。

和这个视频中讲到的内容出入就非常大了:

https://dev.epicgames.com/community/learning/talks\-and\-demos/pw3Y/unreal\-engine\-umg\-viewmodels\-building\-more\-robust\-and\-testable\-uis\-using\-mvvm\-unreal\-fest\-2023​

你能发个视频或者截图吗,我反馈一下

实际上就是这种东西

[Image Removed]点击对应的ViewModel,上面可以设置初始值。后面的版本没有这个东西了。

另外提到的嵌套就是,作为成员变量,一个vm作为另一个vm的成员变量。 这是官方推荐的方式。

[Image Removed]然后在Preview里面会有对应的切换

[Image Removed]后面的版本就是这个东西没了,没了就没办法设置值了。我们想知道这玩意如果是改了,那么也应该要有个替代的方式吧,现在没了,怎么设置值呢?

我们当时是看的这个视频,跟着学习的:https://dev.epicgames.com/community/learning/talks\-and\-demos/pw3Y/unreal\-engine\-umg\-viewmodels\-building\-more\-robust\-and\-testable\-uis\-using\-mvvm\-unreal\-fest\-2023

在10分钟左右的地方讲到了这部分。

你看下在widget资产右键preview打开找到window菜单把viewmodel打开,我上传了一下本地的测试视频,我感觉后面是通过新的方式打开viewmodel

嗯,右键preview这个知道。只是之前一直找不到viewmodel。见我上面的回复,刚才已经把这个跑通了。不过他默认不开启那个插件,感觉有点奇怪。我们是发现代码不起作用才找到这个插件的。正常来说,应该是随着mvvm自动加载mvvm的预览插件。而不是需要手动打开。官方文档也不详细,不看代码完全不知道要开这个东西。

看起来这部分变动还没来得及更新补充到新的文档里,我可以反馈一下这个问题,不过目前能跑通就好

嗯,总算是跑通了。可以反馈一下,让mvvm自动加载mvvm的预览插件,感觉这样是比较合理的。

好的~