2017-09-07 13 views
1

three.jsエディタシーンオブジェクトの文字列化がRangeエラーで失敗する - 文字列の長さが無効です。シーンオブジェクトのキーを取得しようとしましたが、それぞれ別々に文字列化してWebSocketsを使用してサーバーに送信しようとしましたが、最大ペイロードサイズがerror.anyを超えて失敗しました。Three.jsシーンstringifyが失敗する

+3

で説明したようにscene.toJSON()を使用することができるはずできない場合は、なぜちょうどあなたのサーバプロセスのための関連データを送信しませんか?これは、IDと変換行列だけからジオメトリバッファに至るまでのものです。しかし、文字列としてオブジェクト全体を送信しようとすると、本当に悪いです。シーン全体を送信しなければならない場合は、JSONやGLTFなどの送信フォーマットに書き込んでください。 – TheJim01

+0

文字列化されている場合、長さが非常に大きいため、無効な範囲エラーが発生します。私の意図は、ユーザーが最初に3dプロジェクトを保存した後、delta jsonの変更をサーバーに送信するために、シーンの詳細をjson intiallyとしてサーバーに送信し、intial jsonに適用して、編集に対応するデータを保存することですプロジェクト – Praveen

答えて

0

コメントするには十分な評判がないので、私は短い答えを残します。

私はPraveenと同じ問題を抱えていましたが、私はTheJim01が示唆していることをやってしまいました。

プロジェクトでは、プロジェクトに関連する変更を保持する何らかの種類のクラスまたは状態を作成した方が良いでしょう。そして、シーンにこれらの変更をインスタンス化する別のクラスを持つことをお勧めします。

これはあなたがむしろシーン全体を送信するよりもドキュメントhere

関連する問題