1

私はこれが不可能かもしれないことを理解しています...私は周りを精査し、無駄にさまざまなことを試してきましたが、あきらめる前に投稿する価値があると思いました...

three.js (webGL) を使用するアプリをまとめています。Web 上の任意の画像への URL を入力し、それを使用して Web アプリで 3D オブジェクトをテクスチャリングするオプションをユーザーに提供したいと考えています。これは、クロスドメイン セキュリティの問題がなければ問題ありません。

CORS で承認されたイメージにはいくつかの回避策があるはずですが、これは完全には理解できませんが、これはホスト側で設定する必要があるというのが私の印象です (そして、私のユーザーはどこからでもイメージをプルできる必要があります)ウェブ上でテクスチャとして使用) >> 私はこれを試しました: https://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain- images/ ...しかし、うまくいきませんでした (おそらく、「CORS 承認済み」を構成するものについての私の誤解によるものです)

ある種のphpプロキシを実行するとうまくいくのではないかと思いましたか?私はこれを試しました: http://benalman.com/code/projects/php-simple-proxy/docs/files/ba-simple-proxy-php.html ...しかし、運がなかったようです。(画像で動作するように書かれていない可能性があります... MIMEタイプのエラーが発生していました...少しハッキングしたところ、エラーを取り除くことができました...しかし、まだ運がありません)

...誰かが助けてくれることを願っています!

4

2 に答える 2

2

three.js では、THREE.ImageUtils.loadTexture 関数を使用すると WebGL+CORS が機能しないことがわかりました。

ただし、このコードは私にとってはうまくいきました(注:corsproxy.comはNickの回答のPHPと同じです)

var url = 'http://www.corsproxy.com/yourdomain/yourfolder/yourimage.png';    
var image = document.createElement('img');
image.crossOrigin = '';
image.src = url;
var texture = new THREE.Texture(image);
texture.needsUpdate = true;
material.map = texture;
于 2013-09-24T03:00:39.133 に答える