Good evening, team!
Two queries:
1 - Is there a default built in to the follow camera that will allow me to press a button and switch to a free look camera, which snaps back to the follow camera when released? Or has anyone implemented this? I have the Opsive, Invector, and loads of other solutions, so if the answer is "Implement one of those" then... you know, fine, I'll figure that out. But since I'm using grid combat, and normally our sailors will be running around with the default view, they seem like overkill.
2 - Secondly, given that I just said, "normally..." here's the two exceptions: swimming and climbing. For the swimming, I have animations, but I'm not sure how to "trigger" the animation. I know that getting the player to swim on the surface is one level of complexity, and getting her to swim downwards is a second level, so let's focus on the surface swimming first.
Separately, when a player approaches the ratlines on a ship, I want her to be able to enter and exit a climbing animation, but ONLY for this one thing; this is a pirate rpg, not a platformer, but I think the view one gets when climbing the rigging is one worth sharing with the player, and can lead to some neat events (getting blown off in a strong storm, e.g.).
http://orkframework.com/tutorial/howto/camera-positions/
http://orkframework.com/tutorial/game-tutorial/44-camera-events/
http://orkframework.com/tutorial/game-tutorial/46-cinematic-field-scene-introduction/
You could also look at Cinemachine:
https://assetstore.unity.com/packages/essentials/cinemachine-79898
For Swimming, it depends on what kind of water you have. Some games have an "Ocean/Sea level". That is the Y position that is designated for large water bodies, so lets say if Water Level is -5 on Y, every-time player is bellow -5 on Y you would know he is in water.
If you have waters at different heights, like pools or lakes/rivers you would need to use Triggers for that.
There might be smarter solutions to this, you could look at how Opsive/Ootii do it.
For actually playing the swimming animation you just need to switch locomotion to swimming in Animator.
You can look at Keldryn's tutorial on Weapon stances and adapt this to swimming:
http://forum.orkframework.com/discussion/2901/tutorial-weapon-specific-animations-using-mecanim#latest
If you want to swim underwater, you need custom controller for that.
For climbing the ship, you just play animation normally. You can use either OnEnter triggers or Use Triggers and launch an event that plays animation, same way you play attack animation etc.
To actually make character move physically with animation, the best way is to have root motion inside animation.
https://docs.unity3d.com/Manual/RootMotion.html
I use it in my game with the script Keldryn supplied here: http://forum.orkframework.com/discussion/4420/ootti-camera-controller-integration#latest