-
Posts
2,419 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by lo-fi
-
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
I've almost finished a new module Firespitter is a great module, though. -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
Just running some tests myself. I think we're on to a complete fail with stock wheel modules, far too much is hard coded. A shame, but not unexpected. I wouldn't put much more time into it for the moment, Steph, this one is going to take some working through. Edit: This may be no-go for parts that contain modules that reference named objects from the point of creation in the editor. Modulewheel and modulelandinggear are great examples. Referencing at flight time works fine currently as the unused duplicate objects get destroyed. I have some ideas though, but it's going to require some heavy tinkering. Parts surface attached to those using this plugin will not have their positions changed when sides are swapped currently. -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
I'm having trouble following you in that last post I'm afraid? I think I follow! I'll do some investigation into animations, this might be fixable if I can rename them.... I have no idea if this is possible in the plugin yet! -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
I did tell you Try the new version of the plugin I just committed, but make sure that it's declared above any other modules in the .cfg: part { some stuff weight cost bla bla bla MODULE { name = ModuleMirror } MODULE { name = ModuleLandingGear some other stuff } } not: part { some stuff weight cost bla bla bla MODULE { name = ModuleLandingGear some other stuff } MODULE { name = ModuleMirror } } Testing shows that this affects which order the modules are activated in. I currently have my repulsors working flawlessly with the mirror plugin Animations may cause more of an issue. I will look at this next. -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
You don't give up, do you! Most of this stuff should be fixed after my update later, though its possible the stock gear modules will never behave well with this plugin. We will see shortly Thanks for the info, its confirmed a lot of my suspicions - I think most of it is fixable. -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
You'l need to wait, Steph. The animation stuff will be getting horribly confused by having two objects named the same in the part. I've not even tested that kind of stuff yet, so let's not get too ahead of ourselves. One step at a time! -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
I'd wait until I've updated this eve to try properly with wheels. I had a go with repulsors last night (which went well), but I've not tested with the stock modules at all. Currently wheelscolliders all get activated whether they are in the disabled side or not, so I need to add in a little destruct routine to get rid of the unused bits when the scene changes to flight. Trivial compared to the rest. Otherwise treat as normal and keep names of GO's the same between sides. I'd appreciate your input! You need to mirror front to back, rather than side to side - I'll make a better demo with one of my wheels when I get a chance later. It'll give me a chance to do some better testing too, I just wanted to get it posted while it was all fresh in my head last night. You can use for stackable parts to change between versions even if you're not using symmetry, so might work quite well for some of your wheels. Nowhere near as sophisticated as TweakScale yet, but I'm aiming for something similarly useful and flexible. Made some progress on the crawler code and I know what I need to do to complete it, I just haven't had a chance to write it yet -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
Ignore the wheel colliders being funny, that's something I need to fix later. The stock modules activate objects my code disables, so I just need to destroy the side that isn't needed in flight to stop this happening. There may be other undesired interactions with stock plugins, but I'll have to work through those. Nothing we can't handle ourselves -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
Sadly, you will need to design the part for the plugin, it will not work for existing parts. -
[PLUGIN] [WIP] Mirror symmetry for asymmetrical parts
lo-fi replied to lo-fi's topic in KSP1 Mod Development
Rig animations as you normally would for both sides. Yes, keep the same names. I realised last night that a little extra code is needed to handle wheels, I will update later and provide notes on which direction to rig the left and right models. I've never tried the mirror function in unity, I would be a little skeptical. Very work in progress, but thanks for diving in and testing -
Ever felt stumped because 'mirroring' in KSP is actually rotational symmetry? It makes asymmetrical or 'handed' parts impossible without making two separate parts. Think wings that curve upwards at the tips (one side will curve down, the other up), wheels with trailing arm suspension (one wheel will have the trailing arm pointing forward, the other will have it correctly backwards) and main landing gear to name a few examples. So, I have a potential solution: Mirror the part in your favourite 3D editor, do a little extra rigging in Unity, export a single part including both left and right hands and let the plugin enable them as appropriate. Demo below to illustrate: Rigging in Unity is easy, just put each side in a GameObject called "Left" and "Right" respectively and call the plugin in the part.cfg like so: MODULE { name = ModuleMirror } That's it Use the GUI buttons to flip between versions of the part. The symmetry counterpart will automatically change too. This is SPH only, will probably do funny things if used in the VAB - I just haven't figured out how to disable it in the VAB yet. It's very, very early stages at the moment, but initial results are good. Code and pre-built plugin here: https://github.com/KerbalFoundries/ModuleMirror License: https://creativecommons.org/licenses/by-sa/3.0/ Comments and contributions appreciated, please feel free to use and abuse it as you see fit. EDIT: Apologies, I meant to heavily comment the code before posting and forgot. I will fix that tomorrow.
-
I've got everything working in my plugin except the retract animation stuff. I had such a hard time trying to animate the models I downloaded, I gave up. I can't work in Blender (it gives me the rage), so I had to export to 3DS, but something is not right because the transforms are all messed up. I'll try an figure out what's going on when I've finished my part mirroring code.
-
Basically I'm on a crusade to create Open Source, flexible modules for wheels, tracks and landing gear. It's so much easier when you know what the code is doing behind the scenes, rather than having to guess. That, plus a lot of the excellent tools Squad has given us (LookAt etc.) out of the box, means just about anything is possible with a little ingenuity. I've designed my modules a little differently to stock, in that wheels run their own module individually for rotation and suspension travel, then one master module hooks up user input and stuff like that. It's much more flexible and IMHO much easier to understand. Maybe this clears things up a little: PART { name = LandingGearMainTest module = Part author = Lo-Fi mesh = MainGear.mu node_attach = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 TechRequired = advancedMotors entryCost = 6000 cost = 580 category = Utility subcategory = 0 title = Landing Gear Main TEST manufacturer = Kerbal Foundries description = See if this works... attachRules = 0,1,0,1,0 mass = 0.5 dragModelType = default maximum_drag = 0.3 minimum_drag = 0.2 angularDrag = 1 maxTemp = 3600 crashTolerance =3000 breakingForce = 3000 breakingTorque = 3000 MODULE { name = FXModuleLookAtConstraint CONSTRAINLOOKFX { targetName = SuspensionTraverseR rotatorsName = SwingArm } } MODULE { name = LandingGearWheel wheelName = NoseGearWheelsR colliderName = wheelColliderR susTravName = SuspensionTraverseR } MODULE { name = LandingGearWheel wheelName = NoseGearWheels colliderName = wheelCollider susTravName = SuspensionTraverse } MODULE { name = ModuleLandingGear2 brakingTorque = 70 steeringName = Steering steeringCurve { key = 0 35 key = 5 10 key = 50 2 } ) } Good work on the annotation, btw
-
You're very welcome You'll find the action groups work the same as the slider - they raise or lower the height .5 at a time. When height is set to zero, the repulsors are turned off and no longer drain ElectricCharge. I'll update the OP to be a little clearer. Consumption is open to debate, but general consensus seems to be that it's about right. Fighting gravity should come at some cost, though future plans are indeed to have it variable depending on height setting maybe weight carrying. I have an Auxiliary Power Unit in the works which will burn available fuel to generate EC. Kerbal energy density seems to be comparable to ours, so you will get far greater runtime with a tank of liquid fuel (and oxidiser if none present in the atmosphere) than you will with batteries of a similar volume. Above all they're supposed to be fun and different
-
I have a worse sense of humour than yours First of all, thanks for taking the time to write a detailed report, I appreciate it Glad you're enjoying the parts! So, you've found the self stabilising function.... The surface version was difficult to gauge because I wasn't sure how people would be likely to use them. They've been set up to have some self-righting to horizontal, which is what you're battling when placing them off-axis. This will require some thinking and tinkering..... Bear with me, you've just given me a few ideas though. I'm thinking of making them scalable and truly 'place anywhere' but with no stability of their own. Got this one wrong, I think. Thanks for the info on TweakScale, that's literally next on my list to implement anyway That rig is so Kerbal. Very cool! ----------------------------------------- BTW: Cheers guys! It's hard work, but I'm having an absolute blast making parts. Can't quite believe how well they're being received!