OpenSource-Hub

ppf-contact-solver

ライブラリ

st-tech/ppf-contact-solver

シェル、ソリッド、ロッドの物理シミュレーション用のGPU加速接触ソルバー。

概要

ロバストで貫通のない接触求解を提供し、1億8000万の接触までスケール可能。有限要素法を採用して変形可能体を処理し、全GPU単精度で実行。Python API、Blenderプラグイン、Dockerデプロイメントを同梱。

README プレビュー

# ZOZO's Contact Solver 🫶\n\nA contact solver for physics-based simulations\ninvolving 👚 shells, 🪵 solids and 🪢 rods. All made by [ZOZO, Inc.](https://corp.zozo.com/en/), the largest fashion e-commerce company in Japan.\n\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/getting-started.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/run-all-once.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/run-all-once-win.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/make-docs.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/build-docker.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/release-win.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/blender.yml)\n\n\n> 🤖 We **highly** respect that readers expect to hear the author's original voice and tone, which we work to retain throughout. Our use of LLMs is clarified in [(Markdown)](./articles/llm_transparency.md).\n\n## 👀 Quick Look\n\n🎨 Simulate remotely from our [Blender add-on](https://st-tech.github.io/ppf-contact-solver) (screenshots taken on macOS; you can also run locally if you have a modern NVIDIA GPU on Windows or Linux)\n\n\n\n🚀 Or double click `start.bat` (Windows) or run a Docker command (Linux/Windows) to get it running\n\n\n\n🌐 Click the URL and explore our examples\n\n\n\n## ✨ Highlights\n\n- **💪 Robust**: Contact resolutions are penetration-free. No snagging intersections.\n- **⏲ Scalable**: An extreme case includes beyond 180M contacts. Not just one million.\n- **🚲 Cache Efficient**: All on the GPU runs in single precision. No double precision.\n- **🥼 Not Rubbery**: Triangles never extend beyond strict upper bounds (e.g., 1%).\n- **📐 Finite Element Method**: We use FEM for deformables and symbolic force jacobians.\n- **⚔️ Highly Stressed**: We run GitHub Actions to run stress tests [10 times in a row](#️-ten-consecutive-runs).\n- **

FAQ (2)

トラブル対応
Blenderでシミュレーションを開始したときにアーマチュアモディファイアーが適用されない問題を修正するには?

**Blender Add-on 1.0.11 (addon-2026-06-01-1511)** 以降および **ZOZO Contact Solver 2026-06-01-13-25** 以降にアップグレードしてください。このバグはこれらのリリースで正式に修正されました。一時的な回避策として、フレーム1のレストポジションからフレーム2の目的のポーズまでアーマチュアをアニメーションさせ、実際のピングループとは逆のピングループを2フレームの期間で作成し、アーマチュアの変形の準備が整うまでメッシュがシミュレーションされないようにします。このセットアップ中に、実際のピングループの変形もキャッシュされます。

参照 Issue #49
トラブル対応
Windows上でBlender PPF Contact Solverの転送が'PanicException: index out of bounds'で失敗するのはなぜですか?

このエラーは、Blenderプロジェクトファイルパスまたはアドオンインストールディレクトリにスペースが含まれている場合に頻繁に発生します。.blendファイルをスペースのないパス(例:C:\\Projects)に保存し、プラグインがスペースのないディレクトリにインストールされていることを確認してください。Blenderを再起動し、再度転送を試してください。問題が解決しない場合は、Windowsのユーザー名にスペースがないか確認してください。一時ディレクトリも影響を受ける可能性があります。

参照 Issue #18