我们正致力于将一些软件从Windows移植到MacOS。
当我们打开带有alpha通道的纹理时,完全不透明的像素与预期一样工作,完全透明的像素与预期一样工作(您可以看到后面的墙)。
但是,半透明的像素>0%不透明度和<100%不透明度,渲染效果很差,你可以透过后面的墙看到天空框,你可以通过纹理看到天空框和它后面的墙。
我知道你可能需要更多的信息,我很乐意提供。我不是在寻找一个快速修复的解决方案,我真的只是用尽了想法,需要别人来猜测什么是错的。
我将张贴解决方案和正确的答案是谁给我指出这条路。
它不是纹理被放置在墙上,它被放置在靠近墙壁的静态网格上。
(无法发布图像,因为这是我在这里的第一个问题)
您正在按深度排序透明对象,是吗?从你的问题看来,答案是否定的。
你不能像渲染不透明对象那样渲染透明对象。你的渲染器只是一个漂亮的三角形抽屉。因此,它没有物体的真正概念,甚至没有透明度。您可以通过将透明像素与绘制透明三角形时framebuffer中的任何内容混合来实现透明度。
它根本不知道稍后你打算在三角形后面画什么。因此,透明对象的一般方法是:
- 首先渲染所有不透明的对象。
- 呈现透明对象排序从后往前。另外,关闭深度写(深度测试是可以的)。
这可能不是答案,但可能有用。制作一个在Maya/3d MAX中应用透明纹理的对象,并将其导出为fbx并导入到unreal ?