We may earn an affiliate commission when you visit our partners.
Course image
Indie - Pixel

In this course you will learn how to create a helicopter controller from scratch. You will learn how to create the physics necessary to generate realistic and arcady helicopter flight mechanics. You will also learn how to set up your Unity project in efficient ways, how to create Editor Scripts, and how to use the Unity Rigidbody to its fullest.

You also receive two helicopter models and the contents of the Unity project, to give you a head start on your helicopter games.

Read more

In this course you will learn how to create a helicopter controller from scratch. You will learn how to create the physics necessary to generate realistic and arcady helicopter flight mechanics. You will also learn how to set up your Unity project in efficient ways, how to create Editor Scripts, and how to use the Unity Rigidbody to its fullest.

You also receive two helicopter models and the contents of the Unity project, to give you a head start on your helicopter games.

By the end of the course you will have gained knowledge about Helicopter physics, unity project organization, C# programming, Unity VFX, how to create a weapon system, how to create a camera system, how to create an audio system, and much more. Enroll today and start flying the friendly skies in you very own helicopter.

Enroll now

What's inside

Learning objectives

  • You will have the experience to work with rigidbodies in a controllable way
  • You will have a complete code base to develop any type of helicopter controller
  • You will better understand why helicopters fly and the physics behind them.
  • You will learn the beginnings of editor scripting
  • You will learn how to set up a flexible input system
  • You will learn about c# concepts such as inheritance, interfaces, properties, and namespaces
  • You will gain a better understanding of organizing your unity projects
  • You will gain an insight of how to begin to plan out a unity project or unity system
  • You will learn to build a re-usable weapon system
  • You will learn how to build two types of cameras with re-usable code

Syllabus

While this course does go through some beginner Unity workflows and information, it is good to have an understanding of unity, from a basic level. That being said, watch this lecture and learn more about the per-requisites needed for this course.

Read more

Alright! Lets take a look at the current state of the course! this lecture will give you a full walk through of where the course is at for early access.

The Asset Pack used in the Demo level: https://assetstore.unity.com/packages/3d/vegetation/trees/polygon-nature-pack-120152

In this lecture we are going to do a review of how the R-22 Helicopter was constructed and the reasons why certain elements were modeled the way they were. This is more of a guide to setting up more complex models inside of Unity 3D!

To start off our Heli physics project we need to get a few things setup first. Lets take a few minutes and get our Unity Project set up and lets install the Indie-Pixel framework to help us automate laborious tasks.

The Indie-Pixel framework comes with a bunch of small tools and resources that help you kick start any new Unity project. In this lecture we are going to get it installed and start to utilize some of the tools in our development.

Lets do a quick quiz to see how much you've learned so far! :-)

Lets quickly discuss what we are going to do in this section.

In this lecture we are going to walk through the basics of using Darw.io. If you already have experience using this software, then this will just be a review.

I want to review and talk about each of the individual components we are going to build for the Helicopter system. Plus you will get to see how I typically layout my diagrams.

Ok, lets see how comfy you feel with Draw.io now! :-)

Lets do a quick review of what we are going to be covering throughout this section. If you are already familiar with the Unity Rigidbody then this section will be a review for you. You are more than welcome to skip it, but I would highly recommend watching the section on hovering. Thanks!:-)

Everything physics related starts with the Rigidbody in Unity. So we need to get some of the basics out of the way. lets cover getting our Rigidbody set up.

One of the first components of physics and Unity's rigidbody is the force component. We will use this quite a lot throughout this course so getting a better understanding of what it is and how to apply it to a rigidbody is key to being successful with physics in Unity.

The next component in the Physics world is the Torque component. This allows us to rotate objects using forces. By the end of this lecture you will know how to use torque with the Unity rigidbody.

Drag is the force that is produced when moving. It is caused by the density of the air and the surface of the object moving through the air. Its effect is a slowing of the object as it moves faster and faster through the dense air. We will learn how to apply drag and how to control it based off of the speed of our object.

The weight of an object is very important to take into account as an object that is heavier will require more force and torque to move. We will take a look at this component in this lecture.

In this lecture we are going to put everything together and make our flying saucer hover in one place, under the weight of gravity.

Now lets look at how we can make our rigidbody scripts a bit more modular by using inheritance.

Lets take a second to talka bout the items we are going to cover in this section.

To start our Helicopter system we need to get the input from the user flying our helicopter. So lets focus on getting the initial scripts stubbed in.

Now lets focus on getting input from the Keyboard.

Lets keep working through our Keyboard Inputs.

Lets talk about the things we are going to learn in this section.

Lets conclude our Keyboard Input code.

Now lets turn our attention to the Xbox controller inputs.

Lets continue to work on our Xbox controller Input script

Lets finish up the xbox controller code and test to see how our xbox controller is working.

In order to ensure that we get only -1 to 1 values we need to clam our input values. Lets do that in this lecture.

Lets conclude our Input system by creating a controller class that allow sues to select which input we want to use.

Ok, so now lets stub in the Helicopter controller script so we can begin to add the major functionality to it.

You might have noticed that we have to drag and drop a lot of scripts onto our GameObjects, inside of Unity. We we can use a C# attribute tag to make this easier on us. Lets take a look at this!

Lets take a bit to update our Base Rigidbody controller to help take care of tasks that every rigidbody controller will need.

Automation is key to making your systems easy to use for designers and artists. So lets take a look at how we can fully automate the setup of a new helicopter.

All vehicles for the course are available in the resources of this lecture.  These models have no scripts attached, they are just the source art.

Lets do a quick review of what we are gong to cover in this Section.

To begin the process of getting our rotor blades blurred is to capture the actual blade form the unity scene. Lets take a look at that process.

With our source content captured, we are now ready to set up the Houdini Network so we can automate the process of blurring the rotor blades.

To conclude this section we are going to take a look at how we can use a little bit of Python to make ass rendering of all the different levels of blur.

Lets do a quick review of what we are going to build in this section. Be sure to download the Camera Script from this lecture if you would like the code we write in this section.

As usual, lets stub in our new camera script to get things started.

IN this lecture we are going to make a base class for all our cameras in our heli system. We will also take a look at how we can use Unity Events to handle this base class.

This is a cool trick to keep a camera following a subject but not in a very constrained way.

I really want the camera to auto orient itself only when we are moving at a certain speed. We will take a look at how to accomplish this in this lecture.

Editor scripts are awesome and fun to create! So lets create one for our new advanced camera!

When the helicopter gets close to the ground I want to keep the camera at a certain height from the ground. This will ensure that my camera never clips through the ground plane.

Lets do a quick review of what we are going to do in this section and how we are going to build out our Camera Controller / Manager.

As usual, lets kick off this section by stubbing in our Camera Manager script and getting a few things set up!

In order for us to have the ability to switch cameras, we need to add to our input scripts. This will give us the functionality to switch cameras.

With our inputs in place, lets now get our basic camera switching up and running.

Let's have some fun and test out our camera system by adding in the Cockpit camera and see what its like to fly the helicopter form the pilots point of view!

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides two helicopter models and the contents of the Unity project, which gives learners a practical head start on building helicopter games and simulations
Explores C# concepts such as Inheritance, Interfaces, Properties, and Namespaces, which are essential for building robust and maintainable Unity projects
Requires a basic understanding of Unity, which may necessitate that beginners first complete introductory tutorials or courses on the Unity game engine
Covers the creation of Editor Scripts, which allows developers to extend the Unity editor and automate repetitive tasks, improving workflow efficiency
Teaches how to build a re-usable weapon system, which can be adapted and integrated into various types of games beyond just helicopter simulations
Utilizes an Indie-Pixel framework, which may require learners to familiarize themselves with this specific framework to fully benefit from the course

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical unity helicopter physics & game systems

According to learners, this course provides a strong foundation (positive) in Unity 3D physics for creating realistic or arcady helicopter flight mechanics. Students appreciated the practical project-based approach (positive), building a full helicopter controller with integrated game systems like weaponry and cameras (positive). While some found the physics explanations could be more in-depth (warning), the course is generally seen as a comprehensive guide (positive) for anyone wanting to implement complex vehicle physics in Unity. The inclusion of project assets (neutral) was also a notable positive for many. Learners suggest having some prior Unity knowledge is beneficial.
Some prior Unity knowledge is highly recommended.
"Although it touches on basics, having some prior Unity experience is definitely helpful for this course."
"Beginners might find some parts challenging without a basic understanding of Unity workflows."
"I felt more comfortable because I had completed a beginner Unity course first."
Introduces Editor Scripts as a helpful tool.
"The introduction to Editor Scripts was a nice bonus and showed how to automate setup."
"Learned a cool trick using C# attributes to make setting up components easier in the editor."
Code is well-structured, uses C# principles.
"The instructor does a great job of explaining the C# concepts like Inheritance and Interfaces."
"Appreciated the focus on organizing the Unity project and structuring the code base properly."
"The code is well-commented and easy to follow along with."
Covers Unity Rigidbody effectively for physics.
"Gained a much better understanding of how to work with Rigidbodies in a controlled way."
"The sections on using forces, torque, and drag with the Rigidbody were very clear."
"This course really helped me utilize the Unity Rigidbody to its fullest extent for complex movement."
Builds a complete, practical helicopter system.
"The hands-on approach of building a complete helicopter controller was incredibly effective."
"I loved creating the weapon and camera systems as part of the project, it made it feel like a real game component."
"This course gives you a great starting point with a functional helicopter controller."
Could benefit from more in-depth physics theory.
"While the Unity implementation is great, I wish there was a bit more detail on the underlying physics theory itself."
"The explanation of 'why' certain physics behaviors occur could be expanded."
"Found myself supplementing the physics theory with external resources sometimes."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Intro to Unity 3D Physics: Helicopters with these activities:
Review Unity Rigidbody Physics
Solidify your understanding of Unity's Rigidbody component, which is fundamental to creating realistic helicopter physics.
Browse courses on Rigidbody
Show steps
  • Review the Unity documentation on Rigidbodies.
  • Experiment with different Rigidbody properties like mass, drag, and angular drag.
  • Create a simple scene with a few Rigidbodies and observe their behavior.
Experiment with Forces and Torques
Master the application of forces and torques to Rigidbodies to achieve desired movements and rotations.
Show steps
  • Create a scene with a Rigidbody.
  • Write scripts to apply different forces and torques to the Rigidbody.
  • Observe the effects of varying force and torque values.
Follow Advanced Unity Physics Tutorials
Expand your knowledge of Unity physics by following tutorials on advanced topics such as ragdoll physics or vehicle suspension.
Show steps
  • Search for tutorials on advanced Unity physics topics.
  • Follow the steps in the tutorial to implement the desired effect.
  • Adapt the tutorial to your helicopter project.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Helicopter Project
Reinforce your understanding by documenting the design and implementation of your helicopter controller.
Show steps
  • Create a document outlining the architecture of your helicopter controller.
  • Describe the purpose of each script and its interaction with other scripts.
  • Include diagrams to illustrate the flow of data and control.
Read 'Game Physics Engine Development'
Gain a deeper understanding of the physics principles behind helicopter flight by studying the theory behind game physics engines.
Show steps
  • Obtain a copy of 'Game Physics Engine Development'.
  • Read the chapters related to rigid body dynamics and collision detection.
  • Relate the concepts in the book to the Unity Rigidbody component.
Read 'Real-Time Collision Detection'
Improve your understanding of collision detection, which is important for creating realistic interactions between the helicopter and its environment.
Show steps
  • Obtain a copy of 'Real-Time Collision Detection'.
  • Read the chapters related to collision detection algorithms for rigid bodies.
  • Consider how these algorithms could be applied to improve the realism of your helicopter simulation.
Build a Simple Flight Simulator
Apply the concepts learned in the course by creating a basic flight simulator with simplified physics.
Show steps
  • Create a new Unity project.
  • Implement basic flight controls using keyboard or joystick input.
  • Simulate lift and drag forces on an airplane model.
  • Add basic camera controls.

Career center

Learners who complete Intro to Unity 3D Physics: Helicopters will develop knowledge and skills that may be useful to these careers:
Unity Developer
A Unity developer specializes in creating interactive experiences and games using the Unity engine. This course is squarely aimed at aspiring Unity developers, providing hands-on experience in building a helicopter controller from scratch. The course helps build expertise in Unity 3D physics, C# programming, and project organization. A Unity developer can apply the knowledge gained from this course to develop all kinds of simulations, games, and interactive experiences, especially those involving physics-based movement and vehicle control. The ready-made helicopter models can also be directly integrated into projects.
Game Developer
A game developer brings video game concepts to life, working on all aspects of game creation from coding to design. This course helps build a foundation in Unity 3D physics, specifically focusing on helicopter mechanics. This is directly applicable to creating realistic and engaging flight simulations or vehicle-based gameplay. The course's emphasis on C# programming, Unity VFX, weapon systems, and camera systems further equips a game developer. The included helicopter models provide a head start. The course's comprehensive approach, covering topics from project setup to advanced physics simulations, also helps prepare aspiring game developers.
Physics Programmer
A physics programmer specializes in simulating realistic physics in games and simulations. This course is directly relevant to aspiring physics programmers, providing a comprehensive overview of creating a helicopter controller using Unity's Rigidbody physics engine. A physics programmer can use the knowledge gained about helicopter physics, C# programming, and project organization to create complex and realistic physics simulations for a variety of applications. The ready-made helicopter models also let someone dive right into simulating.
Simulation Engineer
Simulation engineers create and maintain realistic simulations for training, testing, or research purposes. This course is particularly relevant as it focuses on creating a detailed helicopter flight simulation using Unity 3D physics. A simulation engineer can leverage the knowledge gained about helicopter physics, Unity project organization, and C# programming to develop simulations for various industries, such as aviation or defense. The course's detailed exploration of the Unity Rigidbody and the creation of realistic flight mechanics may be useful in building and refining complex simulations. The helicopter models are also useful.
Military Simulation Developer
Military simulation developers create training simulations for military personnel. This course is highly relevant to aspiring military simulation developers, providing a detailed understanding of helicopter mechanics and physics simulation. The course provides hands-on experience in creating a helicopter controller from scratch, covering topics such as rigid body physics, input systems, and camera systems. A military simulation developer can use the knowledge gained to create realistic and effective training simulations. Military simulation developers may find the included helicopter models to be a good starting point.
Gameplay Programmer
A gameplay programmer focuses on implementing the interactive elements and mechanics of a game. This course may be useful for a gameplay programmer seeking to specialize in vehicle physics and control. The course provides a deep dive into creating a helicopter controller from scratch, covering topics such as rigid body physics, input systems, and camera systems. The lessons on C# programming, inheritance, and interfaces can also be applied to a wide range of gameplay programming tasks. A gameplay programmer can use the included helicopter models to experiment with different gameplay mechanics.
XR Developer
An XR developer creates immersive experiences for virtual reality, augmented reality, and mixed reality platforms. This course may be useful for an XR developer interested in incorporating realistic vehicle physics into XR applications. The course provides hands-on experience in creating a helicopter controller from scratch. It covers topics such as rigid body physics, input systems, and camera systems, all of which are transferable to XR development. An XR developer can use the helicopter models to experiment with building compelling XR experiences.
Technical Artist
A technical artist bridges the gap between artists and programmers, optimizing art assets and creating tools to improve art workflows. This course may be useful for a technical artist seeking a deeper understanding of Unity physics and how to integrate art assets with physics simulations. The course covers Unity project organization, editor scripting, and C# programming, all of which a technical artist can apply to create custom tools and workflows. The helicopter models are also useful, and a technical artist can use their knowledge to improve their art pipelines.
Houdini FX Artist
A Houdini FX artist specializes in creating visual effects using Side Effects Software's Houdini. This course may be useful for a Houdini FX artist to expand their skills in creating physics-based effects. While the course primarily focuses on helicopter mechanics, the lessons on VFX, camera systems, and audio systems are transferable skills. Similarly, the course also helps build a foundational understanding of how physics simulations work in Unity. A Houdini FX artist may be able to use their additional skills to aid in the blurring of rotor textures as discussed in the course.
VFX Artist
A visual effects artist creates special effects and other visual imagery for games, film, and television. This course may be useful for a VFX artist looking to expand their skills in creating realistic physics-based effects. While the course primarily focuses on helicopter mechanics, the lessons on Unity VFX, camera systems, and audio systems are transferable skill. The course also helps build a foundational understanding of how physics simulations work in Unity. A VFX Artist may find the section on blurring the rotors to be especially applicable.
Software Engineer
A software engineer designs, develops, and tests software applications. This course may be useful for a software engineer interested in specializing in physics-based simulations or game development. The course delves into the intricacies of creating a helicopter controller from scratch, utilizing Unity's Rigidbody physics engine. A software engineer can apply the C# programming skills gained, along with the understanding of concepts like inheritance and interfaces, to various software development projects. The course also provides insights into project organization. Its focus on creating reusable systems, such as weapon and camera systems, helps to build a game or other simulation.
Avionics Engineer
Avionics engineers work on the electronic systems used in aircraft and spacecraft. Typically this role requires an advanced degree. This course may be useful for an avionics engineer interested in simulating aircraft behavior and control systems. While the course focuses on helicopter physics, the principles of flight dynamics, control algorithms, and sensor modeling are applicable to avionics engineering. The course provides hands-on experience in C# programming and Unity project organization. An avionics engineer may be able to use the Unity environment as a testbed.
Robotics Engineer
Robotics engineers design, build, and program robots for various applications. This course may be useful for a robotics engineer interested in simulating the physics of robotic systems in a virtual environment. While the course focuses on helicopter physics, the principles of rigid body dynamics, control systems, and sensor integration are applicable to robotics. The course provides hands-on experience in C# programming and Unity project organization. A robotics engineer may be able to use the Unity environment as a testbed.
Automotive Engineer
Automotive engineers design and develop vehicles and their systems. This career typically requires an advanced degree. This course may be useful for an automotive engineer interested in simulating vehicle dynamics and control systems in a virtual environment. While the course focuses on helicopter physics, the principles of rigid body dynamics, control algorithms, and sensor modeling are transferable to automotive engineering. The course provides hands-on experience in C# programming and Unity project organization. An automotive engineer may be able to use the Unity environment as a testbed.
Flight Instructor
Flight instructors teach people how to fly aircraft. This career typically requires a commercial pilot license. This course may be useful for a flight instructor looking to create interactive training materials for their students. While the course focuses on helicopter physics and simulation, the principles of flight dynamics and control are applicable to all types of aircraft. A flight instructor can use the knowledge gained to create engaging and informative training materials. This can help teach about the physics of flight, which is a core concept.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Intro to Unity 3D Physics: Helicopters.
Provides a deep dive into the theory and implementation of physics engines. It covers topics such as collision detection, rigid body dynamics, and constraint solving. While not specific to Unity, it offers a strong foundation for understanding the underlying principles behind Unity's physics engine. This book is more valuable as additional reading to expand your knowledge.
Comprehensive guide to collision detection algorithms used in games and simulations. While collision detection is not a primary focus of this course, understanding the underlying principles can be helpful for optimizing performance and creating more realistic interactions. This book is commonly used by industry professionals. It is more valuable as additional reading than as a current reference.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser