Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SceneKit和Swift更改blender中创建的形状的颜色?_Swift_Scenekit_Blender - Fatal编程技术网

如何使用SceneKit和Swift更改blender中创建的形状的颜色?

如何使用SceneKit和Swift更改blender中创建的形状的颜色?,swift,scenekit,blender,Swift,Scenekit,Blender,我有一些形状是用blender创建的,我怎样才能动态地改变它们的颜色。我从另一个问题尝试了这个方法,但没有成功: newNode.geometry?.firstMaterial?.diffuse.contents = UIColor(red: 0.3, green: 0.5, blue: 0.4, alpha: 1 ) 在这种情况下,newNode是一个子节点: newNode=newNodeScene.rootNode.childNode(withName:"test3 refer

我有一些形状是用blender创建的,我怎样才能动态地改变它们的颜色。我从另一个问题尝试了这个方法,但没有成功:

newNode.geometry?.firstMaterial?.diffuse.contents = UIColor(red: 0.3, green: 0.5, blue: 0.4, alpha: 1 )
在这种情况下,newNode是一个子节点:

newNode=newNodeScene.rootNode.childNode(withName:"test3 reference", recursively:true)
我怎样才能改变它?也许它需要一个覆盖,如果是这样,如何覆盖?感谢您的时间

我刚刚尝试了“基本场景”->在Blender中创建了一个带有颜色的框,导出为.dae,导入到SCNASSET中,并将其转换为场景,然后用此代码开始。它只是工作。但这只是一个简单的测试…也许你添加了纹理或其他东西,所以如果你给我们提供更多细节,这将是一个好主意

    let scene2 = SCNScene(named: "art.scnassets/coloredbox.scn")!
            scnView.scene = scene2
    
            if let box = scene2.rootNode.childNode(withName: "Cube", recursively: true) {
                box.geometry?.firstMaterial?.diffuse.contents = UIColor.yellow
            }
    }

我发现了这个问题,不过还是要谢谢你。我必须用根来做