Example #1
0
 def __init__(self, cameraPosition, cameraTarget, sourceMatrix, cursor):
     self._planeMtxProvider = Math.MatrixProduct()
     self._planeMtxProvider.a = sourceMatrix
     self._planeMtxProvider.b = Math.Matrix()
     self._planeMtxProvider.b.setIdentity()
     self.__camera = BigWorld.CombatCamera(cameraPosition, cameraTarget, Math.Vector4(0.0, 1.0, 0.0, 0.0), self._planeMtxProvider)
     self.__camera.Reset()
Example #2
0
 def __init__(self, cameraPosition, cameraTarget, sourceMatrix, cursor):
     self.defaultFov = 0.0
     self.fovMultiplier = 1.0
     self.__needUpdate = 1
     self.__behaviorHorizon = 1
     self.__isInDebugMode = False
     self._planeMtxProvider = Math.MatrixProduct()
     self._planeMtxProvider.a = sourceMatrix
     self._planeMtxProvider.b = Math.Matrix()
     self._planeMtxProvider.b.setIdentity()
     self._cursorProvider = Math.MatrixProduct()
     self._cursorProvider.b = Math.Matrix()
     self._cursorProvider.b.setIdentity()
     self._cursor = cursor
     self._cursor.sourceMatrix = self._planeMtxProvider
     self._cursorProvider.a = self._cursor.matrix
     fov = BigWorld.CameraComponentGround()
     fov.minPositionSettings.planeDistance = 0.0
     fov.maxPositionSettings.planeDistance = 0.0
     fov.minFovMultiplier = 1.0
     fov.maxFovMultiplier = 1.0
     fov.interpolationFunc = SplineEasing([Math.Vector2(0, 0), Math.Vector2(1, 1)])
     fov.minArgumentValue = 0
     fov.maxArgumentValue = 1
     fov.duration = 0.01
     speed = BigWorld.CameraComponentGround()
     speed.maxPositionSettings.rotationAngle = math.radians(0.0)
     speed.maxPositionSettings.horizontalOffset = 1.0
     speed.maxPositionSettings.verticalOffset = 1.0
     speed.maxPositionSettings.planeDistance = -2
     speed.minPositionSettings.rotationAngle = math.radians(0.0)
     speed.minPositionSettings.horizontalOffset = 1.0
     speed.minPositionSettings.verticalOffset = 1.0
     speed.minPositionSettings.planeDistance = 0.0
     speed.maxFovMultiplier = 1.0
     speed.minFovMultiplier = 1.0
     speed.interpolationFunc = BigWorld.EaseInOutSinusoidal
     speed.minArgumentValue = 200
     speed.maxArgumentValue = 750
     speed.duration = 0.01
     ground = BigWorld.CameraComponentGround()
     ground.maxArgumentValue = 100.0
     ground.minArgumentValue = 1.0
     ground.maxPositionSettings.verticalOffset = 1.0
     ground.minPositionSettings.verticalOffset = 0.7
     ground.interpolationFunc = BigWorld.EaseInOutSinusoidal
     ground.duration = 10.0
     forsage = BigWorld.CameraComponentForsage()
     forsage.positionSettings.rotationAngle = math.radians(0.0)
     forsage.positionSettings.horizontalOffset = 1.0
     forsage.positionSettings.verticalOffset = 1.0
     forsage.maxFovMultiplier = 1.1
     forsage.durationIn = 1.5
     forsage.interpolationFuncIn = SplineEasing('0.0, 0.0, 1.0, 1.0')
     forsage.durationOut = 5.0
     forsage.interpolationFuncOut = SplineEasing('0.0, 0.0, 1.0, 1.0')
     forsage.shakeDuration = 1.0
     forsage.shakeAmplitude = math.radians(0.0)
     forsage.shakeMultiplier = 4.0
     forsage.maxArgumentValue = 1.0
     forsage.minArgumentValue = 0.0
     forsage.planeMatrix = self._planeMtxProvider
     forsage.cursorMatrix = self._cursorProvider
     brake = BigWorld.CameraComponentForsage()
     brake.positionSettings.rotationAngle = math.radians(0.0)
     brake.positionSettings.horizontalOffset = 1.0
     brake.positionSettings.verticalOffset = 1.0
     brake.maxFovMultiplier = 0.9
     brake.durationIn = 5.0
     brake.interpolationFuncIn = SplineEasing('0.0, 0.0, 1.0, 1.0')
     brake.durationOut = 5.0
     brake.interpolationFuncOut = SplineEasing('0.0, 0.0, 1.0, 1.0')
     brake.shakeDuration = 1.0
     brake.shakeAmplitude = math.radians(0.0)
     brake.shakeMultiplier = 4.0
     brake.maxArgumentValue = -1.0
     brake.minArgumentValue = 0.0
     brake.planeMatrix = self._planeMtxProvider
     brake.cursorMatrix = self._cursorProvider
     overlook = BigWorld.CameraComponentOverlook()
     overlook.maxFovMultiplier = 1.0
     overlook.duration = 0.005
     overlook.interpolationFunc = BigWorld.EaseInOutExponential
     overviewMode = BigWorld.CameraComponentForsage()
     overviewMode.maxFovMultiplier = 1.0
     overviewMode.positionSettings.planeDistance = -2
     overviewMode.durationIn = 0.4
     overviewMode.interpolationFuncIn = BigWorld.EaseInOutCubic
     overviewMode.durationOut = 0.4
     overviewMode.interpolationFuncOut = BigWorld.EaseInOutCubic
     overviewMode.maxArgumentValue = 1.0
     overviewMode.minArgumentValue = 0.0
     overviewMode.planeMatrix = Math.Matrix()
     overviewMode.planeMatrix.setIdentity()
     overviewMode.cursorMatrix = Math.Matrix()
     overviewMode.cursorMatrix.setIdentity()
     self.__offsetProvider = Math.Vector4Combiner()
     self.__offsetProvider.a = BigWorld.EllipticalPositionProvider()
     self.__offsetProvider.a.position = cameraPosition
     self.__offsetProvider.b = Math.Vector4(0.0, 0.0, 0.0, 0.0)
     self.__targetProvider = Math.Vector4Combiner()
     self.__targetProvider.a = cameraTarget
     self.__targetProvider.b = Math.Vector4(0.0, 0.0, 0.0, 0.0)
     self._cameraBasis = Math.MatrixProduct()
     self._cameraBasis.b = self._cursorProvider
     self._cameraBasis.a = overlook.effectMatrix
     self._input = BigWorld.CameraInput()
     self._input.accelerationDuration = 0.075
     self._input.decelerationDuration = 0.075
     self._input.planeMatrix = self._planeMtxProvider
     self._input.cursorMatrix = self._cursorProvider
     self._components = {'zoomStateFov': fov,
      'forsage': forsage,
      'brake': brake,
      'speed': speed,
      'ground': ground,
      'overlook': overlook,
      'overviewMode': overviewMode}
     self.__camera = BigWorld.CombatCamera(self.__offsetProvider, self.__targetProvider, Math.Vector4(0.0, 1.0, 0.0, 0.0), self._cameraBasis)