Overview
A very brief introduction to the FIN feature and finForce variable.
FIN Feature
The FIN feature is a new feature added in a recent update that can be applied to any modded block, in the same vein as CANNON, THRUSTER, LAUNCHER, and others. The update notes don’t provide much detail on exactly WHAT the fin does however, so I’d like to share what I’ve learned through experimentation.
Pseudo-Aerodynamics
As one might expect, the FIN component is designed to simulate the control fins that real rockets and missiles use to steer and/or stay on a straight path. These fins only work in Earth’s atmosphere, because they work by redirecting airflow to steer towards a target, or simply creating drag toward the back of the rocket that keeps the front facing forward.
The FIN in Reassembly is very simple in terms of its physics simulation: it creates drag along a single axis, that being the horizontal one relative to the block’s facing direction. This means that fins can move forward and backward without issue, but encounter significant resistance moving left or right. This effect may be more technically referred to as “anisotropic friction”.
An easy way to think about this is to imagine the missile or spaceship as a car, viewed from above. The fins, which can be thought of as “wheels”, have no friction when moving forward or backward, because they roll. However, they have lots of friction left-to-right, which is why you don’t slide off the road every time you turn.
Practical Application
Applying FIN to missiles and drones has the effect of stopping them from drifting, allowing them to perform much tighter and more-precise turns, though drones may not necessarily need this feature, and missiles will still usually miss fast-moving targets due to the fact that they simply fly straight toward the enemy instead of plotting an intercept course like cannon shots. A drone’s fin will always stop it from drifting left or right, and can’t be customized for other directions.
On the other hand, ship parts with FIN attached can also be handy. If you don’t like your ship drifting left to right you can use fins aligned to your ship’s facing direction to keep them under control. The benefit of having ship parts with FIN components is that they can be rotated to any desired direction, allowing you to control exactly which axes of movement your ship resists, and which ones it smoothly coasts through. However, regardless of which ship part has the FIN component, the fin’s braking force is applied directly to the ship’s center of mass, meaning you can’t use it to, for instance, align the ship to its movement direction by placing the fin at the back of the ship similar to a rocket.
FIN is able to be controlled by the ACTIVATE function, which allows you to bind it to a utility key and activate it arbitrarily. This can be useful to control when you want to drift and when you want tight turning control, or as an activate-able “airbrake” to slow you down only when holding a key. The Terran afterburner features the FIN component in tandem with ACTIVATE, which gives your ship much tighter maneuverability while the afterburner is active in addition to its immense thrust.
A fin’s drag force is decided by the variable *finForce*. Like most other physics-based numbers, it can be difficult to know exactly what the number represents, so you’ll have to experiment. In my experience, a finForce of 10.0 was sufficient to significantly decrease drifting in a missile with a mass of 6.0. When using the fins to control a ship’s drift, I found significant sideways drag using two fins, each with a finForce of 1,000,000. With sufficient finForce, you can actually drive a ship almost exactly like a battle tank, able to turn in place but not prone to drifting sideways.
I should also talk about negative finForce. The update log claims that negative finForce acts as drag. I presume this to mean it’s supposed to exert drag in all directions. However, any time I try to incorporate negative finForce into my mod files, the game freezes upon loading the save game (not completely, the cursor is still movable and visible, and Windows doesn’t recognize it as Not Responding, but ships don’t move, camera doesn’t follow mouse, and no controls respond, including the X at the top right of the window to close the game). I’ll update this log as soon as I find out what’s wrong, or if it’s a bug, as soon as it’s fixed.
Summary
The FIN block feature creates drag along that block’s local X axis (perpendicular to its facing direction) that prevents drifting. Using this feature on missiles gives them the ability to make tighter curves, improving successful hit rate. Adding it to ship parts allows you to customize your ship’s drag along any vector, which can be handy for preventing excessive drifting, locking space stations in place, and creating supermaneuverable ships, among other things.
I hope this helps anybody looking for info on the FIN feature and how to use it. Happy modding!