Jump to content

Mirrored control surfaces


Recommended Posts

Hello,

Currently any control surface with "mirrorRefAxis" will cause the control surface to visually actuate in the opposite direction. Would it be difficult to make a plugin that fixes the issues caused by mirrored control surfaces? Would anyone be willing to tackle this?

Thanks!

Link to comment
Share on other sites

1 minute ago, Boris-Barboris said:

You mean, in editor? And which csurface are you describing, stock or AA's?

I have a custom tail fin in the AoA Tech mod that is asymmetrical in nature. So I use mirrorRefAxis to make sure the orientation is proper. However, in the flight scene, when pitching up or down, the original part actuates correctly, but the movement of the mirrored control surface is also mirrored and therefore opposite of the original part. So pitching up will cause the two tailfins to move opposite of each other as opposed to moving in unison. It's purely visual as aerodynamically, they provide the proper lift, but it is annoying to see.

 

I'll post a video of it later.

Link to comment
Share on other sites

The craft file was not edited manually, it's been a long standing bug that used to even affect the B9 procedural wings, because it used to use mirrorRefAxis, I don't think they use it anymore because of this same issue. mirrorRefAxis can be found in the Squad Fixed Landing Gear, all it does it mirror the geometry on the defined axis, therefore meshes can be asymmetrical, yet properly mirrored when activating symmetry. 

See below for the wing configs

PART
{
	name = AoAero.TESTFin
	module = Part
	author = Martinezfg11
	rescaleFactor = 1
	mirrorRefAxis = 0, 0, -1
	node_attach = 0.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1
	TechRequired = aerodynamicSystems

	entryCost = 3800
	cost = 600
	category = Aero
	subcategory = 0
	title = TESTfin 001
	manufacturer = AoA Technologies
	description = Control surface for testing the new KSP Symmetry.
	attachRules = 0,1,0,1,0
	mass = 0.125
	thermalMassModifier = 8.0
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = none
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 2
	crashTolerance = 12
	maxTemp = 2400
	explosionPotential = 0.1
	fuelCrossFeed = True
	bulkheadProfiles = srf
	MODEL
	{
		model = AoATech/Parts/Aero/TestFin/model
	}
	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.6
		deflectionLiftCoeff = 0.61		// 2.18m^2
		ctrlSurfaceRange = 25
		ctrlSurfaceArea = 1
		actuatorSpeed = 20
		transformName = ctrlSurf
	}
}

@PART[AoAero.TESTFin]:FOR[FerramAerospaceResearch]
	{
		@module = Part
		@maximum_drag = 0
		@minimum_drag = 0
		@angularDrag = 0
		@dragCoeff = 0
		@deflectionLiftCoeff = 0
			!MODULE[ModuleLiftingSurface] {}
		MODULE
		{
			name = FARControllableSurface
			MAC = 0.97528
			MidChordSweep = 28.658
			b_2 = 1.80893
			TaperRatio = 0.38936
			maxdeflect = 20
					transformName = ctrlSurf
		}
	}

 

Link to comment
Share on other sites

I gave it a quick look, but didn't write anything. It looks like the way mirrorRefAxis is implemented is to set scale for some part to negative value for one of the axis, so control surface module will need to check for this fact and reverse visual rotation in this special case, but that's just a thought.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...