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也不起作用。
TonyChen1
(TonyChen1)
2
你好,你要不试下选择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的。
TonyChen1
(TonyChen1)
6
我测了下在preview页面下window menu并没有viewmodels的选项,只有切到Designer中才有,可能是5.5改了一些流程导致的。感觉像是bug,我可能跟开发团队再确认一下。最近总部同事都在休假所以也一直没有回复我。后面有消息我跟您说
TonyChen1
(TonyChen1)
8
之前的方式后面改成这种preview的方式了[Image Removed]
这种方式我知道,但是使用这种方式的话就没法预览viewmodel了。比如view内有view作为变量,这种嵌套使用。因为现在只能作为变量就不会展开了,以前有独立面板就没这个问题。这是故意改动的么?这么改动对比5.4来说,完全缺失了一部分功能啊。
TonyChen1
(TonyChen1)
10
我理解这个是有意设计成这样的,只不过嵌套不会展开的情况可能和之前的方式不太一样
感觉这样的设计好奇怪,嵌套使用的方式像是完全废掉了。不展开的话,感觉嵌套基本没法用了。并且似乎没有什么替代的方式。在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分钟左右的地方讲到了这部分。
TonyChen1
(TonyChen1)
14
你看下在widget资产右键preview打开找到window菜单把viewmodel打开,我上传了一下本地的测试视频,我感觉后面是通过新的方式打开viewmodel
嗯,右键preview这个知道。只是之前一直找不到viewmodel。见我上面的回复,刚才已经把这个跑通了。不过他默认不开启那个插件,感觉有点奇怪。我们是发现代码不起作用才找到这个插件的。正常来说,应该是随着mvvm自动加载mvvm的预览插件。而不是需要手动打开。官方文档也不详细,不看代码完全不知道要开这个东西。
TonyChen1
(TonyChen1)
16
看起来这部分变动还没来得及更新补充到新的文档里,我可以反馈一下这个问题,不过目前能跑通就好
嗯,总算是跑通了。可以反馈一下,让mvvm自动加载mvvm的预览插件,感觉这样是比较合理的。