【发布时间】:2019-05-20 08:52:45
【问题描述】:
我需要用图像包裹 3d 对象 (scene)。像这样的:
我正在使用以下代码:
let imageMaterial = SCNMaterial()
let image = UIImage(named: "temp_flow_image")
imageMaterial.diffuse.contents = image
let objectScene = SCNScene(named: "art.scnassets/frame.scn")
let objectNode: SCNNode = objectScene!.rootNode.childNode(withName: "frame", recursively: true)!
objectNode.geometry?.firstMaterial?.diffuse.contents = imageMaterial
objectNode.position = SCNVector3(0,0,-4)
let scene = SCNScene() // Main scene of the app
self.sceneView.scene = objectScene!
整个过程是这样的:
将3d 对象加载为SCNNode,并以编程方式将图像包裹在其周围。我可以看到 3d 对象,但看不到上面的图像。我在这里做错了什么?我们不能务实地编辑scene 的几何部分吗?
我可以将图像环绕在 SCNBox 或 arkit 中的任何其他预定义形状,但不能使用外部 3d 对象
【问题讨论】:
-
你试过这样的objectNode.geometry吗?.firstMaterial?.diffuse.contents = UIImage(named: "temp_flow_image")
-
是的,已经试过了。请检查代码
-
在 frame.scn 文件中转到材质 -> 属性 -> 阴影,在 sahding 中物理更改为 blinn
-
能分享一下scn文件的材料属性截图吗
-
太棒了!!!赞成..
标签: ios iphone scenekit augmented-reality arkit