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)

Profit!