Three.js と ScrollMagic を OO Javascript と組み合わせて個人の Web サイトを開発しています。ユーザーがスクロールすると、3d オブジェクトが変換されます。これはすべてうまく機能しますが、わずかなパフォーマンスの問題があります。これを改善するために、位置を計算するいくつかのループ/関数を Web ワーカーに移動したいと考えています (ループ関数を呼び出すたびにスクロールが遅れます)。
問題は、クラス インスタンス (THREE.PointCloud) の配列 (512) を Web ワーカーに渡そうとしていることです。Web ワーカーのこれらのインスタンスから、意味のある完全なプロパティを取得できないようです。
まず、配列をワーカーに渡そうとしたところ、「Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': An object could not be cloned.」というエラーが発生しました。
その後、これができないことに気付いたので、JSON.stringify() と JSON.Parse() を使用しました。配列の長さを取得できました。ただし、各インスタンスのプロパティを取得できませんでした。
ArrayBuffer を使用する必要があると思いますか? しかし、インスタンスの配列を ArrayBuffer に変換する方法がわかりません。誰?または、パフォーマンスを向上させる簡単な方法はありますか?
助けていただければ幸いです。
ありがとう。