首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ARKit中可以将光线投射到透明的SCNFloor上吗?

在ARKit中可以将光线投射到透明的SCNFloor上吗?
EN

Stack Overflow用户
提问于 2021-05-27 18:13:46
回答 2查看 75关注 0票数 1

我想把一个SCNLight节点投射到透明的SCNFloor?这将在真实曲面上提供灯光投影的效果。类似于投射阴影的shadowOnly照明模型。这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-27 19:57:25

是的,您可以通过投射白色(或出血颜色)阴影而不是黑色阴影来实现。为此,您必须使用在后处理过程中渲染的deferred阴影类型。

请考虑,必须在场景中使用两个单独的灯光-第一个用于投射白色阴影,第二个用于照明投射这些白色阴影的对象。您可以在实现categoryBitMask属性的照明方案中包含和排除对象。

代码语言:javascript
复制
// SETTING A SHADOW CATCHER
let plane = SCNPlane(width: 10, height: 10)
plane.firstMaterial?.isDoubleSided = true
plane.firstMaterial?.lightingModel = .shadowOnly
let planeNode = SCNNode(geometry: plane)
planeNode.eulerAngles.x = -.pi / 2
scene.rootNode.addChildNode(planeNode)

// SETTING A LIGHT
let lightNode = SCNNode()
lightNode.light = SCNLight()
lightNode.light?.type = .directional
lightNode.light?.intensity = 50
lightNode.light?.color = UIColor.black
lightNode.eulerAngles.x = -.pi / 2
scene.rootNode.addChildNode(lightNode)
    
// DEFERRED SHADOWS
lightNode.light?.castsShadow = true
lightNode.light?.shadowMode = .deferred          // important
lightNode.light?.forcesBackFaceCasters = true    // important
lightNode.light?.shadowRadius = 10
lightNode.light?.shadowColor = UIColor.white
票数 1
EN

Stack Overflow用户

发布于 2021-06-02 21:36:36

这就产生了我想要的效果。我在材质混合模式设置为屏幕模式的平面上添加了IES类型灯光节点。

代码语言:javascript
复制
let light = SCNLight()
light.type = .IES
light.intensity = 10000

let lightNode = SCNNode()
lightNode.light = light
//set slightly above of the plane, set on Z bc it's rotated on x axis
lightNode.position = SCNVector3Make(0, 0, 0.01)

let planeMaterial = SCNMaterial()
planeMaterial.blendMode = .screen

let planeForLight = SCNPlane(width: 0.9, height: 0.9)
planeForLight.materials = [planeMaterial]

let planeNodeForLight = SCNNode(geometry: planeForLight)
planeNodeForLight.transform = SCNMatrix4MakeRotation(-Float.pi / 2, 1, 0, 0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67720068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档