Apologizes in advance from a noob I’m pretty new to Unity and coding in general and I’m having a few problems.

I have a flat-ish cube and I am trying to AddForceAtPosition in each corners transform.localRotation (Y axis) depending on gamepad input. However, the force is only ever applied in the Y axis of the world space (straight up).

I’m basically trying to make a Quadcopter. I’m sure there are easier ways of faking the same sort of movement but I’m more interested in the process of how the mixing of the motors works in real life.

Here’s the code I made…

```
public Vector3 frontLeftRotor; //location of Rotors
public Vector3 frontRightRotor;
public Vector3 rearLeftRotor;
public Vector3 rearRightRotor;
public float speed; //Throttle Multiplier
float currentThrottle = 0.0f; //throttle
float currentRotation = 0.0f; //Rotation
float currentForwardBias = 0.0f; //forward lean
void Update()
{
currentThrottle = state.ThumbSticks.Left.Y; // Get Input (XinputDotNet)
currentRotation = state.ThumbSticks.Left.X;
currentForwardBias = state.ThumbSticks.Right.Y;
Vector3 rotorLiftFrontLeft = new Vector3 (0, currentThrottle * speed, 0); //Set Direction and Throttle
Vector3 rotorLiftFrontRight = new Vector3 (0, currentThrottle * speed, 0);
Vector3 rotorLiftRearLeft = new Vector3 (0, currentThrottle * speed, 0);
Vector3 rotorLiftRearRight = new Vector3 (0, currentThrottle * speed, 0);
player1.AddForceAtPosition(rotorLiftFrontLeft,(frontLeftRotor)); //AddForceAtPosition, this much force, at this position
player1.AddForceAtPosition(rotorLiftFrontRight,(frontRightRotor));
player1.AddForceAtPosition(rotorLiftRearLeft,(rearLeftRotor));
player1.AddForceAtPosition(rotorLiftRearRight,(rearRightRotor));
transform.localRotation *= Quaternion.Euler (currentForwardBias, currentRotation, 0); //Only here for testing, adds lean to cube to test AddForceAtPosition direction
}
```

Any help would be appreciated.