swift - 很热衷于在另一个 scn 对象中使用我在一个 scn 对象中创建的 Material ?

标签 swift scenekit

我在 SceneKit 中编辑了一个对象并为其创建了 Material 。现在我想对另一个 scn 对象使用相同的材​​质。我只是使用 SceneKit 来编辑对象。

试图将它们放在同一个 xcode 项目中,但仍然无法选择 Material 。

不使用代码,只使用图形用户界面。

没有错误消息,只是无法为我分享 Material 。

最佳答案

您可以使用以下代码执行此操作:

let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "art.scnassets/diffuse.jpg")
material.emission.contents = UIColor.orange
material.normal.contents = UIImage(named: "art.scnassets/normals.png")
    
let sphereNode = SCNNode()
sphereNode.geometry = SCNSphere(radius: 1)
sphereNode.geometry?.firstMaterial = material
scene.rootNode.addChildNode(sphereNode)
    
let planeNode = SCNNode()
planeNode.geometry = SCNPlane(width: 3, height: 3)
planeNode.geometry?.firstMaterial = material
scene.rootNode.addChildNode(planeNode)

关于swift - 很热衷于在另一个 scn 对象中使用我在一个 scn 对象中创建的 Material ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57159454/

相关文章:

swift - 无效路径异常

ios - 使用 JavaScript 访问 WKWebView 中的本地文件

swift - 如何在 Swift 中将图像添加到 ARSCNScene?

ios - Xcode 10 与 spritekit 场景文件 .sks 崩溃

objective-c - 使用 SceneKit 在 3D 空间中旋转 SCNode 对象

IOS 我可以将 scenekit 或 spritekit 与单 View 应用程序集成吗

ios - 相机运动不够快

swift - for in 循环与 Swift 中的 where 子句

ios - Swift:使用编程大小的 UIView 制作垂直滚动提要

ios - 如何通过 SceneKit 和模型 I/O 在 .OBJ 3d 模型上应用 .MTL 文件