【问题标题】:Hide SCNFloor but show shadow with SceneKit (swift)隐藏 SCNFloor 但使用 SceneKit 显示阴影(swift)
【发布时间】:2016-12-13 16:22:18
【问题描述】:

我正在尝试在我拥有的地图上显示我的角色的影子。我有一个 ambient 灯和一个 omni 灯。如果我添加地板,它会显示阴影/反射,但地板会覆盖地图。

没有地板,我不会得到任何阴影/反射。

我这样添加地板:

floor = SCNFloor()
floor.reflectionFalloffEnd = 10
floor.reflectivity = 0.5
let floorNode = SCNNode(geometry: floor)
floorNode.position = SCNVector3(x: 0, y: -1.0, z: 0)
self.rootNode.addChildNode(floorNode)

地图是使用 Mapbox iOS SDK (MGLMapView) 创建的。

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    在您的屏幕截图中,我没有看到任何阴影。我只看到倒影。对于阴影,您需要定向光或聚光灯。对于地图上的反射,您是否尝试将地图纹理映射到您的 SCNFloor?另一种选择是使用材质透明度为 0 的 SCNFloor,但由于透支,这将产生成本。

    【讨论】:

    • 感谢您的回答。我可以在 SCNFloor 上应用地图纹理,但地图会根据用户所在的位置不断变化。因此纹理是动态的,不能应用。将材质透明度更改为 0 确实有效。它会投射出应有的反射!但是将全向改为一个点,似乎并没有投下阴影。仍然只有一个反映。你知道为什么吗?
    猜你喜欢
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 2014-08-13
    • 2017-11-17
    • 2015-07-01
    • 2021-02-19
    相关资源
    最近更新 更多