UDN
Search public documentation:
SCopterReference
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
SCopter Reference
Create on 9/15/03 by Chris Linder (DemiurgeStudios?) for v2226.Updated on 9/16/03 by Chris Linder (DemiurgeStudios?), first public release. Updated on 2005-03-23 by Michiel Hendriks, v3323 update.
Related Documents
SVehicleReference, SVehicleCreation, SVehicleMayaMAXFix, KarmaReferenceIntroduction
SCopters are vehicles that hover, have six degrees of freedom in their linear movement (up/down, left/right, forward/back), and can turn towards a particular compass direction. This document goes over the editable variables in SCopter and how to use them. It also gives general overview of how SCopters operate and what they can do. Just like with SCar this class is not longer calls SCopter in v3323 but it's called ONSChopperCraft. To keep the information and references consistent throughout the UDN it will be refered to as SCopter and not ONSChopperCraft.Old name (2226) | New name (3323) |
SCopter | ONSChopperCraft |
---|
Editable SCopter Variables
Thrust and Linear Damping
MaxThrustForce
var() float MaxThrustForce
This is the max forward (or back) thrust applied when you press forward (or back). The amount of thrust is based on how much the "throttle" is pressed (see the Controls sections of the SVehicle doc). The thrust is applied in the direction the copter is facing on the X-Y plane.
LongDamping
var() float LongDamping
This is the damping of linear velocity in the longitudinal direction (the direction the copter is facing on the X-Y plane). This damping will be applied in inverse to how much the throttle is being pressed. Damping should never be negative.
MaxStrafeForce
var() float MaxStrafeForce
This is the max sideways thrust applied when you press left or right. The amount of thrust is based on how far the "steering" is turned (see the Controls sections of the SVehicle doc). The thrust is applied perpendicular to the direction the copter is facing on the X-Y plane.
LatDamping
var() float LatDamping
This is the damping of linear velocity in the latitudinal direction (perpendicular to the direction the copter is facing on the X-Y plane). This damping will be applied in inverse to how much the "steering" is turned. Damping should never be negative.
MaxRiseForce
var() float MaxRiseForce
This is the max vertical thrust applied when you press up or down. The amount of thrust is based on how far the "rise" input (see the Controls sections of the SVehicle doc). The thrust is applied on the world Z axis (up and down).
UpDamping
var() float UpDamping
This is the damping of linear velocity in the vertical direction. This damping will be applied in inverse to how much the "rise" input is pressed. Damping should never be negative.
Turning
You turn SCopters by pointing the player's view (using the mouse or thumb-stick on a console) in the direction you want to go and the SCopter will turn towards that direction. The SCopter only turns on the X-Y plane so with pitch of the player's view is ignored. The greater the difference between the direction the copter is pointing and the direction the view is facing, the harder the copter will turn.TurnTorqueFactor
var() float TurnTorqueFactor
TurnTorqueFactor will be multiplied by a number from -1 to 1 based on if the copter is turning as hard as it can either left or right (note: in most cases the turning multiplier will be much closer to 0 than 1 or -1. This is because MaxYawRate is usually small). The result of this multiply is the torque with which the copter will try to turn (before it is clamped by TurnTorqueMax).
TurnTorqueMax
var() float TurnTorqueMax
This is the maximum amount of torque (either positive or negative) that will be applied to turn the copter. See TurnTorqueFactor for an explanation of how the amount of torque is calculated.
MaxYawRate
var() float MaxYawRate
This is maximum rate, in radians per second, at which the copter can turn. The larger this number is, the less effect it will have clamping the rotation and consequently, the copter will use more torque to turn (see TurnTorqueFactor). Making this rate larger will allow the copter to turn faster and also use more torque but if TurnTorqueMax is too small, this effect might be hard to notice.
TurnDamping
var() float TurnDamping
TurnDamping is the rotational damping for turning. The faster the SCopter is turning (rotating about the Z axis) the more damping will be applied. Damping is accomplished by applying negative torque on the Z axis. TurnDamping should always be positive.
Pitching
SCopters pitch based on the "throttle". (see the Controls sections of the SVehicle doc). This means that if the throttle is pressed forward, the copter will point its nose down. The pitch of the copter is purely cosmetic.PitchTorqueFactor
var() float PitchTorqueFactor
PitchTorqueFactor will be multiplied by the "throttle" of SCopter (see the Controls sections of the SVehicle doc). The result of this multiply is the torque used to pitch the copter. The copter only pitches forward so far and does not spin about the Y axis because the Karma properties for SCopters have bKStayUpright set to true.
PitchTorqueMax
var() float PitchTorqueMax
This is the maximum amount of torque (either positive or negative) that will be applied to pitch the copter. See PitchTorqueFactor for an explanation of how the amount of torque is calculated.
PitchDamping
var() float PitchDamping
TurnDamping is the rotational damping for pitching. The faster the SCopter is pitching (rotating about the Y axis) the more damping will be applied. Damping is accomplished by applying negative torque on the Y axis. PitchDamping should always be positive.
Rolling
SCopters roll based on two things; the first is if they are turning, and the second is if they are strafing, a.k.a. "steering". (see the Controls sections of the SVehicle doc). The roll of the copter is purely cosmetic.RollTorqueTurnFactor
var() float RollTorqueTurnFactor
RollTorqueTurnFactor is very similar to TurnTorqueFactor because both are multiplied by a number which represent how hard the copter is turning. The result of this multiply is used to roll in the direction of the turn. The copter only rolls so far and does not spin about the X axis because the Karma properties for SCopters have bKStayUpright set to true.
RollTorqueStrafeFactor
var() float RollTorqueStrafeFactor
This is used to roll the copter when it is strafing. Strafing is based on the "steering" (see the Controls sections of the SVehicle doc) input of the SCopter. RollTorqueStrafeFactor is very simlar to PitchTorqueFactor.
RollTorqueMax
var() float RollTorqueMax
This is the maximum amount of torque (either positive or negative) that will be applied to roll the copter. See RollTorqueTurnFactor and RollTorqueStrafeFactor for an explanation of how the amount of torque is calculated.
RollDamping
var() float RollDamping
TurnDamping is the rotational damping for rolling. The faster the SCopter is rolling (rotating about the X axis) the more damping will be applied. Damping is accomplished by applying negative torque on the X axis. RollDamping should always be positive.
Hovering
A small amouth of force and torque is applied to make the vehicle to appear to be hovering. At set intervals the force and torque are reset.MaxRandForce
var() float MaxRandForce
The maximum random force and torque to apply in each directory, the X, Y and Z components are calculated independently.
2 * (appFrand() - 0.5) * MaxRandForce;
RandForceInterval
var() float RandForceInterval
The number of seconds between recalculations of the random force.
MPH meter
The MPH meter is the UI element at the bottom of the HUD. It displays the forward speed of the SCopter. These variables no longer exist in v3323, however the MPH is still caculated and stored in the CopterMPH variable.MPHMeterPosX
var() float MPHMeterPosX
This is the X position of the MPH meter on the HUD. Position is given as a ratio with 0.0 being the far left and 1.0 being the far right.
MPHMeterPosY
var() float MPHMeterPosY
This is the Y position of the MPH meter on the HUD. Position is given as a ratio with 0.0 being the top and 1.0 being the bottom.
MPHMeterScale
var() float MPHMeterScale
This the scale that converts CopterMPH to a screen ratio. CopterMPH is divided by MPHMeterScale to get the ratio of the HUD the MPH meter should take up.
MPHMeterSizeY
var() float MPHMeterSizeY
MPHMeterSizeY is the screen ratio for how tall the MPH meter should be on the HUD.
Not Used
StopThreshold
var() float StopThreshold
StopThreshold is not used.
UprightStiffness
var() float UprightStiffness
UprightStiffness is not used.
UprightDamping
var() float UprightDamping
UprightDamping is not used.