基本的に、大砲からのレーザービームが地形に当たるかどうかを確認したいと思います。Ray の概念を理解していないか、何かが間違っています。このコード行を見てみましょう
Intersector.intersectRayTriangle(intersectorRay, new Vector3(0.5f,1,0), new Vector3(0.5f,-1,0), new Vector3(1,0,0), hitPoint);
intersectorRay は原点 0,0,0 と方向 1,0,0 を持っているので、ポイント 0,0 から「まっすぐ右」を指していると仮定します。三角形の頂点の座標を考えると、三角形と交差するはずですよね? コードは false を返します。
一方、この行は true を返します。
Intersector.intersectRayTriangle(intersectorRay, new Vector3(0.5f,1,0), new Vector3(0.5f,-1,0), new Vector3(-1,0,0), hitPoint);
他の例でのテストでは、Ray の原点が三角形の内側にある場合にのみ true を返すことが証明されました (この場合、何かにヒットすることは明らかです...)。
私は何を間違っていますか?9 月 6 日以降、libgdx の最新のナイトリー バージョンを使用しています。