
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.
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.
Set up compound colliders for the helicopter by creating fuselage, tail, mast, and skid components with capsule colliders, oriented on the z-axis, and test in play.
Set up Unity post-processing with the package manager, create a global and post-process volume, attach a post-process layer to the camera, and apply bloom, color grading, and vignette.
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.
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 keep working through our Keyboard Inputs.
Lets keep working through our Keyboard Inputs.
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.
Lets talk about the things we are going to learn in this section.
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.
Learn how to move a helicopter in Unity by applying RPM-driven engine force to the main and tail rotors, exploring four forces, lift and torque, and tuning with animation curves.
Explore the four forces that drive helicopter flight—thrust, drag, gravity, and lift—and learn how engine torque turns RPM to spin the rotor disc, creating lift to raise the helicopter.
Stub in helicopter engine script by defining variables and methods to compute rpm and horsepower. Normalize outputs to 0–1, implement update engine method with throttle input, and include power delay.
Hook the helicopter engine by wiring an engines list to the controller and attaching the engine script to update throttle input from keyboard or Xbox.
Calculate horsepower and RPMs from throttle input in Unity, using max horsepower and max RPM, with a power delay to ramp the engine for helicopter realism.
Explore how to use Unity animation curves to model engine power, calibrate throttle with curves, and evaluate curve values to map input to power for realistic helicopter physics.
Implement a sticky throttle in Unity to simulate helicopter throttle behavior, using a 0–1 input, raw throttle, and a time delta clamped sticky throttle across keyboard, Xbox, and mobile.
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.
Stubbing in the rotor controller, this lecture explains managing the main rotor with cyclic pitch and the tail rotor with left-right pitch, using Unity and engine RPM input.
Learn to use C# interfaces in Unity to create modular helicopter rotors; implement the i heli rotor interface to enable a controller to update main and tail rotors via contract.
Convert engine rpm to degrees per second for helicopter rotors in Unity. Use rpm × 360 ÷ 60, applied to main and tail rotors with delta time.
Learn to simulate helicopter blade blur in Unity with a blurred quad, rotor blur material, and an interface-driven IP rotor player that ties blur to rotor speed.
Hook up the rotor material and swap between blurred textures to drive rotor blur in Unity. Expose blur textures and use the _MainTex shader property to swap textures at runtime.
Implement a rotor blur system in Unity that turns off geometry blades when blur texture ID passes a threshold. Refactor into a single handle blade method for tail rotors.
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.
Learn to create lift and drag, hook up sticky collective and cyclic controls, and use pedals for tail rotor correction to spin the helicopter in place.
Develop and wire the flight characteristics script to drive helicopter physics in Unity, applying lift, cyclic, and pedals with forces and torque on the rigid body, updating characteristics.
Exposes lift parameters and ties collective input to an exponential lift curve, while converting rotor dps to rpm and normalizing rpm to drive blade speed for takeoff control.
Learn to implement an auto leveling system for a helicopter by calculating leaning angles with flat forward and right vectors, using dot products, normalization, and debug visualization to stabilize flight.
Implement an auto leveling system for a helicopter in Unity 3D by using dot products of up and forward axes to compute corrective rigidbody forces.
Apply the cyclic force using the dot product of forward and right vectors, clamp the result, and scale with a cyclic force multiplier to speed up the helicopter's rigid body.
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!