SceneKit材质中的玻璃效果

5

我想在SceneKit中制作玻璃效果。 我在谷歌上搜索了,但没有完美的答案。 因此,我正在寻找可以清晰解决我的问题的SceneKit专家。 这是我要制作的图像。

Final

我希望它看起来像是真实的。 玻璃效果、反射和阴影是主要关注点。 我已经有了obj和dae文件。

那么,有人可以帮我吗?


看看使用环境光的基于物理的渲染(PBR)在SceneKit中的实现。这应该是你正在寻找的东西。 - Ru Chern Chong
1个回答

10
创建一个 SCNMaterial 并配置以下属性,并将其分配给 SCNNode 的瓶子几何形状:
.lightingModel = .blinn
.transparent.content = // an image/texture whose alpha channel defines
                       // the area of partial transparency (the glass)
                       // and the opaque part (the label).
.transparencyMode = .dualLayer
.fresnelExponent = 1.5
.isDoubleSide = true
.specular.contents = UIColor(white: 0.6, alpha: 1.0)
.diffuse.contents =    // texture image including the label (rest can be gray)
.shininess =           // somewhere between 25 and 100
.reflective.contents = // glass won’t look good unless it has something
                       // to reflect, so also configure this as well.
                       // To at least a gray color with value 0.7 
                       // but preferably an image.

根据场景中的其他元素、背景和光照的使用情况,您可能需要调整上述值以获得所需的结果。如果您想要没有标签的瓶子,请使用.transparency属性(将其内容设置为灰色)而不是.transparent属性。


谢谢你的回答!你能分享一下你制作的图片吗?还有一个问题,你能制作出可以透过玻璃看到的阴影吗? - Jun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接