Add a matrix to GetCollisionModel

This commit is contained in:
Jeffery Myers 2022-03-22 20:26:56 -07:00
parent 9ecbc465a9
commit 0fc533b349
3 changed files with 7 additions and 5 deletions

View File

@ -123,7 +123,7 @@ int main(void)
// Check ray collision against model
// NOTE: It considers model.transform matrix!
RayCollision meshHitInfo = GetRayCollisionModel(ray, tower);
RayCollision meshHitInfo = GetRayCollisionModel(ray, tower, MatrixIdentity());
if (meshHitInfo.hit)
{

View File

@ -1464,7 +1464,7 @@ RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2);
RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere
RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere
RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box
RLAPI RayCollision GetRayCollisionModel(Ray ray, Model model); // Get collision info between ray and model
RLAPI RayCollision GetRayCollisionModel(Ray ray, Model model, Matrix transform); // Get collision info between ray and model
RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh
RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle
RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad

View File

@ -3641,13 +3641,15 @@ RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform)
}
// Get collision info between ray and model
RayCollision GetRayCollisionModel(Ray ray, Model model)
RayCollision GetRayCollisionModel(Ray ray, Model model, Matrix transform)
{
RayCollision collision = { 0 };
Matrix mat = MatrixMultiply(model.transform, transform);
for (int m = 0; m < model.meshCount; m++)
{
RayCollision meshHitInfo = GetRayCollisionMesh(ray, model.meshes[m], model.transform);
RayCollision meshHitInfo = GetRayCollisionMesh(ray, model.meshes[m], mat);
if (meshHitInfo.hit)
{