agree with the others,
don't try to check every vertice or pixel you will burn the processor and get a slow framerate. Try to see this with coordinate (x,y,z) of the more left corner of each box and with the width, lenght and depht you can easily try to create an algo more efficient (try it on paper to see)
other "optimisation stuff" is to cancel the test of collision if the "axis" of the characters are far away.
don't try to check every vertice or pixel you will burn the processor and get a slow framerate. Try to see this with coordinate (x,y,z) of the more left corner of each box and with the width, lenght and depht you can easily try to create an algo more efficient (try it on paper to see)
other "optimisation stuff" is to cancel the test of collision if the "axis" of the characters are far away.