我有一个看起来像立方体的纹理
我想在 SceneKit 视图中的立方体上使用它。我正在使用 SceneKit 几何SCNBox
。不幸的是,结果是纹理完全投射在每个面上,而不是仅使用相应的部分:
let videoGeometry = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0)
videoGeometry.firstMaterial?.isDoubleSided = true
videoGeometry.firstMaterial?.diffuse.contents = UIImage(named: "test")!
我知道我可以在几何体上使用着色器修改器,但我不知道从哪里开始。由于纹理目前使用了六次,我的直觉是SCNBox
几何可能不适合我的目标,但我真的不知道如何改变它。
1 回答
您可以使用自定义几何体来创建它:创建一个立方体(http://ronnqvi.st/custom-scenekit-geometry/是一个开始的好地方),您可以在顶部添加一些自定义纹理映射。让索引正确(对我而言)有点棘手,但最后它运行良好: