在 Ursina for python 中使用 3d obj 文件和纹理

时间:2021-02-08 19:28:10

标签: python panda3d

我正在尝试将 3d 对象加载到用 Ursina 编写的程序中。我可以加载 3d 文件,也可以加载纹理,但它们不会一起加载。我确定我对 3d 文件有一些误解,因为我对使用 3d 文件还很陌生。当我加载 obj 文件时,它是正确的形状,但它只是没有纹理的黑色。看起来是二维的。我可以在立方体上加载纹理,但它不是正确的形状。如何将两者结合起来,以便在正确的 3d 对象上显示正确的纹理?这是我的代码:

from ursina import *


app = Ursina()

cube = Entity(model = 'toybear.obj', color = color.white, scale=(.02,.02,.02), texture='toybearcolor')
app.run()

1 个答案:

答案 0 :(得分:1)

我的第一个想法是你不应该 delcare color = color.white 和 纹理 = 'toybearcolor' 同时。 如果这不能解决问题,请确保 进口小熊 在上面声明 从 ursina 进口 * 如果问题仍然存在,那么一定是您使用的 UV 纹理有问题,因为除了上面提到的内容之外,您的代码还可以。

编辑: 我不是 UV 展开专家,但如果这是问题所在,有几种方法可以做到这一点。 如果您想要自定义纹理,您必须进入 Blender 并在模型上标记接缝并将纹理保存到 .png 文件中,如本教程 https://www.youtube.com/watch?v=xPoxqOcUzNQ&t=560s

你也可以像这样在 Blender 中做所谓的纹理烘焙 https://www.youtube.com/watch?v=c2ut0Trcdi0

有时,制作游戏资产的人会将 UV 纹理作为 .png 文件留在那里,就像这位艺术家在这里下载 https://opengameart.org/content/low-poly-mushrooms 所以总是要注意那些