壊れたアセットの多くは、ジオメトリが壊れているわけではない
クライアントやマーケットプレイス、あるいは自分では選んでいないエクスポーターから3Dファイルが届いたとき、メッシュ自体はたいてい問題ありません。おかしいのはその周りの構造です。見た目の位置から200単位も離れた迷子のエンプティに親子付けされた小物、誰も消さなかったCube.001という仮オブジェクト、出荷するつもりのなかったリグと3つのライト、あるいはエンジンが実行時に名前で引くはずのObject_12のようなノード名。
これらを直すには、通常フル機能のDCCアプリを起動し、インポートの完了を待ち、フィールドを1つ書き換えて再エクスポートすることになります。しかもその過程で、エクスポーターは黙って他の5か所を書き換えていきます。このエディタはシーングラフを直接操作し、ファイルを読み込んだのと同じパイプラインで書き戻します。
頂点に焼き込まず、ノードのトランスフォームを変える
ここでの編集はすべて、頂点座標を書き換えるのではなく、ノードの位置・回転・スケールを変更します。この違いは重要です。シーンエディタでは階層こそが主役だからです。親を動かせば子も動かなければなりませんし、トランスフォームをジオメトリに焼き込めば、まさに直そうとしている構造そのものが潰れてしまいます。GLBとglTFはノードのトランスフォームをネイティブに保持するため、編集は無劣化で往復します。STL、OBJ、PLYにはノードという概念がないので、エクスポーター側でワールド行列を焼き込みます。結果は正しいままですが、階層はフラットになります。
逆の挙動が欲しい場合——どのエクスポーターを通しても失われないよう、すべてを頂点へ畳み込みたい場合——は、代わりに3D変換ツールを使ってください。
非表示は削除と同じではない
これは非常に多くの人がはまる落とし穴です。ノードを非表示にすると可視性フラグが立ち、glTFエクスポーターはそれを尊重してノードをファイルからまるごと省きます。一方、STL、OBJ、PLYのエクスポーターはそのフラグを一切見ず、ジオメトリをそのまま書き出します。つまりGLBではきれいに見えるモデルが、STLでは隠したはずのゴミを抱えたまま届くことがあるのです。どの形式からも消したいものは、非表示ではなく削除してください。
回転は度数、スケールはゼロにできない
回転は内部ではラジアンで保持し、表示は度数で、XYZ順に適用します。スケールはちょうどゼロにならないようクランプされます。スケール0は特異行列を生み、書き出し時にNaNとなって、バリデーターにGLBを弾かれてしまうからです。
データは一切外に出ません
ファイルの解析、編集、再エクスポートはすべてブラウザのタブ内で完結します。アップロードもサーバーもアカウントも不要です。
Tiny Online Tools







