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