From 781c4655bdbffad25703ffdd5345cefe1249658c Mon Sep 17 00:00:00 2001 From: groverburger Date: Fri, 19 Feb 2021 04:54:26 -0800 Subject: [PATCH] removed collision zones --- g3d/collisions.lua | 69 ---------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/g3d/collisions.lua b/g3d/collisions.lua index 2622442..af6865a 100644 --- a/g3d/collisions.lua +++ b/g3d/collisions.lua @@ -440,75 +440,6 @@ function collisions:capsuleIntersection(tip_x, tip_y, tip_z, base_x, base_y, bas ) end -function collisions:createCollisionZones(zoneSize) - local aabb = self:generateAABB() - - local min_1 = math.floor(aabb.min[1]/zoneSize)*zoneSize - local min_2 = math.floor(aabb.min[2]/zoneSize)*zoneSize - local min_3 = math.floor(aabb.min[3]/zoneSize)*zoneSize - - local max_1 = math.floor(aabb.max[1]/zoneSize)*zoneSize - local max_2 = math.floor(aabb.max[2]/zoneSize)*zoneSize - local max_3 = math.floor(aabb.max[3]/zoneSize)*zoneSize - - local translation_x = self.translation[1] - local translation_y = self.translation[2] - local translation_z = self.translation[3] - local scale_x = self.scale[1] - local scale_y = self.scale[2] - local scale_z = self.scale[3] - local verts = self.verts - - local zones = {} - for x=min_1, max_1, zoneSize do - for y=min_2, max_2, zoneSize do - for z=min_3, max_3, zoneSize do - local hash = x .. ", " .. y .. ", " .. z - - for v=1, #verts, 3 do - local n_x, n_y, n_z = vectorNormalize( - verts[v][6]*scale_x, - verts[v][7]*scale_x, - verts[v][8]*scale_x - ) - - local inside = triangleAABB( - verts[v][1]*scale_x + translation_x, - verts[v][2]*scale_y + translation_y, - verts[v][3]*scale_z + translation_z, - verts[v+1][1]*scale_x + translation_x, - verts[v+1][2]*scale_y + translation_y, - verts[v+1][3]*scale_z + translation_z, - verts[v+2][1]*scale_x + translation_x, - verts[v+2][2]*scale_y + translation_y, - verts[v+2][3]*scale_z + translation_z, - n_x, n_y, n_z, - x,y,z, - x+zoneSize,y+zoneSize,z+zoneSize - ) - - if inside then - if not zones[hash] then - zones[hash] = {} - end - - table.insert(zones[hash], verts[v]) - table.insert(zones[hash], verts[v+1]) - table.insert(zones[hash], verts[v+2]) - end - end - - if zones[hash] then - print(hash, #zones[hash]) - end - end - end - end - - self.zones = zones - return zones -end - ---------------------------------------------------------------------------------------------------- -- AABB functions ----------------------------------------------------------------------------------------------------