gpt4 book ai didi

ios - 如何在 Scenekit/ARKit 中使用 shadowMode=deferred 移除灯光?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:22:02 24 4
gpt4 key购买 nike

我有 ARKit 场景,我将聚光灯放在头顶以转换阴影。

因为我想在透明平面上转换阴影,所以我在聚光灯上将属性 shadowMode 设置为延迟 (https://developer.apple.com/documentation/scenekit/scnshadowmode/1523758-deferred)。

这行得通,但是当我再次移除聚光灯时,应用程序崩溃了:

[SceneKit] 错误:阴影节点未注册
[SceneKit] 错误:_willExecuteDeferredShadows - 没有灯光

当未设置 shadowMode(默认为“forward”)时,应用程序不会崩溃

如何在不崩溃的情况下移除灯?

最佳答案

我发现我需要在包含灯光的节点上设置 node.hidden=Yes,然后再将其移除。这防止了崩溃:

if(node.light) {
node.hidden = YES;
[node removeFromParentNode];
}

关于ios - 如何在 Scenekit/ARKit 中使用 shadowMode=deferred 移除灯光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47270056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com