我有一个 SCNNode,它的几何图形从 collada 文件 (.dae) 填充并在屏幕上正确显示。我可以很容易地将材质应用于几何体,但是我想更改材质的比例。
我目前填充它
nodeArray[0].geometry?.firstMaterial!.diffuse.contents="wood.png"
但是材料的规模太小了。虽然我可以在 GIMP 或类似的东西中编辑 png 并将其导入为 wood2.png 有什么方法可以以编程方式设置材质比例吗?
“太小”是什么意思?
几何图形由不同的来源组成,例如顶点的位置,还有它们的纹理坐标。这些纹理坐标(它们属于[0,1]x[0,1]
)是按顶点指定的,并指示在纹理中查找的位置。
在您的 3D 建模器中,请检查您的纹理坐标是否与您想要的匹配(即它们覆盖了整个图像,即它们从0
一个到1
一个方向),并确保您的图像没有额外的透明边距或其他浪费的空间。
你可以看看SCNMaterialProperty
's 的contentsTransform
属性。但请在使用前检查您的模型和纹理。
您需要在 Photoshop 等图像编辑软件中打开您的 UV 快照,在 Photoshop 中将木材纹理缩放到 UV 上,然后重新保存您的 PNG/JPG,将 PNG/JPG 移回 Xcode