gpt4 book ai didi

swift - 如何使带有 UIImage 漫反射内容的 SCNSphere 不关心光照而只显示原始 UIImage

转载 作者:行者123 更新时间:2023-11-28 05:49:22 26 4
gpt4 key购买 nike

我正在尝试将一个全局球体添加到我的场景中,该场景应用了天空盒图像。问题是场景中的照明直接影响其呈现。我希望应用的图像完全按照设计呈现;本质上与照明无关。

我的假设是我可以修改 SCNMaterial 来完成这项工作,但我不知道应该使用什么设置。我的替代解决方案是在场景中添加大量 SCNLight 并将它们指向球体。我想避免这种情况。

let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")

let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)

我知道这可以通过 SCNScene 的 background.content 来解决,但我们使用的是禁用默认天空盒功能的正交相机。所以,顺便说一句,如果你知道如何让默认的天空盒与正交相机一起工作,那也可以解决这个问题。参见 Using Cube Map Textures用于天空盒规范。

最佳答案

事实证明,天空盒图像可以与正交相机一起使用仅在设备上,而不是在模拟器上。透视相机允许天空盒图像在模拟器和设备上工作。我们假设模拟器可以测试,因为天空盒图像最初在我们有透视相机时工作。

TL;DR 在物理设备上运行该应用会显示正交相机的天空盒;模拟器没有。

关于swift - 如何使带有 UIImage 漫反射内容的 SCNSphere 不关心光照而只显示原始 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53439722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com