我有一个SKSpriteNode我希望在它的边缘有蓝色光晕以突出显示目的.我猜我需要让我的精灵成为a的孩子,SKEffectNode然后创建/应用某种过滤器.
更新:我已经使用所选答案的方法调查了这一点,并发现SKEffectNode即使你已经设置为shouldRasterize"无过滤器"定义,它也会有相当大的性能.我的结论是,如果你的游戏一次需要10个以上的移动物体,SKEffectNode即使是光栅化也不会涉及到它们.
我的解决方案可能涉及预渲染的发光图像/动画,因为SKEffectNode不会根据我的要求削减它.
如果有人对我失踪的任何事情有所了解,我会很感激你所知道的一切!
我接受了答案,因为它确实实现了我的要求,但是想要将这些笔记添加到任何想要走这条路线的人,这样你就可以了解使用中的一些问题SKEffectNode.
基本上,我想在一个立方体周围渲染一个轮廓。为此,我想我可以使用SCNTechnique具有以下渲染通道的 :
问题是,模板中的文档SCNTechnique非常稀少,我无法确切地知道如何使用它。
我已经通过首先在禁用深度测试的情况下绘制较大的“轮廓立方体”然后再绘制普通立方体来成功绘制轮廓,这效果很好,但是由于这种方法的其他复杂性,我想改用模板。
在尝试使用模板缓冲区使其工作时,我的第一遍stencilStates看起来像(以及我认为我需要这些属性的原因):
clear = YES // To clear the buffer from last
enable = YES // To write to the buffer
behavior:
writeMask = 1 // Use bit 1
function = always // Always write to stencil regardless?
Run Code Online (Sandbox Code Playgroud)
第二遍的stencilStates样子:
clear = NO // Keep the buffer from last step
enable = NO // Don't write to the buffer (only read?)
behavior:
readMask = 1 // Use bit …Run Code Online (Sandbox Code Playgroud) 好吧,当添加到 Swift/Xcode 中的 ARScene 时,我拼命地在我的对象上实现这种温暖的灯光 - 温暖的灯光和周围的小发光灯:
需要明确的是,我不希望添加到场景中的对象看起来像是属于周围的房间。我希望它们脱颖而出/看起来温暖而发光。ARKit 上的所有教程都会教你如何模仿实际房间的灯光。
Xcode 有几个照明选项,从相机收集的周围环境中提取,因为:
if let lightEstimate = session.currentFrame?.lightEstimate
Run Code Online (Sandbox Code Playgroud)
我可以打印出温暖度、强度等。并且我当前还设置了这些属性来匹配房间的光线:
sceneView.automaticallyUpdatesLighting = true
extension ARSCNView {
func setup() { //SCENE SETUP
antialiasingMode = .multisampling4X
autoenablesDefaultLighting = true
preferredFramesPerSecond = 60
contentScaleFactor = 1.3
if let camera = pointOfView?.camera {
camera.wantsHDR = true
camera.wantsExposureAdaptation = true
camera.exposureOffset = -1
camera.minimumExposure = -1
camera.maximumExposure = 3
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过提高对象纹理的发射率,但没有任何效果。添加灯光只会使物体变黑/无颜色。
这里有什么问题吗?
我有一个节点(只是一个带有SCNCapsule几何体的简单节点,只是为了更具体),我希望它像星球大战光剑一样发光:

我试图添加一个具有相同几何形状的子节点,只是稍大一点,不透明度为0.5,颜色不同,但这并不是我想要的.还有另一种方法吗?
scenekit ×2
swift ×2
arkit ×1
glow ×1
ios ×1
iphone ×1
lighting ×1
scntechnique ×1
skeffectnode ×1
sprite-kit ×1
xcode ×1