Class ThirdPersonCamera

  • All Implemented Interfaces:
    com.jme3.app.state.AppState, com.simsilica.lemur.input.AnalogFunctionListener, com.simsilica.lemur.input.StateFunctionListener

    public class ThirdPersonCamera
    extends com.jme3.app.state.BaseAppState
    implements com.simsilica.lemur.input.AnalogFunctionListener, com.simsilica.lemur.input.StateFunctionListener
    A third person camera implementation using Lemur's InputMapper. This AppState can be used as a starting point for other camera implementations.
    • Field Detail

      • FUNCTION_X_ROTATE

        public static final com.simsilica.lemur.input.FunctionId FUNCTION_X_ROTATE
      • FUNCTION_Y_ROTATE

        public static final com.simsilica.lemur.input.FunctionId FUNCTION_Y_ROTATE
      • FUNCTION_ZOOM

        public static final com.simsilica.lemur.input.FunctionId FUNCTION_ZOOM
      • FUNCTION_DRAG

        public static final com.simsilica.lemur.input.FunctionId FUNCTION_DRAG
    • Constructor Detail

      • ThirdPersonCamera

        public ThirdPersonCamera()
    • Method Detail

      • initialize

        protected void initialize​(com.jme3.app.Application app)
        Specified by:
        initialize in class com.jme3.app.state.BaseAppState
      • cleanup

        protected void cleanup​(com.jme3.app.Application app)
        Specified by:
        cleanup in class com.jme3.app.state.BaseAppState
      • onEnable

        protected void onEnable()
        Specified by:
        onEnable in class com.jme3.app.state.BaseAppState
      • onDisable

        protected void onDisable()
        Specified by:
        onDisable in class com.jme3.app.state.BaseAppState
      • valueActive

        public void valueActive​(com.simsilica.lemur.input.FunctionId func,
                                double value,
                                double tpf)
        Specified by:
        valueActive in interface com.simsilica.lemur.input.AnalogFunctionListener
      • valueChanged

        public void valueChanged​(com.simsilica.lemur.input.FunctionId func,
                                 com.simsilica.lemur.input.InputState value,
                                 double tpf)
        Specified by:
        valueChanged in interface com.simsilica.lemur.input.StateFunctionListener
      • update

        public void update​(float tpf)
        Specified by:
        update in interface com.jme3.app.state.AppState
        Overrides:
        update in class com.jme3.app.state.BaseAppState
      • invertY

        public void invertY​(boolean invert)
      • isInvertY

        public boolean isInvertY()
      • invertX

        public void invertX​(boolean invert)
      • isInvertX

        public boolean isInvertX()
      • getDistance

        public float getDistance()
      • getMinDistance

        public float getMinDistance()
      • getMaxDistance

        public float getMaxDistance()
      • getRotationSpeed

        public float getRotationSpeed()
      • setRotationSpeed

        public ThirdPersonCamera setRotationSpeed​(float rotationSpeed)
      • getZoomSpeed

        public float getZoomSpeed()
      • getYaw

        public float getYaw()
      • getPitch

        public float getPitch()
      • getMinPitch

        public float getMinPitch()
      • getMaxPitch

        public float getMaxPitch()
      • getOffset

        public com.jme3.math.Vector3f getOffset()
      • getTargetLocation

        public com.jme3.math.Vector3f getTargetLocation()
      • setTargetLocation

        public ThirdPersonCamera setTargetLocation​(com.jme3.math.Vector3f targetLocation)
      • getMaximumRotationSpeed

        public float getMaximumRotationSpeed()
      • setMaximumRotationSpeed

        public ThirdPersonCamera setMaximumRotationSpeed​(float maximumRotationSpeed)
      • isDragToRotate

        public boolean isDragToRotate()
      • setDragToRotate

        public ThirdPersonCamera setDragToRotate​(boolean dragToRotate)