Jump to content

converting from ModuleWheel to ModuleWheelBase


Recommended Posts

I'm currently tinkering with trying to get an old wheel module working again by way of trying to update the cfg file to bring it up to date with the recent KSP cfg requirements.
The previous cfg was using the old ModuleWheel module from way back. I'm current having troubles getting the change to work.

One question, was the stock change back when they moved away from 'ModuleWheel' more then just updating the CFG file? Am I fighting a lost cause as the actual model need correcting? (I don't have access to the source files)

 

I'm thinking was that I need to utilze the ModuleWheelDeployment instead of  ModuleAnimateGeneric, but I thougth that would work as a temporary fix until I can get friction working on the wheels...

old Wheel cfg

PART
{
name = ASET_PRC_Wheel
module = Part
author = Alexustas

MODEL
{
   model = ASET/PRC/KRoverWheel
}

scale = 1
rescaleFactor = 1

node_stack_wheelmount = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_stack_bottom = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_attach = 0.3941842, 0.06158525, 0.00, 1.0, 0.0, 0.0, 1

TechRequired = fieldScience
entryCost = 5200

cost = 550
category = Utility
subcategory = 0
title = ASET PRC Wheel
manufacturer = ASET
description = 

attachRules = 1,1,0,1,0

mass = 0.05
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 1
crashTolerance = 10
maxTemp = 600 

crashTolerance = 50
breakingForce = 50
breakingTorque = 50


//----------------------- Wheel Stuff ---------------------------


MODULE
{
	name = ModuleWheel
	hasMotor = true
	resourceName = ElectricCharge
        resourceConsumptionRate = 1.0
	canSteer = true
	controlAxisType = Forward
	steeringModeType = AutomaticSteer
	brakeTorque = 200
	brakeSpeed = 0.6
	impactTolerance = 200
	overSpeedDamage = 60
	WHEEL
	{
	    wheelName = wheel
	    wheelColliderName = wheelCollider
	    suspensionTransformName = suspensionTraverse
	    suspensionNeutralPointName = suspensionNeutralPoint
	    damagedObjectName = bustedwheel
	    rotateX = 1
	    rotateY = 0
	    rotateZ = 0
	}

	steeringCurve
 	{
   	 key = 0 16
	 key = 10 9
  	 key = 30 2
 	}

	torqueCurve
	{
	  key = 0 25 0 0
	  key = 20 10 0
      key = 30 5 0 0
	  key = 34 0 0 0
	}

}

//--------------------------Wheel Constraints---------------------------


MODULE
{
	name = FXModuleLookAtConstraint
	CONSTRAINLOOKFX
	{
		targetName = SuspArmMountAimLoc
		rotatorsName = K-WheelSuspension
	}

	CONSTRAINLOOKFX
	{
		targetName = K-WheelSuspension
		rotatorsName = SuspArmMountAimLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainCylinderLoc
		rotatorsName = SuspMainPistonLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainPistonLoc
		rotatorsName = SuspMainCylinderLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDampeBottomLoc
		rotatorsName = SuspDamperUpLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDamperUpLoc
		rotatorsName = SuspDampeBottomLoc
	}

}

MODULE
{
	name = FXModuleConstrainPosition
	matchRotation = true
	matchPosition = false
	CONSTRAINFX
	{
		targetName = steering
		moversName = trackSteering
	}
	
}


//------------------- ANIMATION --------------------------------------------


  MODULE
  {
      name = ModuleAnimator
      animationName = KRoverWheelRetractionAnim           //Name of the animation from the model
      guiEnableName = Expand Wheel                   //Part tooltip name to display for deployment
      guiDisableName = Retract Wheel                 //Part tooltip name to display for retraction


      animationSpeed = 0.25                        //Normalized speed of the animation (1 is usually good)

      oneShot = false                            //If the animation can only be played once
      activeEditor = true                       //If the part toolitp is visible in the editor
      activeFlight = true                      //If the part tooltip is visible in flight
      activeUnfocused = true                     //If the part tooltip is visible from EVA
      unfocusedRange = 5                         //The range from which the part tooltip is visible from in EVA
  }


//----------------- KAS ----------------------------------


  MODULE
  {
      name = KASModuleGrab
      evaPartPos = (-0.0, 0.50, -0.25)
      evaPartDir = (0,1,0)
      attachNodeName = wheelmount
      customGroundPos = true
      dropPartPos = (0.0, 0.0, 1.00)
      dropPartRot = (0.0, 1.0, 0.0)
      bayType = RoverWheel
      bayNode = wheelmount
      bayRot = (-1.0, 0.0, 0.0)
      storable = true
      storedSize = 8
  }


}



my cfg attempt so far with poking around using Sarbians Debugstuff mod to identify like transforms I need to specify.

PART
{
name = ASET_PRC_Wheel
module = Part
author = Alexustas

MODEL
{
   model = ASET/PRC/KRoverWheel
}

scale = 1
rescaleFactor = 1

node_stack_wheelmount = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_stack_bottom = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_attach = 0.3941842, 0.06158525, 0.00, 1.0, 0.0, 0.0, 1

TechRequired = fieldScience
entryCost = 5200

cost = 550
category = Utility
subcategory = 0
title = ASET PRC Wheel
manufacturer = ASET
description = 

attachRules = 1,1,0,1,0

mass = 0.05
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 1
crashTolerance = 10
maxTemp = 1200 

crashTolerance = 50
breakingForce = 50
breakingTorque = 200

	bulkheadProfiles = srf
//----------------------- Wheel Stuff ---------------------------

MODULE
	{
		name = ModuleWheelBase
		
		wheelColliderTransformName = wheelCollider		
		wheelTransformName = wheel
		//KRoverWheel(Clone)
		//
		wheelType = MOTORIZED

		// setting this to true will override the radius and center parameters
		FitWheelColliderToMesh = False		
		radius = 0.21
		center = 0,0,0
		mass = 0.040
		groundHeightOffset = 0
				
		TooltipTitle = #autoLOC_502081 //#autoLOC_502081 = Rover Wheel
		TooltipPrimaryField = #autoLOC_6004045 //#autoLOC_6004045 = Motorized
	}
	MODULE
	{
		name = ModuleWheelSuspension
		baseModuleIndex = 0
		suspensionTransformName = suspensionNeutralPoint
		//suspensionTraverse
		suspensionDistance = 0.1
		targetPosition = 0.0
		springRatio = 12
		damperRatio = 1.0
		maximumLoad = 5.0
	}	
	MODULE
	{
		name = ModuleWheelSteering
		baseModuleIndex = 0
		
		caliperTransformName = suspensionNeutralPoint
		
		steeringResponse = 2
		steeringCurve
		{
			 key = 0 16
			 key = 10 9
			 key = 30 2
		}
	}
	MODULE
	{
		name = ModuleWheelMotor
		baseModuleIndex = 0
		
		maxRpm = 42
		driveResponse = 2
		
		torqueCurve
		{
		  key = 0 25 0 0
		  key = 20 10 0
		  key = 30 5 0 0
		  key = 34 0 0 0
		}
		
		RESOURCE
		{
			name = ElectricCharge
			rate = 1.0
		}		
		idleDrain = 0.0
	}
	MODULE
	{
		name = ModuleWheelBrakes
		baseModuleIndex = 0
		
		maxBrakeTorque = 0.5
		brakeResponse = 1
	}
	MODULE
	{
		name = ModuleWheelDamage
		baseModuleIndex = 0
		
		damagedTransformName = bustedwheel
		undamagedTransformName = wheel
		
		stressTolerance = 250
		impactTolerance = 100
		deflectionMagnitude = 1.0
		deflectionSharpness = 2.0
		slipMagnitude = 15
		slipSharpness = 2.0
	}	

//--------------------------Wheel Constraints---------------------------


MODULE
{
	name = FXModuleLookAtConstraint
	CONSTRAINLOOKFX
	{
		targetName = SuspArmMountAimLoc
		rotatorsName = K-WheelSuspension
	}

	CONSTRAINLOOKFX
	{
		targetName = K-WheelSuspension
		rotatorsName = SuspArmMountAimLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainCylinderLoc
		rotatorsName = SuspMainPistonLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainPistonLoc
		rotatorsName = SuspMainCylinderLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDampeBottomLoc
		rotatorsName = SuspDamperUpLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDamperUpLoc
		rotatorsName = SuspDampeBottomLoc
	}

}

MODULE
{
	name = FXModuleConstrainPosition
	matchRotation = true
	matchPosition = false
	CONSTRAINFX
	{
		targetName = steering
		moversName = trackSteering
	}
	
}


//------------------- ANIMATION --------------------------------------------



MODULE
{
	name = ModuleAnimateGeneric
	animationName = KRoverWheelRetractionAnim
	startEventGUIName = Expand Wheel 
	endEventGUIName = Retract Wheel 
	actionGUIName = Expand Wheel1
}
//----------------- KAS ----------------------------------

	MODULE
	{
		name = ModuleKISItem
		volumeOverride = 1000
		stackable = false
		allowPartAttach = 2 
		allowStaticAttach = 0
	}

	
	MODULE
	{
		name = ModuleTestSubject
		environments = 15
		useStaging = False
		useEvent = True
	}	
	
}

 

Link to comment
Share on other sites

Hi, there's quite a few hierarchical  changes between the two version of wheel, and ( in my experience) the only way to sort  it out is to run the part back through unity.  The wheel collider setup between the two is not only physically different , the latest version requires a rigid body be fitted  and the removal of the Bounds box,  but the assembly is placed without a parent which in hierarchy terms is a huge change .

Had a rummage through my imgur stuff and found a pic of the old hierarchy, note, that this is not a stock hierarchy BUT the wheel collider and main elements are in the correct location for the module wheel type cfg.  When compared with the one below for module wheelbase the differences are quite obvious , in the upper image the WC is a child of suspension whereas in the lower the WC is only a child of the main (empty) game object, this makes a huge difference in the way the wheel functions and interacts with the controlling code

module wheel hierarchy

xSR5aLv.png

module wheelbase hierarchy

UIRnQxR.png

Edit, after looking at the above hierarchy which is now a couple of years old,  I should point out that there's a lot of stuff in there that i no longer bother with, collision enhancers, otherwise known as ground snagger's  are no longer used or necessary .  The only colliders really needed in the whole setup is the wheel collider  and a  simple collider for the attachment point,  it's been found that if anything  rather than making wheels easier to use or place,  excess collision causes all kinds of peculiar issues.

Edited by SpannerMonkey(smce)
Link to comment
Share on other sites

On 2/2/2019 at 5:51 AM, wile1411 said:

Ah - thanks. I don't have the original model, so I was hoping to just map the current transforms to the appropriate sub-modules. So it looks like it's not possible at the moment unless @alexustas comes back.

Hi,

please tell me what should i do ??

Link to comment
Share on other sites

8 hours ago, alexustas said:

Hi,

please tell me what should i do ??

Oh wow - welcome back  @alexustas to posting! I've seen you lurking for a while and still keeping an eye out for the MAS videos :)
I know that @SpannerMonkey(smce) comments above point to a few specific things to address like removing the Bounds box.

Are you able to post a list of the current hierarchy for the PRC wheels? Maybe SM can give specific advice on what to change when knowing what you've got now.

Also, both @Deimos Rast and @Mecripp have made attempts of adjusting the PRC wheels to the latest version that KSP uses and ran into issue. Maybe their input could be useful here.

 

Link to comment
Share on other sites

Just thought I would drop by and say that the KSPWheel mod/API -might- be able to accommodate whatever rigging setup your part is using.  It was written specifically with compatibiilty of old Unity-4 era riggings in mind (though can also handle the new riggings).  It is currently used in KerbalFoundries, where many of those models have not been updated since the KSP 0.90 era, so I'm sure we could figure something out :)

Feel free to drop by the thread and take a look, or poke me for questions.

 

Link to comment
Share on other sites

  • 2 weeks later...
On 2/10/2019 at 9:23 AM, wile1411 said:

Are you able to post a list of the current hierarchy for the PRC wheels? Maybe SM can give specific advice on what to change when knowing what you've got now.

here is a video with detalied model overview

 

Edited by alexustas
Link to comment
Share on other sites

I tried to go through object while reviewing your video, but I'm seriously lacking in knowledge for this. Having said that, I'm going to give it a shot and make a recommendation anyway. :) 

@alexustas - Can you remove the "Bounds" BoxCollider that is currently in the PRC Wheel model? This was one of @SpannerMonkey(smce) recommendations. As you can see in the screenshot, it's that specific collider that has contact with the ground and is causing the wheel model (also the wheel collider as well) to float and have no traction. Without that, I think we'll be back in business.

D7Ca2kZl.png5uZQrkJl.png

 

Breaking down each of the new modules used in the "modern" wheel config....


ModuleWheelBase - Uses wheelCollider & wheel, may need to tweak the radius number. For reference, I've used the Making history Rover Wheel cfg as a starting point.

Spoiler

MODULE
{
	name = ModuleWheelBase
        
    wheelColliderTransformName = wheelCollider      			//Pretty sure this is correct
    wheelTransformName = wheel						//The wheel is the part that spins, so I think this is good.
    wheelType = MOTORIZED

    // setting this to true will override the radius and center parameters
    FitWheelColliderToMesh = False        
    radius = 0.24
    center = 0,0,0
    mass = 0.04
    groundHeightOffset = 0
                
    TooltipTitle = PRC Rover Wheel
    TooltipPrimaryField = #autoLOC_6004045 //#autoLOC_6004045 = Motorized
}

 

ModuleWheelSuspension - not sure on this as the "Bounds" BoxCollider is in the way and can't test suspension movement that well. Can't see movement with either option of suspensionTraverse & suspensionNeutralPoint

Spoiler

MODULE
{
	name = ModuleWheelSuspension
	baseModuleIndex = 0
	suspensionTransformName = suspensionTraverse			//Need to verify if correct transform. Should it be 'suspensionNeutralPoint'?
	//suspensionTraverse
	suspensionDistance = 0.1
	targetPosition = 0.0
	springRatio = 12
	damperRatio = 1.0
	maximumLoad = 5.0
}	

 

ModuleWheelSteering - might be good, it uses same transform as old file, but within new cfg structure. Steering responds correctly.

Spoiler

MODULE
{
	name = ModuleWheelSteering
	baseModuleIndex = 0
	
	caliperTransformName = trackSteering		//Seems to be correct and moves wheels where steering left/right
	
	steeringResponse = 2
	steeringCurve
	{
		key = 0 25
		key = 5 25
		key = 30 20
	}
}

 

ModuleWheelMotor    - No model reference, should be fine

Spoiler

MODULE
{
	name = ModuleWheelMotor
	baseModuleIndex = 0
		
	maxRpm = 42
	driveResponse = 2
	
	torqueCurve
	{
		key = 0 0.800 0 0 
		key = 5 0.70 0 0
		key = 20 0.200 0 0
		key = 30 0.0 0 0
	}
	
	RESOURCE
	{
		name = ElectricCharge
		rate = 1.0
	}		
	idleDrain = 0.0
}

 

ModuleWheelBrakes    - No model reference, should be fine

Spoiler

MODULE
{
	name = ModuleWheelBrakes
	baseModuleIndex = 0
	
	maxBrakeTorque = 0.5
	brakeResponse = 1
}

 

ModuleWheelDamage - using bustedwheel & wheel. Can't seem to break the wheel yet.

Spoiler

MODULE
{
	name = ModuleWheelDamage
	baseModuleIndex = 0
	
	damagedTransformName = bustedwheel		//Need to verify if this is correct transform
	undamagedTransformName = wheel			//Need to verify if this is correct transform
	
	stressTolerance = 250
	impactTolerance = 100
	deflectionMagnitude = 1.0
	deflectionSharpness = 2.0
	slipMagnitude = 15
	slipSharpness = 2.0
}

 

FXModuleLookAtConstraint  - uses K-WheelSuspension - guessing this might be still good as the module hasn't changed from old KSP cfg

Spoiler

MODULE
{
	name = FXModuleLookAtConstraint
	CONSTRAINLOOKFX
	{
		targetName = SuspArmMountAimLoc
		rotatorsName = K-WheelSuspension		// Need to check if correct Transform
	}

	CONSTRAINLOOKFX
	{
		targetName = K-WheelSuspension			// Need to check if correct Transform
		rotatorsName = SuspArmMountAimLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainCylinderLoc
		rotatorsName = SuspMainPistonLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainPistonLoc
		rotatorsName = SuspMainCylinderLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDampeBottomLoc
		rotatorsName = SuspDamperUpLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDamperUpLoc
		rotatorsName = SuspDampeBottomLoc
	}

}

 

FXModuleConstrainPosition - removed from cfg as it isn't on other "modern" wheel cfg files
FSanimateGeneric (Requires Firespitter) - This seems to animate as expected and allows specifying EVA range to animate/deplay as the previous animation module did. However, I'm not sure on @alexustas view on adding Firespitter as a dependancy

Spoiler

    MODULE
    {
        name = FSanimateGeneric
        animationName = KRoverWheelRetractionAnim
        animSpeed = 0.25
        startEventGUIName = Expand Wheel
        endEventGUIName = Retract Wheel
        toggleActionName = Toggle Wheel
        
        startDeployed = False
        startDeployedString = Start Deployed?

        availableInEVA = True
        availableInVessel = True
        EVArange = 5

        layer = 1
        useActionEditorPopup = True
        playAnimationOnEditorSpawn = False
    }

 

 

Full CFG file for ASET Rover Wheel - also fixed the KIS reference

Spoiler

PART
{
name = ASET_PRC_Wheel
module = Part
author = Alexustas

MODEL
{
   model = ASET/PRC/KRoverWheel
}

scale = 1
rescaleFactor = 1

node_stack_wheelmount = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_stack_bottom = 0.3064924, 0.06158525, 0.0, 1.0, 0.0, 0.0, 1
node_attach = 0.3941842, 0.06158525, 0.00, 1.0, 0.0, 0.0, 1

TechRequired = fieldScience
entryCost = 5200

cost = 550
category = Utility
subcategory = 0
title = ASET PRC Wheel
manufacturer = ASET
description = 

attachRules = 1,1,0,1,0

mass = 0.05
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 1
crashTolerance = 10
maxTemp = 1200 

crashTolerance = 50
breakingForce = 50
breakingTorque = 200

	bulkheadProfiles = srf
//----------------------- Wheel Stuff ---------------------------

MODULE
	{
		name = ModuleWheelBase
		
		wheelColliderTransformName = wheelCollider		
		wheelTransformName = wheel
		
		wheelType = MOTORIZED

		// setting this to true will override the radius and center parameters
		FitWheelColliderToMesh = false		
		radius = 0.20
		center = 0,0,0
		mass = 0.04
		groundHeightOffset = 0
				
		TooltipTitle = #autoLOC_502081 //#autoLOC_502081 = Rover Wheel
		TooltipPrimaryField = #autoLOC_6004045 //#autoLOC_6004045 = Motorized
	}
	MODULE
	{
		name = ModuleWheelSuspension
		baseModuleIndex = 0
		suspensionTransformName = suspensionTraverse //suspensionNeutralPoint
		suspensionDistance = 0.1
		targetPosition = 0.0
		springRatio = 12
		damperRatio = 1.0
		maximumLoad = 5.0
	}	
	MODULE
	{
		name = ModuleWheelSteering
		baseModuleIndex = 0
		
		caliperTransformName = trackSteering
		
		steeringResponse = 2
		steeringCurve
		{
			key = 0 25
			key = 5 25
			key = 30 20
		}
	}
	MODULE
	{
		name = ModuleWheelMotor
		baseModuleIndex = 0
		
		maxRpm = 42
		driveResponse = 2
		
		torqueCurve
		{
			key = 0 0.800 0 0 
			key = 5 0.70 0 0
			key = 20 0.200 0 0
			key = 30 0.0 0 0
		}
		
		RESOURCE
		{
			name = ElectricCharge
			rate = 1.0
		}		
		idleDrain = 0.0
	}
	MODULE
	{
		name = ModuleWheelBrakes
		baseModuleIndex = 0
		
		maxBrakeTorque = 0.5
		brakeResponse = 1
	}
	MODULE
	{
		name = ModuleWheelDamage
		baseModuleIndex = 0
		
		damagedTransformName = bustedwheel
		undamagedTransformName = wheel
		
		stressTolerance = 250
		impactTolerance = 100
		deflectionMagnitude = 1.0
		deflectionSharpness = 2.0
		slipMagnitude = 15
		slipSharpness = 2.0
	}	

//--------------------------Wheel Constraints---------------------------


MODULE
{
	name = FXModuleLookAtConstraint
	CONSTRAINLOOKFX
	{
		targetName = SuspArmMountAimLoc
		rotatorsName = K-WheelSuspension
	}

	CONSTRAINLOOKFX
	{
		targetName = K-WheelSuspension
		rotatorsName = SuspArmMountAimLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainCylinderLoc
		rotatorsName = SuspMainPistonLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspMainPistonLoc
		rotatorsName = SuspMainCylinderLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDampeBottomLoc
		rotatorsName = SuspDamperUpLoc
	}

	CONSTRAINLOOKFX
	{
		targetName = SuspDamperUpLoc
		rotatorsName = SuspDampeBottomLoc
	}

}

//------------------- ANIMATION --------------------------------------------

	MODULE
	{
		name = FSanimateGeneric
		animationName = KRoverWheelRetractionAnim
		animSpeed = 0.25
		startEventGUIName = Expand Wheel
		endEventGUIName = Retract Wheel
		toggleActionName = Toggle Wheel
		
		startDeployed = False
		startDeployedString = Start Deployed?

		availableInEVA = True
		availableInVessel = True
		EVArange = 5

		layer = 1
		useActionEditorPopup = True
		playAnimationOnEditorSpawn = False
	}

//----------------- KIS ----------------------------------

	MODULE:NEEDS[KIS]
	{
		name = ModuleKISItem
		stackable = false
		allowPartAttach = 2 
		allowStaticAttach = 0
	}
	
	MODULE
	{
		name = ModuleTestSubject
		environments = 15
		useStaging = False
		useEvent = True
	}	
	
}

 

 

Edited by wile1411
Link to comment
Share on other sites

As a follow up for anyone wanting to test with WIP, (paging @Mecripp) you can get it working by using the above cfg and changing the radius=0.4 under the ModuleWheelBase
Just note that the acceleration was quite ummm... "peppy" with the PRC setting for the torque. I *really* wouldn't recommend using that cfg with EVA kerbals. You'll be constantly flipping, rolling, wheelying anything using these wheels in their old cfg.

Looking at the torque curve, I found it could probably do with a bit of adjustment to give a calmer start to your journey.
I adjusted the curve under ModuleWheelMotor to the "Small Rover Wheel" settings, but you could replace it with any of the following if you didn't want to learn curve editing specifics.

Torque Curve from ASET PRC (Accel: Holy Kraken-doo! / Runway Top Speed: 33.7m/s - Wile Review: Jeb enjoyed it)

torqueCurve
{
    key = 0 25 0 0
    key = 20 10 0
    key = 30 5 0 0
    key = 34 0 0 0
}

Torque Curve from USI - PackRat Mini-Wheel (Accel: OK / Runway Top speed 32m/s - Wile Review: Reasonable compromise between safety and speed and doesn't seem overly slow)

torqueCurve
{
	key = 0 1.0 0 0
	key = 10  0.66 0
	key = 30 0.14 0 0
	key = 34 0 0 0
}

Torque Curve from Making History - RoveMax M1-F Rover Wheel (Accel: Slow-ish / Runway Top speed: 19.9m/s - Wile Review: Top speed feel quite slow compared to USI, but probably safer for your Kerbals long term)

torqueCurve
{
	key = 0 0.5 0 0
	key = 2  0.3 0
	key = 10 0.1 0 0
	key = 25 0 0 0
}
		

Torque Curve from Wheels Expansion Mod - Small Rover Wheel (Accel: Good  / Runway Top speed: 26.9m/s - Wile Review: Good accel. and still seems like you're getting somewhere)

torqueCurve
{
	key = 0 0.800 0 0 
	key = 5 0.70 0 0
	key = 20 0.200 0 0
	key = 30 0.0 0 0
}

All tests were performed on a closed course with the PRC Rover and a professional(-ish) driver. Jeb was free at the time and volunteered for the tests.

Edited by wile1411
Link to comment
Share on other sites

1 minute ago, wile1411 said:

Already done in a post on the PRC thread. :wink:

Seen that right after I posted here :) much thanks fixing to post the download links in that thread and side note the wheels sink in ground just alittle that could be fix but not sure about me doing it

 

Link to comment
Share on other sites

47 minutes ago, wile1411 said:

Already done in a post on the PRC thread. :wink:

I could use your help on this thread https://forum.kerbalspaceprogram.com/index.php?/topic/85645-102-exploration-rover-system-by-aset-090515/

JSI PartUtilities you can get here https://github.com/linuxgurugamer/PartUtilities/releases

and here is a download with the BoxCollider removed from the wheels https://www.dropbox.com/s/cmiv1y13dxb7pkc/ASET Rovers.zip?dl=0

Link to comment
Share on other sites

Thanx, @Mecripp will check out your PRC changes later tonight. Not at my computer at the moment, what did you do to get the wheels to stop floating?

The PRC wheels probably sink into the ground as the radius needs increasing. I'll try in about an hr. On bus currently.

Edited by wile1411
Link to comment
Share on other sites

@Mecripp I didn't realize that someone other that @alexustas has the models for the PRC wheel. (At least this is my guess how you made the change)

Couple of suggestions for changes to the CFG you released.
Under ModuleWheelBase, change radius = 0.24    (Is currently 0.2) This will fix the slightly sunken wheels you saw.

Do you think you could also make the collisionEnhancer under the 'wheel' group hierarchy (5:55 in Alexustas video) a bit fatter so it at least is as wide from the edge-on center line of the wheel to the edge closest to the PRC platform when deployed? No prob if not, just noticed that they were skinny wheels (from a collider sense) when I compared it to the collider used by the Making History Wheels.

I don't think there is anything 'simple' that can be done about the floating wheel when stored. The "unseen collider" is spherical and as the wheel is rotated through it's center for storage, it doesn't move / change the height of this collider. Only option I can think of is to go through a complicated process of changing the animation to move the collider upwards while stored so the wheel doesn't float.

For the animation choices you gave (Firespitter vs Generic), do you think it might be possible to use the stock MODULE: ModuleWheelDeployment? It needs a few more transforms other than the animation cycle in AnimationGeneric.
I.e  animationTrfName, animationStateName & deployTargetTransformName

Otherwise - near enough is good enough I guess :) 

	MODULE
	{
		name = ModuleWheelDeployment
		baseModuleIndex = 0
		
		animationTrfName = WheelBase
		animationStateName = RoverWheel_Stow
		deployedPosition = 0
		deployTargetTransformName = deployTgt
		
		TsubSys = 1.0
		useStandInCollider = False
		slaveModules = 8
		
		fxDeploy = deploy
		fxRetract = retract
		fxDeployed = deployed
		fxRetracted = retracted
	}	

 

Link to comment
Share on other sites

@Mecripp For the ERS, I'd need to look into a wheel that is already using FSWheel in a similar way to be sure of the below.

Of note: I did download the latest version of firespitter (7.11) and use that in this test.

Initial thoughts on ERS (Using your version of the model): I think the ERSWheel might of been specifically rigged to use Firespitter module FSWheel. There are colliders that are placed/active depending on the orientation of the wheel (using the PAW) If left to stock controls, all colliders are still active, even when the wheel is upside down. This would result in the ERS looking like it's up on chocks as the bottom colliders would prevent the vehicle from reaching the ground. FSWheel seems to have functions that allow it to disable these colliders depending on part orientation. This was you can flip the orientation of the wheel and the odl collider doesn't prevent ground contact.

The 'catch', is the wheelCollider that is necessary for traction, it seems to be disabled (ie not loaded in flight scene). I'd be wildly guessing to say it might be a bug due to firespitter, but only because there seems to be a few issues logged against FSWheel on the FireSpitter github and it mentions a need for a rewrite of the FSWheel code.

If you didn't want to wait for a FS fix, maybe you could have two different models & part configs for each of the orientations required for left/right wheels. Each that had the necessary collider required for it's orientation and the flipped collider removed from its version of the model. (hopefully that make sense)

Edited by wile1411
Link to comment
Share on other sites

1 hour ago, wile1411 said:

@Mecripp I didn't realize that someone other that @alexustas has the models for the PRC wheel. (At least this is my guess how you made the change)

Couple of suggestions for changes to the CFG you released.
Under ModuleWheelBase, change radius = 0.24    (Is currently 0.2) This will fix the slightly sunken wheels you saw.

Do you think you could also make the collisionEnhancer under the 'wheel' group hierarchy (5:55 in Alexustas video) a bit fatter so it at least is as wide from the edge-on center line of the wheel to the edge closest to the PRC platform when deployed? No prob if not, just noticed that they were skinny wheels (from a collider sense) when I compared it to the collider used by the Making History Wheels.

I don't think there is anything 'simple' that can be done about the floating wheel when stored. The "unseen collider" is spherical and as the wheel is rotated through it's center for storage, it doesn't move / change the height of this collider. Only option I can think of is to go through a complicated process of changing the animation to move the collider upwards while stored so the wheel doesn't float.

For the animation choices you gave (Firespitter vs Generic), do you think it might be possible to use the stock MODULE: ModuleWheelDeployment? It needs a few more transforms other than the animation cycle in AnimationGeneric.
I.e  animationTrfName, animationStateName & deployTargetTransformName

Otherwise - near enough is good enough I guess :) 


	MODULE
	{
		name = ModuleWheelDeployment
		baseModuleIndex = 0
		
		animationTrfName = WheelBase
		animationStateName = RoverWheel_Stow
		deployedPosition = 0
		deployTargetTransformName = deployTgt
		
		TsubSys = 1.0
		useStandInCollider = False
		slaveModules = 8
		
		fxDeploy = deploy
		fxRetract = retract
		fxDeployed = deployed
		fxRetracted = retracted
	}	

 

Will have to play around with changing it to ModuleWheelDeployment , I would think its just finding the right names but should work

Link to comment
Share on other sites

18 minutes ago, Mecripp said:

Will have to play around with changing it to ModuleWheelDeployment , I would think its just finding the right names but should work

Had a thought looking at the ERS model - do you think you can just add a (reduction in scale) of the PRC wheel collider when it is retracted? The ERS does this, figured the same action would fix the floating PRC wheel view.

Link to comment
Share on other sites

8 hours ago, wile1411 said:

Had a thought looking at the ERS model - do you think you can just add a (reduction in scale) of the PRC wheel collider when it is retracted? The ERS does this, figured the same action would fix the floating PRC wheel view.

I took out the wheel Collider in both mods,  I should have added a mesh collider to them

Link to comment
Share on other sites

4 hours ago, Mecripp said:

I took out the wheel Collider in both mods,  I should have added a mesh collider to them

No prob, let me know when you get a chance to add the mesh. Just looking at what it was prior to your modification, what was the name of the wheelcollider you removed?

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...