/** * @param z * @param targetZ */ private Vector3f calculateTerrainCollision( float x, float y, float z, float targetX, float targetY, float targetZ, Ray ray) { float x2 = targetX - x; float y2 = targetY - y; int intD = (int) Math.abs(ray.getLimit()); for (float s = 0; s < intD; s += 2) { float tempX = x + (x2 * s / ray.getLimit()); float tempY = y + (y2 * s / ray.getLimit()); Vector3f result = terraionCollision(tempX, tempY, ray); if (result != null) { return result; } } return null; }