1

私は、より大きなプロジェクトの基礎として取り組んでいる Three.js ベースのサンプルを持っています。非常に単純化するために、中心点を周回するテクスチャを持つ平面があります。実際に中心点にアタッチされ、中心点が回転されます。(さらなるテストでは、ペアレント化と中心からのオフセットは効果がないことを示しています。ワープを引き起こすのはカメラ角度との違いであり、オブジェクトの代わりにカメラを回転させると、角度が大きくなるにつれてワープが表示されます)

WebGL レンダラーを使用すると、すべて正常に動作します。キャンバス レンダラーでは、テクスチャの読み込みを調整する必要がありました (imageutils はキャンバスに対して適切に読み込まれず、テクスチャとイメージ ローダーを明示的に使用する必要があります) が、クロムでは問題なく動作します。ただし、サファリでは、平面が移動すると、テクスチャが平面の角を露出します (位置がねじれてオフセットされます) 。 202013-03-20%20at%202.37.47%20PM.png )、しかし、実際には横に歪んでいます ( https://dl.dropbox.com/u/6768888/StackOverflow/Screen%20Shot%202013-03- 20%20at%202.38.04%20PM.pnghttps://dl.dropbox.com/u/6768888/StackOverflow/Screen%20Shot%202013-03-20%20at%202.38.17%20PM.png )

これはキャンバス レンダラーのバグのようですが、以前のテクスチャ読み込みの問題に基づいて回避策があるのではないでしょうか? overdraw:true を使用しています

var geometry = new THREE.PlaneGeometry(width, height, 1, 1);
    var material = new THREE.MeshBasicMaterial( { overdraw:true, map:texture, side:THREE.DoubleSide } );

    mesh = new THREE.Mesh( geometry, material );

これは Three.js での最初の本当の刺し傷であり、それが私なのかシステムなのかわかりません...

また、オーバードロー ジャスト アド シームを削除しても、シフトには影響せず、オブジェクトを大きくしたり、サブディビジョンを追加したりしても、新しいブレークに沿ってシフトが発生するだけで、根本的に問題が変わるわけではありません。

4

1 に答える 1

1

私のアプリと同じ話。キャンバスレンダラーを使用したサファリのテクスチャは泳いでいますが、クロムとffは問題ありません。WebGLRenderer を使用することで、すべてが素晴らしくスムーズになります。ヨアヒム

于 2013-03-28T23:47:51.323 に答える