作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有 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/
我有 ARKit 场景,我将聚光灯放在头顶以转换阴影。 因为我想在透明平面上转换阴影,所以我在聚光灯上将属性 shadowMode 设置为延迟 (https://developer.apple.com
我是一名优秀的程序员,十分优秀!