Jump to content

[1.4.*] [2.5.3] (2018-04-06) UbioZur Welding Ltd. Continued


girka2k

Recommended Posts

28 minutes ago, ChinaLakeGuy said:

One time early in using it I welded 99% of a vessel that didn't have many action parts and it ended up as an indestructible brick. I could see how it could be abused and strip some fun from the game so hence the self-restrictions.

Yep. The problem is the physical values for the whole shebang. You use the "mean", more resistant parts lose its resistance, and you can't rely on them. And the other way around, weak parts become too stronger.

Ubiozur has some options about how to infer the physics values for the new parts. But the default ones are very… "on the safe side"… and it ends up usually causing what you describe.

I found Ubiozur useful to build large maritime and airborne ships. I like to try to build them as real life, with keel and all. So I weld structural parts - usually, all the same part - to make the keel. Then I apply griders and flangers where it's possible, and attach the utilitiy parts (living room, cargo, etc) on them. Autostruts is only applied to the structural parts and EAS struts to "weld" some things tight on more than one structural part (as on intersecations between griders and flanges).

Well, you got it. :)

These stunts make the vessels behave way closer to the real ones when failing making the incidents sometimes uncomfortably realistic. :P 

Link to comment
Share on other sites

6 hours ago, ChinaLakeGuy said:

There's probably not a single mod thread on the forums where someone doesn't say that about the particular mod being discussed. They all can't be in the game, actually I'm quite thankful they aren't. :)

Back when this one worked I self-restricted its use, only structural and tanks; and tanks only when as the main part of a subsection of structure. I used it only for creating frames that connected to each other. The lifting portion of the vessel never got welds as it was shed away during ascent and gave you a nice kablooey on a crash.

One time early in using it I welded 99% of a vessel that didn't have many action parts and it ended up as an indestructible brick. I could see how it could be abused and strip some fun from the game so hence the self-restrictions.

Agreed. That's why I think it should be built into the game. It could apply some logic to weld parts in a non-game-breaking fashion. But the biggest reason this needs to be in the game is a pure playability issue. As they make the game more complex with official expansions and DLC, people's crafts will also be getting more complex.

It won't be long before standard rockets using all the given official updates to KSP will cause craft to hit this exponential complexity physics performance hit, and they will HAVE to do something of this sort to keep the game playable.

Link to comment
Share on other sites

Ug. Looking at my part counts, my biggest culprit is either lights (each vessel I have roughly 4-20 lights. I like lights.) or science. Can't do anything about lights, but in general I like to make little science clusters I can drop into any bay; recently I've been using Universal Storage II for this. But still, those universal storage bays and all their associated parts come out to around 20-30 parts. On top of my nominal 30-80 parts for a vessel, depending on size and function. If I could just condense all the science stuff down to one welded bay, that would be huge.

I really wish it could set a no-physics flag on some parts like lights and science experiments. Generally really not worried about collisions on such small things. I assume there's no such thing as a no-physics flag with KSP/Unity?

Edited by AmpCat
Link to comment
Share on other sites

53 minutes ago, AmpCat said:

Ug. Looking at my part counts, my biggest culprit is either lights (each vessel I have roughly 4-20 lights. I like lights.) or science. Can't do anything about lights, but in general I like to make little science clusters I can drop into any bay; recently I've been using Universal Storage II for this. But still, those universal storage bays and all their associated parts come out to around 20-30 parts. On top of my nominal 30-80 parts for a vessel, depending on size and function. If I could just condense all the science stuff down to one welded bay, that would be huge.

I really wish it could set a no-physics flag on some parts like lights and science experiments. Generally really not worried about collisions on such small things. I assume there's no such thing as a no-physics flag with KSP/Unity?

build your own part - cram it all into one part :o:P:cool:

and yes - in part.cfg there can be a line like this:

Spoiler

PhysicsSignificance = 0 // 0 = part has physics, 1 = part is physicsless

 

Link to comment
Share on other sites

Just now, zer0Kerbal said:

build your own part - cram it all into one part :o:P:cool:

and yes - in part.cfg there can be a line like this:

  Hide contents

PhysicsSignificance = 0 // 0 = part has physics, 1 = part is physicsless

 

Does this mean it won't calculate physics at all for this part, as in, no more performance hit? I could have 500 of them and not see much slow down?

Link to comment
Share on other sites

Just now, AmpCat said:

Does this mean it won't calculate physics at all for this part, as in, no more performance hit? I could have 500 of them and not see much slow down?

that I cannot answer since I do not know the correct answer.

PS: manual welding can be fun and profitable! I did it for Orbital Tug's new Demolition Helper Drones - welded five pieces together for both! However, the impact drone will have to wait for now (need to weld in a heatshield, and an engine/srb --- not so easy. :)

Link to comment
Share on other sites

13 hours ago, AmpCat said:

Does this mean it won't calculate physics at all for this part, as in, no more performance hit? I could have 500 of them and not see much slow down?

Nope. It means that part has no influence on the physics significance, but it's still handled by the physics engine: "humm… this part should not be applied, I will jump it". There's no free lunch! :)

Sometimes, it costs more to do not calculate an exception than just calculate it together the basket of numbers and just don't use it later. It's an idiosyncrasy related at how the physics processors work (highly parallelized pipelines).

Link to comment
Share on other sites

On 8/6/2019 at 6:21 AM, Lisias said:

Nope. It means that part has no influence on the physics significance, but it's still handled by the physics engine: "humm… this part should not be applied, I will jump it". There's no free lunch! :)

Sometimes, it costs more to do not calculate an exception than just calculate it together the basket of numbers and just don't use it later. It's an idiosyncrasy related at how the physics processors work (highly parallelized pipelines).

If they're so highly parallelized, why can't they multi-core or GPU them? :p

Link to comment
Share on other sites

16 minutes ago, AmpCat said:

If they're so highly parallelized, why can't they multi-core or GPU them? :p

Because they are physics engines. I was talking about physics processors. :)

Having a hardware processor with multiple pipelines crunching numbers in parallel is not the same as having a physics engine that can calculate multiple parts of the same craft at the same time.

The inability of calculating physics in parallel on many parts of the same craft is a limitation of KSP (probably due a limitation on how Unity does that). Physics processors knows nothing about any of that. :)

Edited by Lisias
Hit "Save" too soon.
Link to comment
Share on other sites

9 hours ago, AmpCat said:

Well, video cards have physics processing engines for them now (have for many years, actually), seems like that should be doable. But I digress.

Without derailing the topic too much - if Unity could utilise the physics processing capabilities of GPUs then the performance would certainly improve. I would take a guess that it's quite hard to do and would require significant changes to the Unity engine. 

Going to test your fork of this @Lisias on 1.7.3 alongside TweakScale. Wish me luck! 

Link to comment
Share on other sites

6 hours ago, madindehead said:

Without derailing the topic too much - if Unity could utilise the physics processing capabilities of GPUs then the performance would certainly improve. I would take a guess that it's quite hard to do and would require significant changes to the Unity engine. 

Unity uses PhysX running on the CPU, and considerations about a GPU accelerated PhysX on Unity is not recent news. Don't have a clue about how Unity is handling this nowadays, but at least PhysX is now open source. If this is going to eventually happen, Kraken knows.

 

6 hours ago, madindehead said:

Going to test your fork of this @Lisias on 1.7.3 alongside TweakScale. Wish me luck! 

You will have problems with parts using MODUELEVARIANTPART - some tanks will tank on you. :P Do you know I never tried TweakScaling the parts before the welding? I mangled a bit TweakScaling it after - it's a part anyway. :)

In time, are you on Windows? Please hit me if you find something like this. I'm curious (and frustrated) about it.

 

Link to comment
Share on other sites

20 minutes ago, Lisias said:

Unity uses PhysX running on the CPU, and considerations about a GPU accelerated PhysX on Unity is not recent news. Don't have a clue about how Unity is handling this nowadays, but at least PhysX is now open source. If this is going to eventually happen, Kraken knows.

 

You will have problems with parts using MODUELEVARIANTPART - some tanks will tank on you. :P Do you know I never tried TweakScaling the parts before the welding? I mangled a bit TweakScaling it after - it's a part anyway. :)

In time, are you on Windows? Please hit me if you find something like this. I'm curious (and frustrated) about it.

 

I actually removed TweakScale. I don't really need it. I just want more stack adapters. I'm playing with the welding now so I'll let you know how it goes. 

Edited by madindehead
Link to comment
Share on other sites

On 8/5/2019 at 10:23 PM, zer0Kerbal said:

that I cannot answer since I do not know the correct answer.

PS: manual welding can be fun and profitable! I did it for Orbital Tug's new Demolition Helper Drones - welded five pieces together for both! However, the impact drone will have to wait for now (need to weld in a heatshield, and an engine/srb --- not so easy. :)

By manual welding you mean build a part outside the game and then use it? :/ 

Link to comment
Share on other sites

4 hours ago, madindehead said:

By manual welding you mean build a part outside the game and then use it? :/ 

make the part you want welded and save as .craft; then open the base part and merge in the models, textures, and features from the .craft file into a new part, by hand.

Edited by zer0Kerbal
Link to comment
Share on other sites

54 minutes ago, zer0Kerbal said:

make the part you want welded and save as .craft; then open the base part and merge in the models, textures, and features from the .craft file into a new part, by hand.

Ah OK cool. Don't suppose you've got an example? Could be useful :D 

I'm curious how you go from .craft to a part - the models and textures will be the hardest bit for me, I kind of understand part stuff in MM

Edited by madindehead
Link to comment
Share on other sites

4 hours ago, madindehead said:

Ah OK cool. Don't suppose you've got an example? Could be useful :D 

I'm curious how you go from .craft to a part - the models and textures will be the hardest bit for me, I kind of understand part stuff in MM

no specific example, just a tale.

when we where updating Orbital Tug, I wanted to add a new version of a single part 'helperDrone' - great little part - self contained drone with RCS, grabber, light, and reaction wheel - totally a drone. This version was going to integrate the TACSelfDestruct part - so it could be used as a demolitionHelperDrone (blow up space debris etc).

I could have just copied the helperDrone.cfg and added the TACSelfDetruct module to it, but I also wanted it to look like Val had strapped on several blocks of explosives, and remote control detonation controller (both parts in the TACSelfDestruct mod).

So I created a new part.cfg file and copied the original base part into it. I then added the TACSD module into the parts configuration code. In order to get the final look, I created in the VAB a helperDrone and surface attached the parts I wanted to be there (weld). I kept it simple.

I saved that as a .craft file, and opened the .craft in a text editor and found the individual parts and copied their PosX, PoSY, PosZ, RotX, RotY, RotZ

Spoiler

PART
{
    part = twsa.bomb_4293192862
    partName = Part
    persistentId = 3899103086
    pos = 0.911005855,15.0408106,-1.35171449
    attPos = 0,0,0
    attPos0 = 0.181406856,0.0374469757,0.18140687
    rot = 0.506699324,0.49320972,-0.506699383,0.4932096
    attRot = 0,0,0,1
    attRot0 = 0.662034631,0.266923189,-0.274223745,0.644409478
    mir = 1,1,1

I wanted four parts welded to the base (3 of the same X-1100 and one twsa_bomb)

since I used +PART (copy part) everything from the original part was there (or you can just copy the entire part.cfg and modify)

(REMEMBER: change the part name to something different)

I then copied the MODEL (or mesh) from the parts I wanted to weld - and adjusted the position/rotation (scale is optional - leave off unless you need it or get much better) into the new part.

then it was quite a bit of mucking about to get them just right - (nodehelper helps) - which required restarted the game (or reloading the database) numerous times.

That's it. (Autoweld does more - but this is the 99 class on manual welding)

see below

finished

Spoiler

// OrbitalTug
// helperDrone demolitionDroneTAC v 0.23
// 26 Jun 19

+PART[helperDrone]:NEEDS[OrbitalTug,TacSelfDestruct]:FOR[OrbitalTug]
{
    @name = demolitionDroneTAC
    MODEL {
        model = TacSelfDestruct/Parts/twsa_bomb/model
        position = -0.17,-0.017,0.17
        rotation = 180, 45, 90
        scale = 0.75,1.75,0.75
    }
    MODEL {
        model = TacSelfDestruct/Parts/X-1100/TacSelfDestruct
        position = -0.17,-0.022,-0.17
        rotation = 90, -45, 0
        scale = 0.17,0.17,0.17
    }
    MODEL {
        model = TacSelfDestruct/Parts/X-1100/TacSelfDestruct
        position = 0.17,-0.022,0.17
        rotation = 90, -45, 0
        scale = 0.17,0.17,0.17
    }
    MODEL {
        model = TacSelfDestruct/Parts/X-1100/TacSelfDestruct
        position = 0.17,-0.022,-0.17
        rotation = 90, 45, 0
        scale = 0.17,0.17,0.17
    }

    
    @cost += 500
    @mass += .1
    @title = Orbital Tug Demolition Drone
    @description = with a innocent package strapped into its innards, this little helper likes to make things go away. <color=orange>Jeb style.</color>. Triple layer, noise canceling, ear protection most certainly not included.
    
    @explosionPotential = 1.0

    @tags ^= :^: KIS EVA portable tool )demo destruction bomb cck-tug

    MODULE {
        name = TacSelfDestruct
        timeDelay = 10.0
        addPawIdent = false
        canStage = false
    }

    MODULE {
        name = ModuleTestSubject
        // nowhere: 0, srf: 1, ocean: 2, atmo: 4, space: 8
        environments = 15
        useStaging = True
        useEvent = True
    }
}

// zer0Kerbal
// CC-BY-NC-SA-4.0

 

 

Edited by zer0Kerbal
Link to comment
Share on other sites

4 hours ago, AstralWither said:

does it work on 1.7?

Yes. But with issues. It's better to use 1 4 or 1.5 due more compatible parts (parts with MODULEPARTVARIANT is the problem, it does weld weird). Once you weld, the part can be moved to newer KSPs. 

You need to use ModuleManager 3.  The tool is not working on newer KSP due Module Manager 4 had changing something that broke the tool on the guts. 

There are alternative versions for them on http://Github.com/net-lisias-ksp but they're as is, I provide minimum support for them as I have my hands full at the moment. There're proper links some pages behind, i'm on mobile now.

Found it.

https://forum.kerbalspaceprogram.com/index.php?/topic/96670-14-253-2018-04-06-ubiozur-welding-ltd-continued/&do=findComment&comment=3641992

Edited by Lisias
Link to comment
Share on other sites

2 hours ago, Jbailey23 said:

I've downloaded this mod for my 1.7.2 version and couldn't get it to work.

I switched over to ksp version 1.4.2 and re-downloaded the mod and it still isn't working. 

can someone please help me out

Use ModuleManager 3.1.3. Something changed on MM 4, and Ubioweld didn't coped very well.

Link to comment
Share on other sites

4 hours ago, Lisias said:

Use ModuleManager 3.1.3. Something changed on MM 4, and Ubioweld didn't coped very well.

Thank you for the quick reply. I deleted the old module manager and downloaded 3.1.3 as you said and it's still not working. the box for the weld icon pops up, however its white and not clickable.

 

Sorry for the crappy quality, but here's some photos

https://photos.app.goo.gl/kBZaK89Kb4KuHFrY6

 

Link to comment
Share on other sites

1 hour ago, Jbailey23 said:

Thank you for the quick reply. I deleted the old module manager and downloaded 3.1.3 as you said and it's still not working. the box for the weld icon pops up, however its white and not clickable.

Sorry for the crappy quality, but here's some photos

https://photos.app.goo.gl/kBZaK89Kb4KuHFrY6

 

Welcome. Well, you almost did it. You need to unpack the ModuleManager DLL into GameData directly, and then you unzip the Ubiozur zip on the desktop, and move just UbioWeldingLtd into GameData, like this:

55jUCsq.png

The 2.5.3 kinda works on 1.7.3. I remembering fixing some bugs on my fork, but you will need to install dependencies to use it.

In both ones, you will have some problems on welding parts with Variants (as the fuel tanks). I think it will be more productive to use 1.5.1 for welding, but then you would need to copy some textures from zdeprecated into the original place (SXT from LGG has a script that does that for you).

akz0B5a.png

 

Let me know if you need some more help! Weld safe! :P

Link to comment
Share on other sites

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