【问题标题】:Texture Transparency with Unreal (See through walls)使用虚幻的纹理透明度(透视墙壁)
【发布时间】:2011-10-04 19:30:30
【问题描述】:

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

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

但是,半透明 >0% 不透明度和

我知道您可能需要更多信息,我很乐意提供。我不是在寻找快速修复的解决方案,我真的只是没有想法,需要其他人来猜测是什么问题。

我会发布解决方案,正确的答案会发给指向我的人。

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

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

【问题讨论】:

  • 您使用的是哪个特定引擎(和版本)? (UE1、UE2、UE3?)

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


【解决方案1】:

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

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

它根本无法知道您稍后打算在三角形后面画什么。因此,透明物体的一般方法是:

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

【讨论】:

  • 谢谢 Nicol,您能解释一下为什么图像的完全透明部分可以正常工作吗?
  • @AndrewTarzwell:您是否对这些像素进行了 alpha 测试?
  • 在调查此问题时,我发现一些“#ifdef'd”代码可能尚未定义,这可能与此问题有关。如果它工作正常,是的,ALPHA_TEST 应该打开。重建后我会知道这是否会有所不同。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2015-03-20
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多