250 likes | 313 Views
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
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?