GE Lua Documentation

Press F to search!

isCameraInside

Definition


-- @/lua/ge/extensions/core/camera.lua:408
local function isCameraInside(player, camPos)
  local veh = getPlayerVehicle(player)
  if not veh then return 0 end
  local vehId = veh:getId()
  local vdata = getVehicleData()[vehId]
  if not vdata then return 0 end
  if isUnicycle(vehId) then return 0 end

  bbCenter:set(be:getObjectOOBBCenterXYZ(vehId))
  bbHalfAxis0:set(be:getObjectOOBBHalfAxisXYZ(vehId, 0))
  bbHalfAxis1:set(be:getObjectOOBBHalfAxisXYZ(vehId, 1))
  bbHalfAxis2:set(be:getObjectOOBBHalfAxisXYZ(vehId, 2))

  if not containsOBB_point(bbCenter, bbHalfAxis0, bbHalfAxis1, bbHalfAxis2, camPos) then return 0 end

  return (isWithinRadius("onboard.driver", camPos, veh, vdata, 0.6) or isWithinRadius("onboard.rider", camPos, veh, vdata, 0.6)) and 1 or 0
end

Callers

@/lua/ge/extensions/core/sounds.lua
      else
        local isCameraInside = (core_camera and core_camera.isCameraInside(0, camPos)) or 0
        globalParams:setParameterValue("g_CamOnboard", square(square(insideModifier)) * isCameraInside) -- cockpit flag, used e.g. for driver camera