1

JSONLoaderThree.jsのクラスのr42で必要とされる、ジオメトリを定義するJSONファイルがいくつかあります。ファイルはフォーマットのバージョン2です。

バージョン間でこれらのファイルを手動で更新することは可能ですか?

最初の明らかな違いは、ファイルがJavaScriptではなく、実際のJSONであるということです。これは簡単に修正できました。ただし、新しいフォーマットにはmetadataセクションがあり、30分間の実験ではどこにも行き着きません。

Geometryオブジェクトのmaterialプロパティに空のmaterials配列があるため、問題が発生しています。結果として得られるジオメトリには、r42に示すように、異なるマテリアルを持つ複数のパーツが含まれます。

これらの.jsonファイルを手動で微調整してr55で動作させる方法を知っている人はいますか?

4

4 に答える 4

2

フォーマットの内部構造がどのように変化したかは完全にはわかりませんが、いくつかのヒントを以下に示します。

  • ソース オブジェクトがある場合、最善の方法は再エクスポート/変換することです。ソース形式が不明な場合に使用できるコンバーターとエクスポーターも増えました。ソースが不明な場合は、Google で検索する価値があるかもしれません。
  • metadataセクションは問題ではありません。ローダーでは何にも使用されません。
  • もうありませんGeometry.materials。代わりに、JSONLoader のコールバックは、ロードされたマテリアルを別のパラメータとしてコールバックに返します。詳細については、移行ガイド(r52->r53) を参照してください。実はr46でもローダーインターフェースが変更されています。
  • git logいくつかのサンプル モデル ファイル (本当に手動で移行する必要がある場合は変更を検索してください) は、手動で修正するのは難しいがコードで回避できる UV フリッピングなどがある可能性があることを示唆しています。ただし、最初に画面に表示するものを取得する必要があります。
于 2013-02-04T08:44:46.743 に答える
1

これは、エディターへのドラッグ アンド ドロップの修正です。index.html の drop イベントの前にこのコードを追加します。これを Chrome ( 24.0.1312.56 )、Safari、OSX の Firefox でテストしました。

        document.addEventListener("dragover", function(e) {
            e.preventDefault();
        });
于 2013-02-04T19:48:55.457 に答える
1

ファイルをエディターにドラッグしてみてくださいFile/Export Geometry

于 2013-02-04T09:42:16.373 に答える
0

@mrdoobの答えは、エディターにいくつかのパッチを適用した後に機能しました(hereおよびhere。)

ただし、特に UV 座標がない場合は、テキスト エディターで手動でファイルをアップグレードできることに注意してください。

  • 以前のバージョンでは JSON を使用していませんでした。それらは JavaScript ファイルでした。変換は簡単です。
  • セクションを無視するかmetadata、コメントからオブジェクトに移植することができます。
  • UV 座標がある場合は、別の方法でマッピングする必要があります (軸が反転していると思います)。
于 2013-02-24T16:08:17.183 に答える