Releases: boaheck/TheFirstPerson
v0.3.0-b The Third Person?
Reminder that You can Pay What You Want to help support development of this project Here (with password TFP)
Version 0.3.0-b adds third person support and a lot of other useful stuff. Many of the changes made here were actually developed for my game Bubbo: Adventure On Geralds Island which was released as part of The Dread X Collection 3 and so much of this update has been tested in a heavily movement focused commercially released game. They just barely managed to handle everything I threw at them there so maybe the third person support isn't what you want to be using for the next big physics based 3D platformer but it's certainly serviceable for a most of what you might want to do with third person controls. Another thing I developed for Bubbo was a new way to handle Input for TFP. Initially the new system adds a scriptable object which you can use as a reusable control configuration for all of the instances of TFP in your project, however where it really shines is that you can extend it to support other input systems such as Unity's new input system, Rewired or, as I did for Bubbo Sinput by Sophie Houlden. You can find my Sinput support in this Gist
v0.3.0-b changelog:
- Third person support
- Simple Third Person Camera
- Not recommended for use in a full game
- thirdPersonMode option on FPSController
- This enables third person mode and reveals the following options:
- walkBackwards: Is it possible to walk backwards or should the player turn to face backwards
- strafe: Is it possible to strafe or should the player turn to face the side
- turnSpeed: Speed of character turning in degrees per second. Set to 0 for instant turning
- sprintTurnMult: Speed that you turn when sprinting relative to Turn Speed.
- cameraAlignSpeed: Speed of character aligning to the canera direction in degrees per second. Set to 0 for instant turning
- This enables third person mode and reveals the following options:
- Simple Third Person Camera
- Custom Input Support
- New field customInputSystem of type TFPInput on FPSController
- If left empty TFP will use its default input system, if you put a TFPInput object in it will use the input functions from that
- New ScriptableObject class TFPInput:
- Functions as a reusable input configuration
- Can be extended to support different input systems (see my Sinput support Gist)
- New field customInputSystem of type TFPInput on FPSController
- New Gizmo for the FPSController shows CharacterController skin width capsule and step height indicator
- Contents of the Helper script folder moved to new namespace: TheFirstPerson.Helper
- New "movementEnabled" variable on FPSController to disable all movement entirely.
- Is available as part of data in Extensions.
- New function available to override in extensions ExPreMoveCalc:
- Executes before movement is calculated but after input is processed.
- This is useful if you want to modify variables that will be used in movement calculation
- New Example Extension DebugLine
- stores a history of the controllers position.
- renders a line along your movement for the last n seconds (gizmo's need to be enabled to view)
- fixed issue where updating jump height variables in playmode wouldn't recalculate the jump speed and gravity variables
v0.2.5-b Running and Jumping and... Tooltipping??
Reminder that You can Pay What You Want to help support development of this project Here (with password TFP)
Version 0.2.5-b adds the ability to define the players jump by it's height and time to peak this is somethiing I've wanted for a long time but not attempted because maths is scary. But now it's in! And along with it comes expanded options for how sprint works and tool tips for all number variables! Hopefully this makes TFP more user friendly than ever!
Changelog:
- Jump settings now have an option to be defined by height and time to the top of the jump. This should make more precise jumping easier to tune.
- New extension function that is called after Input is retrieved this will be useful for modifyinvbg the player input before move is called.
- Normalise Move input now leaves move inputs with magnitudes less than 0 to unmodified.
- Added tooltips for all numeric variables with units mentioned where applicable.
- Added run and walk toggle option and Run By Default option.
- Update TFPinfo to include more recently added variables.
TFP v0.2-b Polish and Bug Fixes
Reminder that You can Pay What You Want to help support development of this project Here (with password TFP)
This update adds a few nice to have features and fixes a lot of bugs and issues people have run into. Thanks to members of the Haunted PS1 Discord for bringing many of these issues to my attention!
I have also added a new example extension which will allow you to define tags for colliders which the player cannot walk over. this should be useful for things like water planes.
I have some exciting plans for the fututre including a system to enable easier extension creation and exposing more functionality to extensions. And all going according to plan the name "The First Person" will no longer be accurate soon meaning it'll be time for a name change.
Changelog:
- Added Normalise Move Input option. This normalises the input used for horizontal movement to make diagonal movement no faster than forward movement.
- Mouse input is no longer multiplied by Time.deltaTime as mouse input axes are already scaled by framerate. Sensitivity value needs to be lowered in existing uses of the asset if you are upgrading. Default sensitivity is now 10.
- Added fps limiter to test perforance at different fps values (this is for my use in development).
- Added option to disable the mouse lock.
- Removed unnecessary prints.
- Added option for movement to happen in Fixed Update, mouse look will still happen in update.
- Add UnwalkableColliders extension.
- Fixed getting initial horizontal look rotation with euler angles instead of localeulerangles.
- Fixed issue where TFP sample scene would overwrite default unity project sample scene.
- Replaced ExFixedUpdate with ExPreFixedUpdaste and ExPostFixedUpdate in extensions, you will need to replace ExFixedUpdate with one of these in your extensions.
- Made it so ExPostMove is actually called in extensions.
TFP v0.1-b : itch.io release 1
This is the first version of The First Person that was made available at https://boaheck.itch.io/tfp (using password TFP)