Unity Game Development Source Control & Creating a FPS game
Class overview Class 11 Revision Team Collaboration Source Control SourceTree & BitBucket Create a Repository Setting up Unity for Source Control Creating a .gitignore file Commit, Push & Pull Creating a First Person Camera Movement with First Person Camera Shooting Inverse Kinematics (IK) Weapon Recoil Shoot effects & Bullet impacts Crouching Additional features
Revision Skybox Fog Render Target Texture Shaders Post-Processing Light Probes Creating a Portal Creating a Dialog Window
Team collaboration Brainstorm Gain inspiration Discuss ideas Divide features Create a planning Create a Project scope Avoid feature creep Cut features Focus on shipping Go for quality, not quantity
Source Control Source control (or version control) is the practice of tracking and managing changes to code and data. Source controlmanagement (SCM) systems provide a running history of code development and help to resolve conflicts when merging contributions from multiple sources.
& Sourcetree = a Git GUI that offers a visual representation of your repositories. Bitbucket = a web-based version control repository hosting service owned by Atlassian, for source code and development projects that use either Mercurial or Git revision control systems.
Create a Repository Create a repository on BitBucket Add users & give access Clone repo to local directory
Setting up Unity for Source Control Version Control Visible Meta Files Asset Serialization Force Text
Creating a .gitignore file A .gitignore file will allow you to ignore certain folders Create a text file, call it: .gitignore. Windows will automatically make it a typeless file if the file name ends with a . Edit the file using any text editor Folders that should be ignored are the Library, obj and Temp folders ProjectFolderName/Library/ ProjectFolderName/obj/ ProjectFolderName/Temp/
Commit, Push & Pull Commit = adds the latest changes of code and/or data to local repository. Push = pushes the commit from local repository to remote repository. Pull = get latest version from remote repository to local repository
Creating a first person camera Attach Main Camera and Weapon to First Person Container Rotate Character around X axis, Rotate First Person Container around Y axis Set Head Mesh settings for Cast Shadows to: Shadows Only
Movement with First Person Camera Attach CharacterController to Player GameObject Movement is horizontal and vertical movement in 3D space
Shooting Add Crosshair / Reticule in center of screen RayCast using Camera.forward Vector
Inverse Kinematics (IK) Make character Look At aim direction Attach Left Hand and Right Hand to Weapon
Weapon Recoil Add Recoil per shot Increase X axis rotation Add Random Y axis rotation
Shoot effects & bullet impact Play Particle effect at Weapon barrel Turn on Light for additional visual feedback Play Particle effect on Bullet Impact point
Crouching Lower First Person Container (Camera & Weapon) using Lerp Adapt Colliders if necessary
Additional features Ammo displayed in UI Sound effects for shooting, reloading, empty clip, footsteps, … Reloading & shooting animations
Q&A Do you have any questions related to the topics mentioned?