three.jsの現在のバージョンは、さらに縮小された約0.5メガバイトの重い獣です。 HTTP配信ファイルをできるだけ小さく保つために必要な機能のサブセットのみを構築する方法(ソースをハッキングする以外の方法)はありますか?THREE.js - three.js機能のサブセットを簡単に構築する方法はありますか?
答えて
私は簡単な方法はないと言います。チェックリストユーティリティなどはありません。しかし、最大の問題は、個々のコンポーネントが実際には小さく、より一般的な機能に依存しているということです。 I.あなたがそれを必要としない場合は、THREE.PlaneGeometryのようなファイルを削除することもできますが、そのファイル自体は本当に小さいです:あなたが本当ににより任意の実際のスペースを節約していないので、それは、PlaneBufferGeometryを利用していますので
function PlaneGeometry(width, height, widthSegments, heightSegments) {
Geometry.call(this);
this.type = 'PlaneGeometry';
this.parameters = {
width: width,
height: height,
widthSegments: widthSegments,
heightSegments: heightSegments
};
this.fromBufferGeometry(new PlaneBufferGeometry(width, height, widthSegments, heightSegments));
}
それを削除するので、planebuffergeometryを削除して、何かの利点が見えるようにしなければなりません。さらに、planebuffergeometryの大部分は、bufferGeometryの属性を使用します。任意のメッシュを使用します。
しかし、それは奇妙な副作用を作成することができます。ソースのクイック検索を実行すると、レンダラの背景としてテクスチャを使用したい場合、プレーンバッファードメトリーが使用されることがわかります。これは、深さや霧のテストがないジオメトリを作成し、そのプレーンバッファーメトリへのマップとして背景テクスチャを適用します。
この機能を使用する予定がない場合でも、プレーンバッファフロー測定に依存しているため、レンダリング関数の呼び出し時にnullポイント受信をスローする可能性があります。
コンポーネントの相互作用を予測するのは難しいので、あなたにとって不可欠なものとそうでないものを明確に言うことは難しく、a)必須ではなく、b)サイズが大きい特定のセクションを特定することは難しい。
おそらくあなたができることは、自分自身でビルドを実行し、インクルードを変更することです。自分でレポを作成することは、私のやり方がわからない質問とは異なる問題ですが、チュートリアルがある可能性があります。 but I found a pretty concise set of src's私はこれがThreejsレポの構築プロセスの一部だと考えています。コンポーネントを取り除いてビルドしてから、まだ動作しているものを見ることができます。
私は実際に専門用語もまさに魔法が行う100%わからないんだけど、バベル/ WebPACKのビルドシステムで、私は私がしたいモジュールを選択することができ、この
//myThree.js
export { LineBasicMaterial } from 'three/src/materials/LineBasicMaterial'
export { MultiMaterial } from 'three/src/materials/MultiMaterial'
export { Mesh } from 'three/src/objects/Mesh'
export { Object3D } from 'three/src/core/Object3D'
...
のようにそれらをエクスポートそして、あなたはまた、モジュールによってthree/src
、モジュールから直接インポートすることができ
//myFoo.js
import * as THREE from './myThree'
言うことができるはずですが、私は手動で行う場合、これは非常に面倒であることが判明しました。
- 1. Three.jsスキニングアニメーション(r74 +)機能
- 2. THREE.js r75でシャドウはどのように機能しますか?
- 3. three.js - 3Dスタジオからファイルをインポートする方法はありますか?
- 4. Three.jsに小さなキャンバスを作る方法はありますか?
- 5. Three.jsでFramebufferオブジェクト(FBO)を処理する方法はありますか?
- 6. 簡単なOpenOffice.org拡張機能/アドオンを構築/作成するには?
- 7. three.jsでディスプレースメントマップを繰り返す方法
- 8. three.jsでプログラムで簡単なメッシュを作成する
- 9. Marklogicで簡単な検索アプリケーションを構築する方法は?
- 10. three.jsのアニメーションをオフにする方法
- 11. Three.js構造をシェーダで使用する方法は?
- 12. three.jsのテクスチャ間でカスタムトランジションを行う方法はありますか
- 13. CObListを簡単にソートする方法はありますか?
- 14. ファイルディスクリプタを簡単にフォークする方法はありますか?
- 15. QProgressBarを簡単にカスタマイズする方法はありますか?
- 16. three.jsでグループをドラッグする方法は?
- 17. Three.jsオーディオをフェードアウトする方法は?
- 18. Three.jsの影 - 改善する方法は?
- 19. WebSphereに簡単にデプロイする方法はありますか?
- 20. Three.jsカメラのルックが機能しない
- 21. luaで危険な機能を最も簡単に無効にする方法はありますか?
- 22. Three.jsシェーダの拡張機能を有効にする
- 23. Three.jsのピクセルを比較する方法
- 24. セットのサブセットの非反復グループを簡単に見つける方法はありますか?
- 25. Three.js - VR /ステレオエフェクトモードの切り替え方法
- 26. Xcodeプロジェクトファイルを再構築する方法はありますか?
- 27. iOSでマルチビューアプリケーションを構築する方法はありますか?
- 28. Three.js - OrbitControlsが機能しない
- 29. Readlineに代わる簡単な方法はありますか?
- 30. Java:配列のサブセットを選択する簡単な方法はありますか?
回答を受け入れることを検討しましたか? – pailhead
はい、私は答えを受け入れますが、それを行う前に、いつも私の馬を抱きしめています。 – silverdr
あなたは答えを受け入れると考えましたか? @silverdr – pailhead