Welcome to Programming for 3D (P3D), a module run at the University of Sussex.
This module supports the university's staff and student charter and guiding principles.
P3D is an applied module where you use Unity to learn how to build complex, interactive 3D environments. There, you will use meshes to define the shape of objects in that environment, which you will render with lighting, materials, textures, and shaders. You will also simulate real-world forces, such as gravity and collisions, using physics components, such as rigid bodies and colliders. You will introduce characters into that world and add sound and animations. And you will do some scripting.
P3D has some dependencies.
- You should have an account on GitHub and you should create a private repository for your P3D work (as that is where you'll post lab exercises and coursework). If not all of that makes sense now, don't worry - it will after the first lab session when you will create that repository and add the Module Convenor as a collaborator (so they can support you throughout the module).
- You will need the latest long term support release of Unity.
Links to P3D lab sessions will appear below.
- Week 1, Session 1 - Installing Unity and Integrating with GitHub
- Week 1, Session 2 - Creating a Game Design Document
- Week 2, Session 1 - Agile Project Management
- Week 2, session 2 - Modelling
- Week 3, Session 1 - Materials, Textures and Shaders
- Week 3, Session 2 - Lighting
- Week 4, Session 1 - 3D Physics
- Week 4, Session 2 - Scripting
- Week 5, Session 1 - Multimedia
- Week 5, Session 2 - Animations
- Week 6, Session 1 - Particle Systems with Visual Effects (VFX) Graphs
- Week 6, Session 2 - Cutscenes
- Week 7, Session 1 - Artifical Intelligence (AI) in Games
- Week 7, Session 2 - Creative Thinking
Below are a couple of useful tutorials that will help those new to Unity get started:
As you immerse yourself in the 3D programming space, you may wish to deepen your knowledge by grasping some of the theoretical background underpinning the work you do. To help get you started, your Module Convenor has collated some theory:
Much of the naterial for the documents above was collated from Ray Tracing in One Weekend, the 3D Maths Primer for Graphics and Game Development, and The Nature of Code - if you're interested in grasping more of the theory, then go investigate those sites. The Nature of Code uses a Javascript library called p5.js to demonstrate its principles, but don't worry too much if you're not familiar with javascript, as you do not necessarily need that familiarity to understand the concepts presented.
In fact, P3D used to be much more theoretical (and far less practical). Some of the background material from then has been retained for reference:
The material above lacks the context (the lectures), but those resources remain useful.