I am working on a sandbox game that allows you create planes and fly them. The building system is block like but you can change the grid.
The problem I am having is how I should implement a wing panel. I already have one in the game but the script I wrote for it only produces “lift”, but how would I get to producing drag too? Players have been complaining over spinning horizontally when their plane tails really shouldn’t make that possible.
The game works by putting the client in charge of every single block when the build is spawned in, so interactions are fast. If needed, a remote even is placed in the block so it can update preset attributes on server side. (The remote event is pretty safe)
I have looked through dozens of forums talking about this but they all lead to complex equations that I have not learned yet. Again, the only script I have only seems to produce some sort of lift and not drag.
What are you using right now to determine lift? There are a lot of models that are accurate enough for games like this but as you said some of them are very complex.
I don’t fully understand this. Can you show what this is being assigned to and what each of the inputs are? Maybe with a mspaint drawing of what its doing?
Well this is expected that plane will spin horizontally bc line force only effect velocity and not orientation so to fix this u would need Align Orientation to effect orientation.
If u set Aligin orientation attachment with a goal orientation to CFrame.lookAt from wing panel to wing position + velocity then it should make fast turns very hard in high speeds, still this is simple example and u still will need to make algin not effect wing panels in diffrent positions to plane velocity, make wing size and velocity effect MaxTorque and make it only effect 1 axe relative to wing panel orientation
(and there still is a chance that it will do nothing)
Basicly add constant Angular velocity to some angle so it will need more force to change it