再测试mesh paint的时候发现,在PLA中画mesh paint以后,编辑模式和非编辑模式显示的内容不一致。非编辑模式下,画了的mesh paint直接丢失了。请问有什么办法可以避免丢失吗?还是说这是目前mesh paint的限制?谢谢
上传测试项目
您好, 材质中读取的mesh paint texture是存在primitive component上的, 目前不支持instance. 这里Packed Level Actor会把包含的模型instance成HISM, 所以读取不到绘制的贴图了.
方便的话, 需要paint的区域最好用level instance组织起来而不是PLA.[Image Removed]
主要是考虑到即便使用了level instance来组织,但后期加入HLOD的考虑的话,mesh paint依旧会失效
你好, 抱歉上周我们在忙UnrealFest, 没有及时回复.
由于mesh paint绘制后的贴图存在当前的mesh component上, 后期任何形式的Instance都会造成它的失效.
HLOD如果用的是merge mesh的形式, 会把paint的结果重新烘培, 可以保留, 但如果是Instance的形式, 确实是不支持的.
没关系,理解的。但是我尝试过使用merge的HLOD,但发现还是会丢失的。麻烦帮忙是merge setting不正确还是说有其他的设置需要提前操作呢?我画了mesh paint以后,生成了HLOD。然后Unload 掉所有。显示出来的HLOD如下图所示为纯白的(简单的材质球,仅仅使用mesh paint作为color输出)。[Image Removed][Image Removed]
你好, HLOD merge mesh的选项里, 有merge material的选项(上面截图没有开启). 生成HLOD时会把不同模型材质的diffuse, emissive等通道合并烘培成纹理, 这样保留mesh paint结果. 但我重新测试了下, 发现只有画的vertex color被烘培了上去, texture没有, Level Instance或者普通的Static Mesh都是如此, 我再询问下开发同学, 抱歉没有测试清楚.
[Image Removed]
好的,感谢回复
请问有新的进展吗
我提了一个ticket在这里: UE-316113, 但目前还没有什么进展, 有变动我会再更新在这里, 谢谢!
好的,感谢!
目前计划是5.7修复.