首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Imagemagick翻转通道并创建一个alpha通道(不真实的RMA到Unity )

Imagemagick翻转通道并创建一个alpha通道(不真实的RMA到Unity )
EN

Stack Overflow用户
提问于 2021-04-10 16:40:57
回答 1查看 189关注 0票数 1

所以我有很多3D模型和RMAO映射来定义PBR通道。在不真实的引擎中,这样做是为了让我在蒙版纹理中指定粗糙度、金属度和环境遮挡通道:

  • R =周围闭塞
  • G=粗糙度
  • B= Metalness

现在,我想将我的资产转移到统一,但是统一使用了不同的系统,并且有以下设置:

  • R =金属
  • G=环境遮挡
  • B=空
  • A=光滑(基本倒置粗糙度)

F 217

基本上,这可以归结为以下几点:

代码语言:javascript
运行
复制
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通道。这有可能是想象障碍吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-10 17:09:23

我不使用虚幻或统一,所以我没有办法检查这一点,但也许它会帮助你看到一种方法,如果它不工作。

我正在布置它,所以每一行都应该生成一个所需的输出通道:

代码语言:javascript
运行
复制
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

如果它不起作用,您可以在每个阶段输出每个通道,看看哪一个是错误的,如下所示:

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67036839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档