如何使用SceneKit在Xcode中将图像纹理添加到3D资源

时间:2018-02-21 07:25:12

标签: ios 3d scenekit

我有一个咖啡杯的3D模型,它是.dae格式。现在我需要的是 - 在上面放置一个徽标(一个png图像)。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

如果您的模型位于某个节点中,您可以通过此geometry访问该材料

node.geometry?.firstMaterial?.diffuse.contents = <put your image here>

有了这个,你将取代你的几何纹理,不知道你是否想要它。

答案 1 :(得分:0)

这不是一个真正的Scenekit或IOS问题。要将纹理应用于3D模型,模型需要每个顶点的UV坐标。将3d模型映射到2d纹理的过程称为UV映射(https://en.m.wikipedia.org/wiki/UV_mapping),并在3D软件中完成,如Blender,3D studio max和类似软件包,之前资产(在Scenekit中使用了模型和纹理。

那就是说,在这种情况下,因为一个杯子很大程度上是一个圆柱体,你可能会使用SCNCylinder(它自动带有UV坐标)并使用带有徽标的图像,带有透明背景,作为圆柱体的纹理。然后将圆筒缩放并放置在马克杯上,并将其添加为马克杯的子节点。