ゲームのサーバーをホストする専用サーバー ソフトウェア用に C++ でプラグインを作成しています。
3D Collision ライブラリを探しましたが、例を見つけるのは本当に難しいですが、MathGeoLib は有望に見えるので使用することにしましたが、例がなく、見つけることができません。
だから私の質問は: 球と立方体、線 (ポイント + 方向) を定義し、線が遭遇する最初の衝突の位置 XYZ を取得するにはどうすればよいですか?
ドキュメントには、クラスとそれらが持つメソッドのみが示されています。しかし、MathGeoLib の使用を開始する方法は何も示していません。Google で見つからないチュートリアルはありますか?
私のプロジェクトの背景情報:
San Andreas Multiplayer 用の衝突検出器を作成しています。サーバーにはゲーム世界に関する情報がまったくないため、衝突ファイルとオブジェクト配置ファイルを抽出し、プラグインで使用できる形式に変換することにしました。
オブジェクトには位置 XYZ とクォータニオン回転 XYZW があり、衝突ファイルには多くのものが含まれています[プロジェクト メンバーがプロジェクト用にこれらの .col ファイルのパーサーを作成しています]。
プロジェクトの目標は、XY 位置に基づいて Z 位置を決定するメカニズムを提供し、ゲームの世界で線 (StartPos、EndPos) が交差する (XYZ にヒット) 場所を示すレイトレーサーを提供することです。
これが、MathGeoLib でこれを達成する方法を知る必要がある理由です。すべてのオブジェクトの衝突を 1 つのワールドにロードしてから、レイ トレーサー関数を実行します。(6000x6000x1000の領域に30,000オブジェクト程度)