2017-10-30 9 views
0

VPython 7; Python 3.6の小さなプロジェクトで、3Dオブジェクトにテクスチャを適用する必要があります。しかし、テクスチャをロードしようとすると、テクスチャを問題なく完全にロードしたLib\site packages\vpython\vpython_dataフォルダに配置するまで、オブジェクトは表示されません。VPython 7テクスチャがカスタムディレクトリからロードされない

しかし、私のプロジェクトでは、選択したディレクトリに簡単に編成する必要があります。

はのは、私のテクスチャテックス /Tex.jpg

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

テクスチャが/vpython_dataディレクトリである場合は、上記の動作しますとディレクトリC:\Projectを呼ぶことにしましょう。しかし

、私は同じテクスチャをロードしようが、私のディレクトリに:

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

上記は動作しません。

私の質問は、私が間違って読み込んでいる場合、または単にこの問題を回避できないかどうかです。

は、私はかなりのコロンの使用を理解していないが、問題があると事前

答えて

0

でいただきありがとうございます。私はCで画像を置くの実験でした:

ボックスの\ cabinet.jpgと実行(テクスチャ=「C:\ cabinet.jpg」)

これは失敗し、ブラウザのデバッガあなたをオンにした場合

ローカルリソースをロードするために許可されていません:ファイル:/// C:/cabinet.jpg

これは、CORSの問題、クロスオリジンリソース共有に関連している「このエラーメッセージが表示さでしょう。

一方、「CORS対応」サイトから画像を取得することは可能です。これは動作します:

ボックス(テクスチャ=「https://s3.amazonaws.com/glowscript/textures/flower_texture.jpg」)私はローカルのファイルを動作させるための方法を参照してくださいかもしれないと思うように、しかし、このことを報告するための

感謝。

ブルースシャーウッド

P.S. VPythonの質問をVPythonフォーラムに投稿することをお勧めします。ここでは、多くのVPythonユーザーが、スタックオーバーフローの質問を表示する可能性が高いからです。

+0

私はファイルの読み込みを検索しました。** Chrome **では、セキュリティ上の理由から、ローカルファイルへのアクセスをブロックしているため、テクスチャが読み込まれず、ブラウザにエラーがあります。 ありがとうございました! – karr7224

0

これをJupyterノートブックで実行していて、イメージが存在するディレクトリは、ノートブックがあるディレクトリのサブディレクトリです。たとえば、Tex.jpgファイルを含むノートブックと同じディレクトリに画像ディレクトリがある場合、これは動作します。

self.3DObject =球(pos =ベクトル(0,0,0)、半径= 1、テクスチャ= "画像\ Tex。jpg ")

+0

これは非常に役に立ちました.John。これをVPythonドキュメントに追加します。 – user1114907

関連する問題