Unitycorn
Build your own FPS in Unity 3D
Johan Bjurling & Daniel Lundin
Overview
- Create a new project
- Editor overview
- Terrain builder
- Add an FPS Controller
- The Asset Store
- Adding scripts
- Importing custom models
- Spawning objects
- Collision detection
- ...
- Profit!
Create new project
Import the packages Character, Environment and Effects
Editor overview
- Scene view
- Game view
- Project view
- Hierarchy
- Inspector
- Navigation (keyboard shortcuts)
- Creating simple objects
Terrain builder
- Create terrain
- Adding texture
- Build a lake and add water
- Build trees
- Lighting
- Main Camera
Add an FPS Controller
- Add to hierarchy
- Adjusting properties
- Adding image effects
- Build and run
The Asset Store
- Download rifle
- Download simple particle pack
- Add rifle as a child to FPS controller and adjust its position and rotation
- Remove the rifle's shadow
- Adjust rifle's pivot position (using an intermediate empty game object)
Adding scripts
- Add a script to adjust the rifle's rotation (https://gist.github.com/johanbjurling/e41d2e4137010980c27c)
- Add the camera to the RifleController
Importing custom models
- Easy import from Maya, Blender, C4D etcetera using .FBX
- Add a Bullet and a Shell to /Models.
- Add a material to the Bullet and the Shell
- Create prefabs for Bullet and Shell (make sure they have materials)
Spawning objects
- Create an empty game object (as child to rifle) and position at the rifel's barrel's tip
- Create an empty game object for the shells
- Create a RifleController (https://gist.github.com/daniel-lundin/27f94005eb4e7fb2c36b)
- Add objects and prefabs to the RifleController script
Collision detection
- Create a box collider for the bullet
- Add a RigidBody component to the Bullet and the Shell
- Create a BulletController that detects collisions and spawns an explosion
- https://gist.github.com/daniel-lundin/794ee8edefd808edf190
...
- AI Enemies
- Character animations
- HUD (Heads-up display)
- Game logic
- Optimizations (lightmaps)
- Shaders (e.g. water, glass)
- Tweaks (heightmaps, normal maps)