2016-08-02 6 views
0

私が書いているプログラムでは、大きな小惑星フィールド(PointCloudを使って実装されています)があります。私が時々実行する問題は、カメラが動くと小惑星が消える彼らは画面の端に触れるので。カメラが徐々に動くと、それらはエッジに近づき、突然ポップ!彼らの視点はまだあるはずだが、彼らは消えてしまった。カメラが素早く動いているのかどうかは明らかではありませんが、あなたが綿密に見てもそれを見つけ出すことはできます。どうすれば修正できますか? gaitatとして https://jsfiddle.net/yazwz464/Three.js PointCloudで消えるポイントを修正する

+0

オブジェクトには正しい境界球がありません。 – gaitat

+0

@gaitatどうすれば修正できますか? – gameninja

+1

オブジェクトコール 'geometry.computeBoundingSphere()'をロードした後 – gaitat

答えて

1

:ここに は、私は小惑星のフィールドを(あなたがそれをテストすることはできませんが、あなたはそれを見ることができます)を作成するために使用しているコードとJSのフィドルへのリンクです

は、オブジェクトのためのObject3D.frustumCulled = false

+0

私は既にpointCloud.frustrumCulledをfalseに設定しようとしましたが、違いはありませんでした。私が試すことができる他のものはありますか? – gameninja

+0

今何かが推測になります - 問題を再現する最小限のコードを提供できますか? jsfiddle好ましくは、それはライブラリの些細なもの、あいまいなもの、さらにはバグかもしれません。 –

+0

私は小惑星の雲を作るために私が使用するコードです: – gameninja

0

を設定してみてください私は/更新ポイント/頂点の位置を変更し、に実行していたのですあなたのポイントは、その形状より大きく表示されますので、ポイントが最も可能性の高いカメラ錐台によってカリングされている彼のコメントで言いましたこの問題も。私の場合は、頂点を更新して境界球を計算する必要がありました。

geometry.verticesNeedUpdate = true; 
geometry.computeBoundingSphere(); 
関連する問題