Skip to content

Commit

Permalink
removed collision zones
Browse files Browse the repository at this point in the history
  • Loading branch information
groverburger committed Feb 19, 2021
1 parent 5cd5e2c commit 781c465
Showing 1 changed file with 0 additions and 69 deletions.
69 changes: 0 additions & 69 deletions g3d/collisions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------------------------------------------------------------------------------
Expand Down

0 comments on commit 781c465

Please sign in to comment.