/stylised-character-controller

A stylised physics based character controller made in Unity 3D.

Primary LanguageC#MIT LicenseMIT

Stylised Character Controller

A stylised physics based character controller made in Unity 3D.

Before you read on, get a hands on feel for the project over at itch.io. Additionally, watch the demo and listen to my exploration into oscillators for game development.

Stylised Character Controller: Demo Oscillators for Game Development

The character controller is based on the floating capsule approach devised by Toyful Games for Very Very Valet. In a video from the team's development blog, the various techniques for the movement are outlined and explained. The video also provides snippets of code, though incomplete in places. The source code was not provided by Toyful Games due to it being tied up in the complex otherworkings of Very Very Valet. This project aims to be a (fanmade) independent pure re-creation of their physics based character controller.

Additional stylisation inspired by discussions found in Toyful Games blog posts on character animations and shaders and effects are also included. These implementations exist from a personal desire to have them in my own projects. The project makes use of Unity's Universal Render Pipeline (URP) to facilitate some of these graphical features.

Features

  • Physics based character controller, as described here.
  • Squash and stretch on the character makes motion appear more fluid and bouncy, it is a principle of animation.
  • Dithered silhouettes appear on the character when obscured from view, letting the player know where they are at all times.
  • Top down blob shadows on characters make 3D platforming feel sharper, and they look great when combined with Unity's inbuilt shadows on the environment.
  • Dust particles appear when characters move, making the character feel more alive.
  • Sound effects play when the character moves and jumps, to bring everything together.
  • Oscillators, Torsional Oscillators and much more...

Installation

Open the project in Unity. Open the demo scene located at stylised-character-controller/Assets/Scenes/.

Usage

When running the project in the Game view, use WASD and Space to move and jump the character. Press F1 to toggle oscillator gizmos.

Contributing

  1. Fork the repository.
  2. Create a branch for your feature: git checkout -b my-shiny-feature.
  3. Commit your changes: git commit -am 'Added my super shiny feature'.
  4. Push to the branch: git push origin my-shiny-feature.
  5. Submit a pull request.

All contributions big and small are appreciated and encouraged!

Credits

Physics based character controller 1

Credits for the clever character controller goes to Toyful Games. A large portion of this system's code is their own as presented in this video.

Blob shadows

The blob shadows use Nyahoon Games' asset Dynamic Shadow Projector for URP.

Path Creator

The platforms follow paths using Sebastian Lague's very useful Path Creator (a project which I have previously contributed to). This has been adapted to work with [Oscillator.cs].

Sound Effects

The sound effects and audio were kindly created and arranged by Clara Summerton.

All else

Is my own.

License (MIT License)

See this page for more information.

Footnotes

  1. Disclaimer: This project is fanmade! The quality of the project does not reflect the quality of Toyful Games or their products.