VPython 7纹理未从自定义目录加载

2024-05-23 06:53:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在VPython 7; Python 3.6中的一个小项目中工作,其中纹理需要应用于我的3D对象。但是,当我尝试在中加载纹理时,对象不会出现,直到我将纹理放入Lib\site packages\vpython\vpython_data文件夹,在那里它被完美地加载而没有问题。在

However, for my project, I need it to be in my chosen directory for easy organisation.

让我们用我的纹理纹理纹理来调用目录C:\Project

textures.customTex= {'file':":Tex.jpg"} self.3DObject= sphere(pos=vector(0,0,0),radius = 1, texture=textures.Tex)

如果纹理是/vpython_data目录,则上述操作将有效。在

但是,当我试图加载相同的纹理但在我的目录中:

textures.customTex= {'file':":C:\Project\Tex.jpg"} self.3DObject= sphere(pos=vector(0,0,0),radius = 1, texture=textures.Tex)

The above will not work.

我的问题是,如果我加载错误,或者是否根本没有解决这个问题的方法。在

提前谢谢你


Tags: 对象目录projectfordatamyfiletex
2条回答

如果您在Jupyter笔记本中运行这个程序,并且映像所在的目录是笔记本所在目录的子目录,那么它就可以工作了。例如,如果有一个images目录与包含文本.jpg这样文件就可以了。在

self.3DObject=球体(pos=向量(0,0,0),半径=1,texture=“images”\文本.jpg“)

我不太明白你用冒号,但有个问题。我做了一个实验,把图像放在C:\文件柜.jpg执行

长方体(texture='C:\文件柜.jpg')

这将失败,如果打开浏览器调试器,您将看到以下错误消息:

不允许加载本地资源:file:///C:/文件柜.jpg在

这与CORS问题、跨域资源共享有关。在

另一方面,也可以从“支持CORS”的站点获取图像。这是有效的:

框(纹理='https://s3.amazonaws.com/glowscript/textures/flower_texture.jpg')

感谢你的报道,不过,我想我可能会找到一种方法,使本地文件工作。在

布鲁斯·舍伍德

另外,最好把VPython的问题发布到VPython论坛上,那里的VPython用户比可能看到stackoverflow问题的用户多得多。在

相关问题 更多 >

    热门问题