我无法将 UV 映射应用于 pythreejs 中的自定义网格。这是我正在尝试的:
import pythreejs
material = pythreejs.MeshPhongMaterial(
map=pythreejs.ImageTexture(imageUri="out/2ndAvePh_big.png")
)
triangle_geometry = pythreejs.Geometry(
vertices=[[-1, -1, 0], [-1, 1, 0], [1, -1, 0]],
faces=[[0, 2, 1, None, [], 2]],
faceVertexUvs=[[[0, 0], [1, 0], [0, 1]]], # I think this is how I'm supposed to set this
)
triangle_mesh = pythreejs.Mesh(triangle_geometry, material)
网格没有将纹理应用到它。看起来它为图像中的一个像素获得了纯色(无论是否faceVertexUvs
设置......)。
我可以将相同的纹理应用到一个简单的盒子,它可以工作,但我不能为 BoxGeometry 设置 UV 映射:
box_geometry = pythreejs.BoxGeometry()
box_mesh = pythreejs.Mesh(box_geometry, material)
我在这里做错了什么?