Jump to content

[1.0.x] [V1.9f] Kerbal Foundries wheels, anti-grav repulsors and tracks


lo-fi

What to work on next?  

1,282 members have voted

  1. 1. What to work on next?

    • More wheels
      123
    • More tracks
      453
    • Rover bodies
      241
    • Landing gear
      137
    • Landing legs
      108
    • Something completely different
      193


Recommended Posts

I think it's pretty cool. Spanner has excelled himself there :)

Been playing with the stock wheels. Man, those things are frustrating! Getting them to work as well as I want requires major reworking. Dealing with the S1, I've tripled the suspension distance (weirdly, the model is set up for it and uses about a quarter), cut the wheel collider mass value down by a factor of ten, and set some sensible suspension values. What you get it quite a workable wheel. It might seem like a needless distraction, but I'm getting to really test my plugin while I'm messing about with other wheels. So far it's been absolutely perfect!

Link to comment
Share on other sites

^ Hahahahaha! Come to think of it, do you think Kerbals are actually evolved from Ewoks? They're about to right proportion,s just seem to have lost the hair..

By the way, for those looking for rover bodies, here's a little teaser of what's to come:

http://youtu.be/Q44dtwbUyOo

SpannerMonkey is to thank for this little box of Kerbal goodness, I'm just releasing and supporting on this one. Release soon once we've got all the details sorted out.

I WANT THAT....in pieces...so i can customize it more, you know, make it longer or shorter, maybe with a KAS container in it too...that and I'd love to crash it into something and see about 5 pieces(minus wheels) fly apart, not just one big one with some wheels...

Link to comment
Share on other sites

^ Hahahahaha! Come to think of it, do you think Kerbals are actually evolved from Ewoks? They're about to right proportion,s just seem to have lost the hair..

By the way, for those looking for rover bodies, here's a little teaser of what's to come:

SpannerMonkey is to thank for this little box of Kerbal goodness, I'm just releasing and supporting on this one. Release soon once we've got all the details sorted out.

Be still, my heart...

Link to comment
Share on other sites

Sounds awesome. As for that rover body, Holy Jebediah's Ghost! (and he ain't even dead yet!) That thing looks awesome, kerbal passenger placement and other bugs aside. That's the first time I've seen JSI transparent pod technology put to use for so many windows, or such a large space before. It reminds me of the virtual cockpits we had in Orbiter several years back, but without the advanced interaction we get with KSP.

Link to comment
Share on other sites

Spanner really knocked it out if the park with this one, didn't he...

I'm not sure about the modularity; it's probably impossible for the core with that incredible IVA etc. The only thought I had would be modular panniers for the top and sides with different functions, so you can customize that way. The hexagon shape really lends itself well to that.

Link to comment
Share on other sites

I like that! Agreed on the modular panniers, though. Needs at least some form of customization, even if it's limited.

Still, I could see dropping one of those on Eve with some variety of either tracks or wheels and going on a nice little cruise.

Link to comment
Share on other sites

Spanner really knocked it out if the park with this one, didn't he...

I'm not sure about the modularity; it's probably impossible for the core with that incredible IVA etc. The only thought I had would be modular panniers for the top and sides with different functions, so you can customize that way. The hexagon shape really lends itself well to that.

To each his own...

How hard is it to mod a cockpit and crew area? Making use of Stock and JSI (incase someone has JSI)?

(and, do i really need to download unity? or will a .mu exporter for blender work like a charm?)

Link to comment
Share on other sites

Modularity or not.. I want to mess with that baby asap. I also really want to mess with some of the configs for the stock wheels and those aset wheels. Once I can see the configs, I can begin converting them into MM patches.

Link to comment
Share on other sites

To each his own...

How hard is it to mod a cockpit and crew area? Making use of Stock and JSI (incase someone has JSI)?

(and, do i really need to download unity? or will a .mu exporter for blender work like a charm?)

The importer will work if you want to take a peek, but it tends to make an unholy mess of duplicated objects on complicated models sometimes.

Modularity or not.. I want to mess with that baby asap. I also really want to mess with some of the configs for the stock wheels and those aset wheels. Once I can see the configs, I can begin converting them into MM patches.

I forgot to do a commit last night. I'll start sending stock and ASET wheel configs too. It will needs lots of testing. I've had to write a module which changes all the collider settings, as well as actually moves the collider and suspension GO's to get the suspension working how I want! It's hacky, but it seems to work. Sadly the only option, short of ripping the models apart and repackaging.

Nice job at making the parts! Good design! :)

Cheers dude, lots more to come :)

Edited by lo-fi
Link to comment
Share on other sites

HI chaps, glad you like the concept of the rover thing, It seems there are some issues that weren't present before 0..25 and they'll be rectified . But as for actually breaking it into parts don't know if i want to do that.

Its knock on effects are quite dramatic from my point of view, firstly the whole vehicle is balanced for stability, splitting it into sections would make it just another wobbly rover,

The interior would have to change , you can only have one IVA per vehicle so in parts you'd lose the rear, well you wouldn't but it'd be deco only Because I'd graft the internal back inside the part as it was built , so although there'd be seats or whatever you wouldn't see kerbs in them. The other option would be to rework the rear as a cargo bay, which would be fairly useless as the hull shape means that level floor space is limited to a strip down the middle

I can remove everything external no problem, it's just a large pod then, that can be customised and used for anything, and that wasn't in my mind when i built it.

There is actually a pod only IVA but I never saw a need to add it , I wanted the extra kerb capacity.

In reality it was never intended to get any further than my own hard drive, however after it featured in so many screenshots and demos of other parts, I had many request for release. I personally like plug and play craft , I know many don't but that doesn't stop me from making them. I don't expect it to be universally accepted, In fact i expect a barrage of disdain, and you know what? I don't really care.

In no way do I want to dilute the awesomeness of LoFi's mod by the inclusion of not so awesome parts, so if you have feelings either way let LoFi know and he can decide.

Cheers

Spanner

Link to comment
Share on other sites

I actually have an idea that will satisfy the moduler aspect without sacrificing the core stability or gorgeous IVA, and with very little work. I'll be in touch with sketches, I think I have the perfect solution :)

I have to admit, though: a trailer in the same style would be really, really cool, but that's a whole other thing all together ;)

The inside, IMO, is spectacular. It really gives a feel for a team of Kerbals inside an exploration vehicle in a way I've seen in no other mod or part. The red tint lighting is a lovely touch, along with the consoles for the Kerbals that aren't driving. They actually seem like they are there for more than just the ride, and having to open the hatch before you can board or disembark is really clever too. This is what people are on about when they talk about immersion!

My approach is always to make what I like, and make it as well as I can. Lets stick to that and we'll be fine :)

Link to comment
Share on other sites

I forgot to do a commit last night. I'll start sending stock and ASET wheel configs too. It will needs lots of testing. I've had to write a module which changes all the collider settings, as well as actually moves the collider and suspension GO's to get the suspension working how I want! It's hacky, but it seems to work. Sadly the only option, short of ripping the models apart and repackaging.

Cheers dude, lots more to come :)

Excuses excuses. "I forgot..." pfft!

Couldn't help myself. Anyway, fortunately you can rip and re-paste as much as you want and I'll be able to swap that stuff in with the patch. in theory of course, I won't really know until I can run a difference checker between a stock config and a modified config for the same part.

This is what people are on about when they talk about immersion!

That's what I like about the ASET rover pod. Unfortunately I'm going to have to either drop that part or disable the JSI transparent pod functionality. That thing eats up over 60% of my pitiful frame-rate even after I cut out a bunch of the pointless props in the config.

Edited by Gaalidas
Link to comment
Share on other sites

Alrighty, won't take me long to finish the rest now I've got the method sorted.

I noticed a framerate drop just having RPM installed, and I'm on an average level desktop :/ Looking at the FAQ, I think something is not quite right. Maybe an optional dependency missing or something. Either way, maybe I can help narrow it down.

Link to comment
Share on other sites

It's only affected me when using the ASET pod. That nutty guy has not only two different sizes of Raster Prop being used, but several of them for the primary seat. Add to that the holographic HUD projected on the glass that displays real-time data about your current orientation and drive power status, and the fact that with all those different window panes and their corresponding JSI transparent transforms... well, it's a wonder it runs at all on my low-powered laptop. I turned off the transparent pod part of the part config, leaving the internal config alone completely, and just that improved things a ton. The windows and opaque from the outside, but otherwise everything works as intended. I think part of it is the extra load of polygonal faces being rendered and the real-time data that's being processed and displayed even when you're viewing those monitors from outside the pod. if those JSI panels could display a generic image instead of all that data when viewed from the outside, it would perform better (but look a lot less cool). If those little buttons all over those consoles were turned into a lower-quality mesh or even hidden completely when outside the pod as well, that would likely fix the problem completely. I'm also a little skeptical as to the need for all those separate transforms for each pane of the front windows. For example, I believe the Pano-pod developed a while back manages the create an entire 360 degree view of the interior on the pod, with at least as many consoles and a lot more polygons than the ASET pod and nearly 3 times the individual glass panes ALL while using a lot less transforms and at least a third of the performance hit.

it's actually quite a mystery why the ASET pod is so hard on the system really.

I tried the new rover body you put up and its initial performance hit in the SPH is at least 10 times less than the ASET pod. Of course it's using about 30 times less props than the ASET pod too.

EDIT: I just took a look at the configs and it's insane. The Pano-pod has a single window transform for the entire 360 degree window setup. The ASET pod has only a few front windows, a lot less polygon face detail in the model, but uses a whopping nine freakin' transforms. That's a lot of rendering activity going on there. Optimization went way out the window.

Edited by Gaalidas
Link to comment
Share on other sites

Interesting info! I have to admit, all this IVA, RPM shenanigans is all new to me. I've seen it, but never even had it installed or played with it in game. Having done a fresh install it all seems well and I can't really tell the difference with or without it, so I must have had something wrong. I'll give the ASET pod a go, as so far I've only tried the wheels. It is packed to the gunwales with funky RPM stuff! I need to get up to speed with all this..

Here, have a wheel config :) Latest KF plugin required

PART

{

name = KFroverWheel1

module = Part

author = Squad

mesh = model.mu

scale = 1

node_attach = 0.3093255, 0.322, 0.00, 1.0, 0.0, 0.0, 1

TechRequired = fieldScience

entryCost = 5200

cost = 450

category = Utility

subcategory = 0

title = KF RoveMax Model M1

manufacturer = Kerbal Motion LLC & Kerbal Foundries

description = After years of outcry against the lack of proper powered wheels, a small startup company named Kerbal Motion was founded and delivered just what the public wanted - the RoveMax Model 1 powered rover wheel. Upgraded version with funky steering, wibbly suspension and tyres that taste like Jolly Ranchers. Do not feed to Bob after midnight

attachRules = 0,1,0,1,0

mass = 0.075

dragModelType = default

maximum_drag = 0.3

minimum_drag = 0.2

angularDrag = 1

crashTolerance = 7

maxTemp = 3600

crashTolerance = 50

breakingForce = 50

breakingTorque = 50

MODULE

{

name = ObjectDestroy

objectName = bustedwheel

}

MODULE

{

name = OverrideWheelCollider

moveCollider = true

moveColliderBy = 0.25

suspensionDistance = 0.3

spring = 1

damper = 0.05

mass = .5

targetPosition = 0

}

MODULE

{

name = ModuleTrack

raycastError = 0.035

springRate = 1.4

damperRate = 0.1

smoothSpeed = 8

chargeConsumptionRate = 0.2

hasSteering = true

torqueCurve

{

key = 0 40 0 0

key = 5 30 0 0

key = 10 15 0 0

key = 20 0 0 0

}

steeringCurve

{

key = 0 20 0 0

key = 10 10 0 0

key = 20 5 0 0

}

torqueSteeringCurve

{

key = 0 0 0 0

}

brakeSteeringCurve

{

key = 0 0 0 0

}

brakingTorque = 50

rollingResistance = 0

maxRPM = 600

}

MODULE

{

name = TrackWheel

wheelName = wheel

colliderName = wheelCollider

sustravName = suspensionTraverse

steeringName = trackSteering

isIdler = false

isSprocket = false

smoothSpeed = 40

wheelRotationX = 0

wheelRotationY = 1

wheelRotationZ = 0

susTravAxis = Y

steeringAxis = Y

}

MODULE

{

name = FXModuleLookAtConstraint

CONSTRAINLOOKFX

{

targetName = susp2-1

rotatorsName = susp2-2

}

CONSTRAINLOOKFX

{

targetName = susp2-2

rotatorsName = susp2-1

}

CONSTRAINLOOKFX

{

targetName = susp1-2

rotatorsName = susp1-1

}

CONSTRAINLOOKFX

{

targetName = susp1-1

rotatorsName = susp1-2

}

CONSTRAINLOOKFX

{

targetName = susp3-1

rotatorsName = susp3-2

}

CONSTRAINLOOKFX

{

targetName = susp3-2

rotatorsName = susp3-1

}

}

}

Link to comment
Share on other sites

Sweet, configness!

Yeah, that pod is pretty crazy with that monitor stuff. In fact, I'm unsure if they can even call it a monitor mod considering how they've branched out into transparent pods and such. I barely understand most of what i see on those things, and I'm unsure they're really that practical still. I'd like to see them create a stand-alone monitor you could pull up like you can with the scansat maps. It'd be a bit like the External MFD we had in Orbiter.

UPDATE:

Okay, so we have two options for the MM patches. We can either do a replacement of the stock configs or a duplication of the stock configs to allow the end user to choose to install them but still use the old ones on current craft. Here's what I turned your configuration into after assessing the differences between it and the stock config:

//This will replace the current part configs with the new configurations.
@PART[roverWheel1]:NEEDS[KerbalFoundries]:FOR[KerbalFoundries]
{
@title = KF RoveMax Model M1
@manufacturer = Kerbal Motion LLC & Kerbal Foundries
@description = After years of outcry against the lack of proper powered wheels, a small startup company named Kerbal Motion was founded and delivered just what the public wanted - the RoveMax Model 1 powered rover wheel. Upgraded version with funky steering, wibbly suspension and tyres that taste like Jolly Ranchers. Do not feed to Bob after midnight.
!MODULE[ModuleWheel] {}
!MODULE[FXModuleLookAtConstraint],* {}
MODULE
{
name = ObjectDestroy
objectName = bustedwheel
}
MODULE
{
name = OverrideWheelCollider
moveCollider = true
moveColliderBy = 0.25
suspensionDistance = 0.3
spring = 1
damper = 0.05
mass = 0.5
targetPosition = 0
}
MODULE
{
name = ModuleTrack
raycastError = 0.035
springRate = 1.4
damperRate = 0.1
smoothSpeed = 8
chargeConsumptionRate = 0.2
hasSteering = true
torqueCurve
{
key = 0 40 0 0
key = 5 30 0 0
key = 10 15 0 0
key = 20 0 0 0
}
steeringCurve
{
key = 0 20 0 0
key = 10 10 0 0
key = 20 5 0 0
}
torqueSteeringCurve
{
key = 0 0 0 0
}
brakeSteeringCurve
{
key = 0 0 0 0
}
brakingTorque = 50
rollingResistance = 0
maxRPM = 600
}
MODULE
{
name = TrackWheel
wheelName = wheel
colliderName = wheelCollider
sustravName = suspensionTraverse
steeringName = trackSteering
isIdler = false
isSprocket = false
smoothSpeed = 40
wheelRotationX = 0
wheelRotationY = 1
wheelRotationZ = 0
susTravAxis = Y
steeringAxis = Y
}
MODULE
{
name = FXModuleLookAtConstraint
CONSTRAINLOOKFX
{
targetName = susp2-1
rotatorsName = susp2-2
}
CONSTRAINLOOKFX
{
targetName = susp2-2
rotatorsName = susp2-1
}
CONSTRAINLOOKFX
{
targetName = susp1-2
rotatorsName = susp1-1
}
CONSTRAINLOOKFX
{
targetName = susp1-1
rotatorsName = susp1-2
}
CONSTRAINLOOKFX
{
targetName = susp3-1
rotatorsName = susp3-2
}
CONSTRAINLOOKFX
{
targetName = susp3-2
rotatorsName = susp3-1
}
}
}

That will overwrite the squad config with your modified configuration. If, however, we want to duplicate the original part and end that duplicate then we actually have two options on that front. You can either give up the MM patch and simply use a MODEL node to reference the model path while placing this config in your own mod's folder, or we can simply replace the "@" character in the MM config with a "+" character. Combine that character change with a few additional edits at the top of the file and it will spawn a brand new part based on the stock configs. Otherwise, the patch I posted above should work. I have yet to test it however. It's getting late and KSP takes quite some time to boot up. I don't see any reason why it wouldn't work as it is though.

Here's the config option if you want to duplicate the original part:

//This will duplicate and modify the new part to not conflict with the original.
+PART[roverWheel1]:NEEDS[KerbalFoundries]:FOR[KerbalFoundries]
{
@name = KFroverWheel1
!mesh = DELETE
MODEL
{
model = Squad/Parts/Wheel/roverWheelM1/model
}
@title = KF RoveMax Model M1
@manufacturer = Kerbal Motion LLC & Kerbal Foundries
@description = After years of outcry against the lack of proper powered wheels, a small startup company named Kerbal Motion was founded and delivered just what the public wanted - the RoveMax Model 1 powered rover wheel. Upgraded version with funky steering, wibbly suspension and tyres that taste like Jolly Ranchers. Do not feed to Bob after midnight.
!MODULE[ModuleWheel] {}
!MODULE[FXModuleLookAtConstraint],* {}
MODULE
{
name = ObjectDestroy
objectName = bustedwheel
}
MODULE
{
name = OverrideWheelCollider
moveCollider = true
moveColliderBy = 0.25
suspensionDistance = 0.3
spring = 1
damper = 0.05
mass = 0.5
targetPosition = 0
}
MODULE
{
name = ModuleTrack
raycastError = 0.035
springRate = 1.4
damperRate = 0.1
smoothSpeed = 8
chargeConsumptionRate = 0.2
hasSteering = true
torqueCurve
{
key = 0 40 0 0
key = 5 30 0 0
key = 10 15 0 0
key = 20 0 0 0
}
steeringCurve
{
key = 0 20 0 0
key = 10 10 0 0
key = 20 5 0 0
}
torqueSteeringCurve
{
key = 0 0 0 0
}
brakeSteeringCurve
{
key = 0 0 0 0
}
brakingTorque = 50
rollingResistance = 0
maxRPM = 600
}
MODULE
{
name = TrackWheel
wheelName = wheel
colliderName = wheelCollider
sustravName = suspensionTraverse
steeringName = trackSteering
isIdler = false
isSprocket = false
smoothSpeed = 40
wheelRotationX = 0
wheelRotationY = 1
wheelRotationZ = 0
susTravAxis = Y
steeringAxis = Y
}
MODULE
{
name = FXModuleLookAtConstraint
CONSTRAINLOOKFX
{
targetName = susp2-1
rotatorsName = susp2-2
}
CONSTRAINLOOKFX
{
targetName = susp2-2
rotatorsName = susp2-1
}
CONSTRAINLOOKFX
{
targetName = susp1-2
rotatorsName = susp1-1
}
CONSTRAINLOOKFX
{
targetName = susp1-1
rotatorsName = susp1-2
}
CONSTRAINLOOKFX
{
targetName = susp3-1
rotatorsName = susp3-2
}
CONSTRAINLOOKFX
{
targetName = susp3-2
rotatorsName = susp3-1
}
}
}

Note: file name is irrelevant. In fact, in the end we could place patches for all the wheels you modify in a single file that you can distribute with your mod within the KF mod directory.

Edited by Gaalidas
Link to comment
Share on other sites

If you've downloaded an MM patch to upgrade the stock wheels you're probably not looking for duplicates, so might as well go for the over-write? Switching back will do no real harm to craft in flight if you remove the patch and revert to stock anyway.

I think it might be best to have a separate thread for the config patches. Do you want to take charge of this one, Gaalidas? Now I've got the utils written, it's only half an hours work getting existing wheels up and running with KF configs, so there are probably a lot more than just the stock wheels that could receive The KF TreatmentTM. The Rollcage Kerchellin range immediately spring to mind; I used to use them all the time before I started making my own. Stock S1 and TR-2L will land shortly, though the TR will require some extra beating into submission.

EDIT: Thanks, btw!

Link to comment
Share on other sites

Ouch. Just found out the hard way that the Repulsor Wheels are NOT water repulsors. Thankfully, the new rover chassis is very sturdy and I didn't lose my 9 man expeditionary crew who was going toward the south pole. Also thankfully the jet engines I used were mounted high on the chassis and so they didn't go smash, even though I'm sure the Kerbal equivalent of the EPA is going to be screaming because I smashed a fission reactor into the ocean.

Still, I'm having fun with the new parts.

As for that new code for a re-done stock wheel, I haven't yet tried it.

Link to comment
Share on other sites

Haha, reactor schmactor. Kerbal EPA :rolleyes: "Excuse me, Sir, I don't believe you've caused enough environmental damage today. I'll let you off this time, but please try harder next time"

Sorry dude. I really need to take a fresh look at the water stuff, it's been causing me some real headaches :/ I thought I'd put it back how it was, but apparently not!

FTFY :)

Edited by lo-fi
Link to comment
Share on other sites

initial tests were not so amazing unfortunately. Upon attempting to check my action groups with the modified wheels attached, I ended up with a complete GUI lockup with null exceptions being spammed to my log. I haven't checked the log quite yet to see what happened, but I suspect it has something to do with other MM patches making modifications to the same part which require a stock module to be present but aren't checking if that module is there still before applying. I'm going to test the duplication method later on as well. I would actually think that method would be preferable to most users, but I'd probably include optional patch replacements if the user wants to just override everything. Actually, if we go the duplication route we wouldn't even need MM patches, just need to reference the model using the "MODEL" node format and put your config in your own KF directory.

I might be able to take over that area, but I'm unsure about the separate thread. My reasoning is, first off the list, that when someone downloads a new mod fully of goodies that can also be applied to the stock parts, they don't want to have to go somewhere else to find those configs. Second on the list is that if I were to release the MM configs as a separate addon, with a dependency of your mod, I would have to separately license my work as a subset of your work since in reality I'm just adding a few @ symbols and deleting some unnecessary lines. I lack the ability to do any of the real work behind the scenes, and I lack time to learn it because I'm still in college and not yet even beginning my BA. (I'm a late bloomer.) Third on the list (last one I promise) is that because I'm a student I may not always have time to update these configs (not to mention that I don't have the ability to update more than just the MM patch, and people would be asking me to fix things I have no ability to fix) I may have to suddenly disappear for a while to focus on some large project. If a major KSP update comes through during that time and a major rework of the MM patches is needed, I'll not only hate myself, but the rest of the MM users out there will hate me for not being around to help them.

What I would do, in your shoes (so to speak), is keep everything together in one release thread. Post your new stock CFGs to the github and I'll do what I can to convert them into patches for a stock-overwrite option. I'll send you what I have when/if I get them where they need to be. If you want, offer them as a separate download or just wrap them into the complete package with an optional folder with an alternate method of install. i know it sounds complicated, but in the end it's usually better to offer as many options as possible. Who knows, maybe I'll get inspired to write a batch file to help customize the installation for whichever way they want to update the stock wheels.

This all assumes I can get the other wheel-based mods to stop making game-breaking modifications to the configs before I can get to them. this also assumes that it isn't your modification of that stock wheel that screwed it all up. I better go see if the logs are helpful at all.

Link to comment
Share on other sites

Interesting.... I'm not really up to speed on the finer workings of MM, so post a log and I'll see what I can find. I tested with a duplicate config in the part directory. Log spam can only mean one thing: the module didn't find some named GO's, which is odd, because they haven't changed in at least five versions. Maybe the duplicate method with model nodes is the way to go, though.

No worries, was just a thought :) What's your BA in, btw?

Link to comment
Share on other sites

I'm going into Application Development. It's a vague BA dealing with pretty much everything from HTML to mobile app dev. and everything in between.

I found the culprit I think. I was the wheel-tweak mod ("Tweakable Wheels" I think?) adding its own module to the part before I could get your module swapped in there. I've changed ":FOR[KerbalFoundries]" to a ":First" which should do it. technically ":First" is not necessary, but I find it helps me clarify what is running at the beginning when debugging. It doesn't affect the functionality at all. The point is, it should now intercept the part before the other mod gets a hold of it and make it rather unappetizing to any other mods that want to edit it as well (at least when ModuleWheel is necessary).

Link to comment
Share on other sites

Sounds like like it ought to be quite interesting :)

That would make sense with the null-refs. Tweakable wheels will have been looking for and instance of ModuleWheel which does not exist in the part any more..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...