代码之家  ›  专栏  ›  技术社区  ›  Manuel

如何在Xcode中渲染具有半透明纹理的三维模型?

  •  1
  • Manuel  · 技术社区  · 7 年前

    头发的三维模型由两个几何体(头发和帽子)组成,是在玛雅创建的。是从货架上买的 here .

    enter image description here

    我将模型导出为COLLADA格式(DAE),并将其放入一个文件夹中 model.scnassets 以及它的纹理并将其添加到Xcode。但是,在Xcode场景编辑器中,它的渲染方式如下:

    enter image description here

    这里怎么了?


    更新:

    Transparent > Intensity = 5 , Settings > Transparency > Blend Mode = Double Sided , Settings > Transparency > Options > Writes depth = false 提供此图像,其中与蓝色球体相对的头发多边形被正确渲染,但在蓝色球体上方,渲染的头发多边形不是距离摄影机最近的多边形,而似乎是位于头发模型背面的多边形。这显然是因为 Writes depth = false ,但似乎有必要禁用它来渲染半透明头发。(此处使用棕色纹理而不是读取纹理,但无论选择的纹理如何,结果都相同)

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   Andy Jazz    7 年前

    如果你想看到正确的结果 Transparent Xcode场景编辑器中需要使用预乘的插槽 TIFF PNG 三维对象透明部分的文件。 蒂芙 文件格式可以容纳四个通道( RGBA ),但是 JPEG RGB ).

    Premultiplied 方法 RGB公司 * Alpha RGBA公司 (但不是毫无价值 RGB, A

    将预乘纹理应用于 透明的 插槽,设置它的 Intensity 1...5 Components 属性从下拉菜单转到所需频道( All Red , Green , Blue 阿尔法 ).

    enter image description here

    enter image description here

    苹果文档。

    enter image description here

    enter image description here

    enter image description here

    推荐文章