相关疑难解决方法(0)

如何通过SKEffectNode在精灵周围创建一个光晕

我有一个SKSpriteNode我希望在它的边缘有蓝色光晕以突出显示目的.我猜我需要让我的精灵成为a的孩子,SKEffectNode然后创建/应用某种过滤器.

更新:我已经使用所选答案的方法调查了这一点,并发现SKEffectNode即使你已经设置为shouldRasterize"无过滤器"定义,它也会有相当大的性能.我的结论是,如果你的游戏一次需要10个以上的移动物体,SKEffectNode即使是光栅化也不会涉及到它们.

我的解决方案可能涉及预渲染的发光图像/动画,因为SKEffectNode不会根据我的要求削减它.

如果有人对我失踪的任何事情有所了解,我会很感激你所知道的一切!

我接受了答案,因为它确实实现了我的要求,但是想要将这些笔记添加到任何想要走这条路线的人,这样你就可以了解使用中的一些问题SKEffectNode.

iphone ios sprite-kit skeffectnode

20
推荐指数
2
解决办法
2万
查看次数

如何在 SCNTechnique 中使用模板?

基本上,我想在一个立方体周围渲染一个轮廓。为此,我想我可以使用SCNTechnique具有以下渲染通道的 :

  1. 正常渲染立方体,并将它们占用的像素写入模板缓冲区。
  2. 如果它们在第一遍中不与模板相交,则渲染稍大的立方体。

问题是,模板中的文档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)

stencil-buffer scenekit scntechnique

5
推荐指数
1
解决办法
1251
查看次数

AR 与 iOS:在场景中放一盏灯会让一切变黑?

好吧,当添加到 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)

我尝试过提高对象纹理的发射率,但没有任何效果。添加灯光只会使物体变黑/无颜色。

这里有什么问题吗?

xcode lighting augmented-reality swift arkit

5
推荐指数
2
解决办法
4553
查看次数

在SceneKit中制作一个发光节点

我有一个节点(只是一个带有SCNCapsule几何体的简单节点,只是为了更具体),我希望它像星球大战光剑一样发光:

图片

我试图添加一个具有相同几何形状的子节点,只是稍大一点,不透明度为0.5,颜色不同,但这并不是我想要的.还有另一种方法吗?

glow scenekit swift

4
推荐指数
1
解决办法
2672
查看次数