所以我有很多3D模型和RMAO映射来定义PBR通道。在不真实的引擎中,这样做是为了让我在蒙版纹理中指定粗糙度、金属度和环境遮挡通道:
现在,我想将我的资产转移到统一,但是统一使用了不同的系统,并且有以下设置:
F 217
基本上,这可以归结为以下几点:
R <- B
G <- R
B <- pure black
A <- Inverted G
我尝试过这个命令magick convert 'texture.png' -alpha opaque -separate -swap 0,2 -swap 1,2 -swap 3,2 -swap 2,2 -combine png32:texture_new.png
,但是结果没有一个单独的alpha通道,所以不透明度在RGB通道上。
所以我想要做的就是把一个RGB纹理转换成RGBA纹理,翻转一下通道,然后反转alpha通道。这有可能是想象障碍吗。
发布于 2021-04-10 17:09:23
我不使用虚幻或统一,所以我没有办法检查这一点,但也许它会帮助你看到一种方法,如果它不工作。
我正在布置它,所以每一行都应该生成一个所需的输出通道:
magick texture.png -write MPR:orig -channel B -separate \
\( MPR:orig -channel R -separate \) \
\( MPR:orig -channel R -separate -threshold 100% \) \
\( MPR:orig -channel G -separate -negate \) \
-combine PNG32:result.png
顺便说一句,magick convert ...
几乎总是wrong。
如果它不起作用,您可以在每个阶段输出每个通道,看看哪一个是错误的,如下所示:
magick texture.png -write MPR:orig -channel B -separate -write newR.png \
\( MPR:orig -channel R -separate -write newG.png \) \
\( MPR:orig -channel R -separate -threshold 100% -write newB.png \) \
\( MPR:orig -channel G -separate -negate -write newA.png \) \
-combine PNG32:result.png
https://stackoverflow.com/questions/67036839
复制相似问题