250 likes | 315 Views
Learn essential concepts in Unity game development including source control, FPS game creation, team collaboration, and advanced features like IK and weapon recoil. Understand the importance of source control management systems in tracking code changes and resolving conflicts effectively. Optimize your workflow with SourceTree and BitBucket while creating repositories and setting up Unity for source control. Master the creation of a first-person camera, shooting mechanics, and additional features such as crouching and weapon effects.
E N D
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 codeand 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, objand 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?