在ARKit 2.0中,我尝试使用PBR基础材料。使用.obj
文件格式的3D模型。
问题:我看不到深色产品。我不确定这是否与在SceneKit中设置适当的照明有关。请帮助我如何在ARKit
/ SceneKit
中设置PBR基础照明。
尝试以下代码:
//Set lighting
let light = SCNLight()
light.type = .ambient
node.light = light
// if light estimation is enabled, update the intensity
// of the model's lights and the environment map
if let lightEstimate = self.session.currentFrame?.lightEstimate {
self.enableEnvironmentMapWithIntensity(lightEstimate.ambientIntensity / 1000.0)
} else {
self.enableEnvironmentMapWithIntensity(6)
}
// Call environment Map
func enableEnvironmentMapWithIntensity(_ intensity: CGFloat) {
if sceneView.scene.lightingEnvironment.contents == nil {
if let environmentMap = UIImage(named: "Models.scnassets/sharedImages/environment_blur.exr") {
sceneView.scene.lightingEnvironment.contents = environmentMap
}
}
sceneView.scene.lightingEnvironment.intensity = intensity
}
必填结果:http://prntscr.com/luwlax
作为参考,请附加PBR材料:
答案 0 :(得分:0)
如果您具有 分离的几何 (与框架分开的屏幕),则可以很容易地将纹理分配给这些部分。
如果您具有 组合的几何形状 (所有零件都为一件),则构造此类模型的唯一方法是分配pre-made UV-mapped texture。