SceneKit 中的阴影
Shadows in SceneKit
在我的场景中,我有一个环境光和一个泛光灯,none 其中投射了一个阴影。我的游戏有点像寺庙 运行,玩家不断沿着 z 轴前进。我想添加一个从左到右发光的光,平行于 z 轴,从左到右在每个节点上投射阴影,有点像这个游戏:
我尝试使用 "Spot" 类型的 SCNLight,但随后光线来自 space 中的特定点。我尝试了定向照明,但我所能得到的只是一束从后向前照射的光,并产生了很长的阴影。如果我能改变阴影的长度和光线的方向,那就太好了。我试过这样做:
spotLight.type = SCNLightTypeDirectional
spotLight.castsShadow = true
spotLight.shadowMode = SCNShadowMode.Deferred
spotlightNode.light = spotLight
spotlightNode.orientation = SCNQuaternion(0.0, 0.0, 1.0, 0.0)
rootNode.addChildNode(spotlightNode)
通过欧拉角改变聚光灯的方向
spotlightNode.eulerAngles = SCNVector3(-Float(M_PI_4), -Float(M_PI_2), 0)
在我的场景中,我有一个环境光和一个泛光灯,none 其中投射了一个阴影。我的游戏有点像寺庙 运行,玩家不断沿着 z 轴前进。我想添加一个从左到右发光的光,平行于 z 轴,从左到右在每个节点上投射阴影,有点像这个游戏:
我尝试使用 "Spot" 类型的 SCNLight,但随后光线来自 space 中的特定点。我尝试了定向照明,但我所能得到的只是一束从后向前照射的光,并产生了很长的阴影。如果我能改变阴影的长度和光线的方向,那就太好了。我试过这样做:
spotLight.type = SCNLightTypeDirectional
spotLight.castsShadow = true
spotLight.shadowMode = SCNShadowMode.Deferred
spotlightNode.light = spotLight
spotlightNode.orientation = SCNQuaternion(0.0, 0.0, 1.0, 0.0)
rootNode.addChildNode(spotlightNode)
通过欧拉角改变聚光灯的方向
spotlightNode.eulerAngles = SCNVector3(-Float(M_PI_4), -Float(M_PI_2), 0)