首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ARKit应用程序中更改对象的纹理?

如何在ARKit应用程序中更改对象的纹理?
EN

Stack Overflow用户
提问于 2018-04-16 20:04:27
回答 1查看 937关注 0票数 1

该对象是在场景中,我想当我按下一个按钮,以改变其纹理实时。有可能吗?我试过了,但不起作用。

代码语言:javascript
复制
VirtualObjectsManager.shared.getVirtualObjectSelected()?.geometry?.materials.first?.diffuse.contents = UIColor.red
EN

回答 1

Stack Overflow用户

发布于 2018-04-17 14:58:53

假设这是您的对象:

代码语言:javascript
复制
let obj = SCNNode()
obj.name = "obj1" // set a name, so you can access your object node later

首先,设置对象材质的名称:

代码语言:javascript
复制
let material = SCNMaterial()
material.name = "BackgroundImage" // set a name for the material
material.diffuse.contents = UIImage(named: "texture1.jpg")

obj.geometry?.materials = [material]

然后,在您的按钮按下方法中,您需要对象的一个实例:

代码语言:javascript
复制
let node = sceneView.scene.rootNode.childNode(withName: "obj1", recursively: true)

然后你可以改变它的纹理:

代码语言:javascript
复制
let material = node.geometry?.material(named: "BackgroundImage")
material.diffuse.contents = UIImage(named: "texture2.jpg")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49856904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档