想在 scenekit 中添加图像作为纹理 ios

Want to add Image as texture in scenekit ios

我已经创建了一个对象,现在我正在尝试将图像作为纹理添加到该对象。但由于某种原因,纹理没有显示出来并且对象显示为白色。我下载了一个 png 文件并将其添加到 Xcode 并创建了一个使用该图像的 SCNMaterial 对象。

SCNMaterial *silverMaterial = [SCNMaterial material];
silverMaterial.diffuse.contents = [UIImage imageNamed:@"silver-background"];

SCNBox *horizontalBarOne = [SCNBox boxWithWidth:11 height:0.5 length:0.5 chamferRadius:0];
SCNNode *horizontalBarOneNode = [SCNNode nodeWithGeometry:horizontalBarOne];
horizontalBarOneNode.position = SCNVector3Make(0, 2.0, 0.5);
horizontalBarOne.materials = @[silverMaterial];
[scene.rootNode addChildNode:horizontalBarOneNode];

我做错了什么?

你应该试试

silveraterial.doubleSided = YES;

将 "silver-background" 移动到 Assets.xcassets。

// use this line instead of your current one and be sure that your image path is correct.. it works for me
// silverMaterial.diffuse.contents = [UIImage imageNamed:@"silver-background"];   
silverMaterial.diffuse.contents = [UIImage imageNamed:@"art.scnassets/silver-background.png"];