mcpField
T
threejs-geometries

threejs-geometries

github.com/full-stack-skills開発10379 回インストール4 週間前に更新
リポジトリ

threejs-geometries について

threejs-geometriesは、three.jsのジオメトリを作成・変更するためのスキルです。組み込みプリミティブからカスタムバッファーデータ、形状の押し出しまで、手順とドキュメントを案内します。

主な機能

  1. 01BufferGeometryと属性
  2. 02プリミティブジオメトリの案内
  3. 03Shapeとパスの押し出し
  4. 04インスタンス属性の案内
  5. 05ジオメトリの解放と注意点

活用シーン

  1. 01カスタムメッシュの作成
  2. 022Dプロファイルの押し出し
  3. 03ジオメトリのインスタンスデータ追加
  4. 04法線や面の巻き順の問題調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/full-stack-skills/threejs-skills --skill threejs-geometries

インストール後、Claude Code で/threejs-geometriesを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlexamples/workflow-extrude-shape.md

詳細

このスキルを使用するタイミング

ユーザーが次の内容に言及した場合は、必ずこのスキルを使用してください。

  • BufferGeometry、属性、インデックスバッファー、描画範囲の作成または変更
  • InstancedBufferAttribute/InstancedMesh を使用したインスタンシングのジオメトリ側(メッシュラッパーについては threejs-objects)
  • パスに沿った Shape の押し出し、TubeGeometry、LatheGeometry、ExtrudeGeometry
  • テキストまたはデカールのアドオンジオメトリ

重要:ジオメトリと数学

  • threejs-geometries = GPU で使用できる三角形データです。
  • threejs-math = メッシュのトポロジーを使わない Box3、Sphere、Ray のテストです。

トリガーとなる語句の例:

  • 「BufferGeometry」、「BufferAttribute」、「ExtrudeGeometry」、「Shape」、「Curve」
  • 「几何体」、「缓冲几何」、「挤出」、「文字几何」

このスキルの使用方法

  1. カスタムバッファーを作成する前に、適合する場合は組み込みプリミティブを優先してください。
  2. カスタムメッシュでは、BufferGeometry を作成し、position、normal、uv、必要に応じて index を設定します。カリング用に境界ボリュームを計算してください。
  3. インスタンシング属性では、threejs-objects の InstancedMesh のパターンに合わせてディバイザー/カウントを設定してください。
  4. 2D プロファイルでは、Shape/Path を作成し、ドキュメントに従って押し出すか回転押し出しを行います。パスのサンプリングについては、Extras の Curve ファミリーを参照してください。
  5. アドオンの NURBS ノットについては、Addons の Curves ページを必要な範囲で参照してください。API 全体をコピーせず、ドキュメントを引用してください。
  6. メッシュを置き換える際は、メモリーリークを防ぐためにジオメトリを破棄してください。

examples/workflow-extrude-shape.md を参照してください。

ドキュメントマップ(公式)

ドキュメントのセクション代表的なリンク
コアhttps://threejs.org/docs/BufferGeometry.html
ジオメトリhttps://threejs.org/docs/BoxGeometry.html
押し出しhttps://threejs.org/docs/ExtrudeGeometry.html
シェイプhttps://threejs.org/docs/Shape.html

対象範囲

  • 対象: コアジオメトリ、バッファーコア、カーブ/シェイプ/押し出しのワークフロー、選定されたアドオンジオメトリ。
  • 対象外: 物理演算の衝突メッシュのベイク処理、CAD の完全なインポートパイプライン。

よくある問題とベストプラクティス

  • 法線がないとライティングに問題が生じます。法線を一貫して計算するか、インポートしてください。
  • 頂点の巻き順が間違っていると面が反転します。面の向き/カリングを確認してください。
  • 属性数が非常に多い場合は、LOD または簡略化が必要です(アドオンのモディファイアについては、ユーザーから求められた場合にのみ言及してください)。

ドキュメントとバージョン

プリミティブと BufferGeometry は、three.js docs の Geometries および BufferGeometry に記載されています。Curve、Shape、押し出しの API は Extras と Geometries にあります。Addons の Curves/Geometries では、NURBS とテキストメッシュについて説明されています。長いシグネチャをコピーする代わりに、そちらへリンクしてください。

エージェントの回答チェックリスト

このスキルに沿って回答する場合は、次の点を優先してください。

  1. 適切に BufferGeometry、プリミティブ、または ExtrudeGeometry/Shape にリンクしてください。
  2. InstancedMesh のパターンに関するインスタンシングの使用方法は、threejs-objects を参照するよう案内してください。
  3. 変形が時間によって駆動される場合は、モーフターゲットとトラックについて threejs-animation を参照するよう案内してください。
  4. 結合/分割については、BufferGeometryUtils(Addons の Utils)を名前とドキュメントリンクのみで参照してください。
  5. 大きなカスタムバッファーを置き換える際は、dispose() の重要性を強調してください。

参考資料

キーワード

英語: buffergeometry、extrude、shape、path、curve、primitives、instancing、three.js

中文: 几何体、BufferGeometry、挤出、Shape、曲线、实例化、three.js

コメント