【发布时间】:2015-03-13 02:11:51
【问题描述】:
对于SCNFloor,如果reflective设置为1,并且reflectionFallOffEnd足够大,就会像一面镜子。
我的问题是如何将其应用于其他几何形状(例如平面或盒子)?因为我想在我的游戏中有一面镜子。
【问题讨论】:
标签: ios objective-c swift scenekit
对于SCNFloor,如果reflective设置为1,并且reflectionFallOffEnd足够大,就会像一面镜子。
我的问题是如何将其应用于其他几何形状(例如平面或盒子)?因为我想在我的游戏中有一面镜子。
【问题讨论】:
标签: ios objective-c swift scenekit
我已经对如何使用 Scenekit 进行反射进行了大量研究。
以下是我发现的不同线索(遗憾的是,它们都需要大量的代码和研究):
优点:
缺点
优点:
缺点
优点:
缺点
pointOfView 的文档优点:
缺点
优点:
缺点
我的结论是,我们在使用 SCNTechnique 方面需要更多帮助。我们可以用它构建出令人惊叹的东西,但缺乏文档和示例是一个大问题。
如果您能具体说明您心目中的镜子类型,我很乐意帮助您选择最佳方式。
【讨论】:
我知道这是一个老问题,但我想分享我所做的。我在 GitHub 上创建了一个 gist,其中包含代码并解释了它是如何工作的。
它基本上将六个摄像机附加到一个节点并自动创建一个立方体贴图,然后将其用作对象的反射属性。主要缺点是它不适用于基于物理的材质,但为了模拟粗糙度,它会将立方体贴图模糊为您将粗糙度属性设置为的任何值。它实时运行良好,您可以设置立方体贴图的更新速度,这样您就不会过多地影响游戏的帧速率。它还可以处理许多不同的反射对象,并自动停止更新您看不到的节点。
【讨论】:
目前其他几何类型不支持此功能。请file a request to Apple。
【讨论】: