纹理透明度与虚幻(透视墙)

时间:2011-10-04 19:30:31

标签: opengl transparency direct3d alpha unreal-development-kit

我们正在努力将一些软件从Windows移植到MacOS。

当我们调出带有Alpha通道的纹理时,完全不透明的像素按预期工作,完全透明的像素按预期工作(您可以看到后面的墙)。

然而,半透明&lt; 0%不透明度和<0%的像素。 100%不透明度,渲染效果不佳,你可以透过后面的墙看到,你可以通过纹理和它后面的墙看到天空盒。

我知道您可能需要更多信息,我很乐意提供。我不是在寻找一个快速解决方案,我真的已经用完了想法,需要其他人来猜测是什么错误。

我会发布解决方案,正确的回答是指向那个指向我的人。

纹理不是直接放在墙上,而是放在靠近墙壁的静态网格上。

(无法发布图片,因为这是我的第一个问题)

2 个答案:

答案 0 :(得分:3)

你是sorting transparent objects by depth,是吗?我从你的问题中收集,答案是否定的。

您不能像透明对象一样渲染透明对象。你的渲染器只是一个奇特的三角形抽屉。因此,它没有真正的对象概念,甚至透明度。通过将透明像素与绘制透明三角形时帧缓冲区中的任何内容混合来实现透明度。

它根本无法知道你打算在三角形后面绘制什么。因此,透明对象的一般方法是:

  1. 首先渲染所有不透明对象。
  2. 渲染从前到后排序的透明对象。另外,关闭深度写入(深度测试很好)。

答案 1 :(得分:0)

这可能不是一个答案,但可能有用。 制作一个在Maya / 3d MAX中应用透明纹理并导出为fbx并导入到虚幻的对象?