Jump to content

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


girka2k

Recommended Posts

8 hours ago, Fair_Player[PL] said:

Hey.

I have tried this mod today and I have a question. After welding the parts should I get more FPS? I have made the test on strutCubicOcto

I have connected 800 strutCubicOcto together without welding = 5FPS

Then I have welded 200 strutCubicOcto together into one part and then connnected 4 welded long parts together (4welded parts, 200 cubicocto in each welded parts gives 800 but in hangar KSP said that this experiment has only 4 parts, so it has been welded corectly).....result? 5 FPS with 4 prats...

If I understood corectly welding parts together should reduce phisics calculation for CPU, but it doent matter if I have 800 strutCubicOcto  welded or not computer reaches 5FPS. So whats the point of welding pats?

Thanks for help

 

It is possible that due to the new unity and physics version welding is no longer as effective as before, but 800 parts is already quite a large craft.

Also Welding is no ultimate solution, you will need a bit of base knowledge about unity3d to fully understand what it does and what is advantage is but, it reduces a fraction of the gameobjects that are used for the craft by welding them into a single object.

Link to comment
Share on other sites

5 hours ago, Alewx said:

It is possible that due to the new unity and physics version welding is no longer as effective as before, but 800 parts is already quite a large craft.

Yes that's true, I have discovered that not calculating of physics makes fps drop but maybe rendering, graphical engine....I dont know but thinking abut this in logical way, if the ship has been builded from 400 different kind of parts that I can understand that is heavy for PC but if it has been builded form 400 prats from the same kind, then whats the problem for PC if all 400 prats has the same shape, texture, mesh etc. but unfortunately it is like that.

I had the hope that if I will weld 200 parts of same kind together then stress of CPU/GPU will fall dawn, but it seems like it's not like that.

One more thing what comes to my mind is maybe it would be better if welded parts would not builded in .cfg file like:
frame+frame+frame+frame etc because then computer has to collect and attach all those parts together form single default parts but maybe do something what would create brand new part with new shape, texture etc. then maybe it would be more frame friendly for our PC's. But i know that to write such a program/mod it would be the very hard. But what do you think about it? In your opinion it would help with FPS?
For example:
1xframe has 2m long
we want connect 100m
so after welding program would craft completly brand new part based on default part but with new mesh file texture and phisical specyfications, so cfg file would be much shorter and CPS will not have to read specyfication for each welded part from default parts.

You did very good job with this mod but now KSP seems to work in strange other way, that even when parts are welded PC is counting something in background not like as for single welded part but like for each part form which welded part has been assembled, its not physics maybe graphic and rendering, I don't know but something is strange in new KSP.

I have rather strong PC (builded specialy for Microsoft Flight Simulator) so if you would like to test something heavy let me know.

Sorry for my English, it is not my mother language, but I hope that you will understand my way of thinking

Greetings

Edited by Fair_Player[PL]
mistakes
Link to comment
Share on other sites

On Sunday, July 10, 2016 at 0:26 AM, jmbailey2000 said:

I've got a weird one I wanted to see if anyone has experienced (I've used the welder for a long time and never seen this)........

I have a simple craft welded. Put an engine and a docking port on it AFTER the welding. It works great.

Take a second craft (with out without welding) and dock the 2 in space. Works great. Except for some reason, I cannot do anything like change crafts or go to the Space Center. I get a message that says "Warning! You are moving over the surface". Get the same message when trying to switch to another craft in orbit. I can undock them and everything is fine. I haven't really had any issues with the welding until I started testing a couple ships docking. I know there is a docking issue in 1.1.2 or 1.1.3, but I have never experienced it in 1.1.2 and I'm not running 1.1.3 yet. I don't have this issue if I use the exact same parts in the 2 ships with no weldments. 

Anyone ever experienced this before?

 

Using Hyper-edit by chance?  I've seen it cause those problems after hyper-editing craft into orbit for docking tests.  If you first HE the craft up there, go to the space center, and then -back- to the craft they can successfully dock and undock.  (Something about hyper-edit not properly clearing the grounded state when setting a craft in orbit; thus the game thinks you are still 'landed', but as you are moving at orbital velocity, it thinks you are moving across the ground and thus the normal 'no save/space center' checks come into play).

Link to comment
Share on other sites

7 hours ago, Shadowmage said:

Using Hyper-edit by chance?  I've seen it cause those problems after hyper-editing craft into orbit for docking tests.  If you first HE the craft up there, go to the space center, and then -back- to the craft they can successfully dock and undock.  (Something about hyper-edit not properly clearing the grounded state when setting a craft in orbit; thus the game thinks you are still 'landed', but as you are moving at orbital velocity, it thinks you are moving across the ground and thus the normal 'no save/space center' checks come into play).

Well, well, well.......as a matter a fact I am! Guess I'll give that a try and see what happens!! Back shortly!

 

Link to comment
Share on other sites

7 hours ago, Shadowmage said:

Using Hyper-edit by chance?  I've seen it cause those problems after hyper-editing craft into orbit for docking tests.  If you first HE the craft up there, go to the space center, and then -back- to the craft they can successfully dock and undock.  (Something about hyper-edit not properly clearing the grounded state when setting a craft in orbit; thus the game thinks you are still 'landed', but as you are moving at orbital velocity, it thinks you are moving across the ground and thus the normal 'no save/space center' checks come into play).

 

YOU SIR, ARE A GOD!!!    I'M NOT WORTHY!!! I'M NOT WORTHY!!!!

Well, that did it. Thank you SO much!!!!

Link to comment
Share on other sites

  • 3 weeks later...
On Wednesday, July 13, 2016 at 4:11 PM, Alewx said:

It is possible that due to the new unity and physics version welding is no longer as effective as before, but 800 parts is already quite a large craft.

Also Welding is no ultimate solution, you will need a bit of base knowledge about unity3d to fully understand what it does and what is advantage is but, it reduces a fraction of the gameobjects that are used for the craft by welding them into a single object.

Hi im having the same problem in Unity 5. My 3000p+ welded ship perform well(about 20FPS after launched) in Unity 4 version KSP, but in 1.1.2 and 1.1.3 it even cant be launched from the SPH(always blackscreen)! when i only launch the welded deck of the ship(1000p+), the FPS was only about 5 ,same as the unwelded one ,seems the weld now only strengthen the craft ,but cant increase FPS......

Link to comment
Share on other sites

On 7/13/2016 at 1:11 AM, Alewx said:

It is possible that due to the new unity and physics version welding is no longer as effective as before

I've been wondering the same.  Has anyone done any comparison testing since the update (even subjective)?

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
On 8/11/2016 at 0:36 AM, Alewx said:

I did no explicit testing so far, but it is quite possible that the new Physics version is already making welding obsolete.

I haven't done any scientific testing, but I think "obsolete" might be a strong word.  My gut feeling so far is that welding does still yield performance improvements.  I've been working on a series of heavily welded craft for a huge, single-launch mission, and am keeping preweld equivalents handy for the various stages.  If/when I get it done, I'll do some comparison testing and report back.

 

In the meantime, a new bug report:  I think UbioZur Welding Ltd Continued does not correctly handle rescaleFactor (and possibly scale and/or CoMOffset?).  Encountered it trying to weld a Vernor Engine to the baseplate of an LT-2 Landing Strut, dubbed the VernorLeg.

Note stock vernorEngine.cfg contains:

scale = 1
rescaleFactor = 2

And stock landingLegLT-2.cfg contains:

rescaleFactor = 1.25
CoMOffset = 0, 0, 0.1

First I made a copy of the latter, called landingLegLT-2-AllowSurfaceAttach.cfg, in which I manually converted from mesh to MODEL syntax, and flipped on allowSrfAttach:

rescaleFactor = 1.25
....
attachRules = 0,1,0,1,0 // CHANGED fourth value to accept surface mounted parts
....
CoMOffset = 0, 0, 0.1
MODEL
{
    model = Squad/Parts/Utility/landingLegLT-2/model
    position = 0, 0, 0
}

Then I placed the leg and attached a stock Vernor engine to it.  Preweld craft looks like this (and you'll need the above part to load it):

4DufKzM.png

Note the cubic strut wasn't included in the partbranch.  Post-weld comes out like this:

T6XzlP3.png

Leg looks the correct size, but the Vernor engine is way too big.  I think the scale values for the Vernor in the output weldment should be 2, not 4:

rescaleFactor = 1
....
MODEL
{
    model = Squad/Parts/Utility/landingLegLT-2/model
    scale = 1.25, 1.25, 1.25
}
MODEL
{
    model = Squad/Parts/Engine/vernorEngine/NewModel
    ....
    scale = 4, 4, 4 // THESE ARE WRONG; SHOULD BE 2
}

Thinking I made a mistake crafting the MODEL section, I next tried doing an in-place edit of the stock landingLegLT-2.cfg.  The ONLY thing I changed was the second-last value of attachRules (0 --> 1), then repeated a similar weld as above.  Here's the preweld and postweld.  (Note you can load the preweld using the stock game, even though the craft file technically breaks the landing strut's attachRules).  This time both the Vernor and the leg came out too big.  Here are some side-by-side comparisons:

9Kxlax0.png

And here is the second weldment output:

rescaleFactor = 1
....
MODEL
{
    model = Squad/Parts/Utility/landingLegLT-2/model
    scale = 1.562, 1.562, 1.562 // SHOULD BE 1.25
}
MODEL
{
    model = Squad/Parts/Engine/vernorEngine/NewModel
    position = 0, 0.66, 0.148
    scale = 4, 4, 4             // SHOULD BE 2
    rotation = 0, 90, 35
}

So I think UbioWeld isn't correctly applying rescaleFactor to the mesh when creating the MODEL node for the weldment.  (Maybe Squad changed around how rescaleFactor works since the original mod was coded?  Here's some very old info.)

Also I'm wondering if during welding Ubioweld treated the CoM Z-coordinate of the leg as 0.1 as indicated by its CoMOffset, or if it simply discarded / ignored that line from the CFG and recalculated CoM from scratch using only the models?  (Since I ended up making my VernorLeg by hand instead of using UbioWeld, I didn't check on that)

Hopefully you have a better understanding of all this than I do, and this is enough info for you to make sense of what's going on to be able to fix without breaking other stuff :-).  I realize all this conversion and coordinate mapping is tricky and convoluted, and that most folks aren't hacking stock parts to bypass surface mount restrictions.

ps. Note I'm using KSP 1.1.3

Edited by Fwiffo
Better image
Link to comment
Share on other sites

suggestion: welding a part to its direct root via the right-click menu, to easily weld struts without having to create a vessel that contains only the root and the strut every time. don't know if that is feasible, or even possible, but it seems like a worthy addition to me.

Link to comment
Share on other sites

On 9/3/2016 at 3:51 AM, blub01 said:

@Fwiffo I haven't actually tried the mod yet. it just didn't seem like something you could do judging by the description.

@blub01: I guess I misunderstood your question?

 

Also, to the general public: I have some questions mostly related to animations on weldments.  I know these aren't guaranteed to work (and I'm impressed with how much actually DID work in my experiments).  I posted here since I think some of this has more to do with CFG file stuff than anything UbioZur-specific, but have a look and let me know if you have any ideas: 

 

Edited by Fwiffo
Link to comment
Share on other sites

On 9/15/2015 at 4:42 PM, Shadowmage said:

For many parts using one of each unique part will be okay - EXCEPT in cases where they used the same transform or animation name in both parts (which is quite a few stock parts). E.g. if the deploy animation for two antennas is both named 'deploy', only one of them will function.

Could this conceivably be worked around by copying the mu file(s) to custom ones and then editing them to rename the animations to distinct names?

Edited by Fwiffo
Link to comment
Share on other sites

47 minutes ago, Fwiffo said:

Could this conceivably be worked around by copying the mu file(s) to custom ones and then editing them to rename the animations to distinct names?

In theory... yes, I believe it should be possible.  The animation name would have to be defined somewhere in the .mu file, likely as a single string value.  You would have to change the name in the .mu file, and reference your -new- (edited) model file in your resulting weld.  Note however that this will not work around the limitation for -transform- names for things like solar panel pivots; for those you need to change the actual transform names in the model, which would likely break the animations.

However editing of .mu files is not the simplest undertaking.  They use a binary encoding for most of the data, almost data-stream style layout; even simple strings have some header bits for the length and terminator bits for the end.  There may also be data in the header block with specific pointers for the sub-block lengths/start bytes, which may all get corrupted if things get changed near the beginning or middle of the file (e.g. a longer string is inserted, and suddenly all the pointers in the header are invalid).

I honestly haven't dug into the internal format of it too far.  I wrote a simple java program to replace texture names in the materials in the .mu files, which might actually work for replacing an animation name... all depending on -if- there is length/pointer data in the header block.  It worked for texture names, but those are all at the end of the file in what appears to be an indexed materials block, and also appears to be the last block in the file.  I suppose shoot me a PM or quote/mention me if you are interested in investigating that end of things.

Link to comment
Share on other sites

@Shadowmage Thanks for the suggestions.  I can do rudimentary mu file import / export from Blender via KSPBlender, and saw a step-by-step thread somewhere around that walked you through part file creation (including all the unpacking / packing stuff, and something about using a set of coordinate origin ).  It looked complicated but feasible.

The hex edit idea is also great.  Since all I need is to give them unique names, I can keep the string lengths the same.  In fact I tried this out quickly and it solved my problem #3 over here.  I'm able to have a welded part with a Mystery Goo and a Science Lab Jr (material bay) - both of which have a ModuleAnimateGeneric sharing the same animationName "Deploy" - and by changing the Goo's to "Geploy" I can now operate the bay doors and the goo cover separately.

Now if only I could find a way to make animations that are supposed to be triggered by ModuleScienceExperiment work properly in weldments!  Unfortunately that module doesn't have an animationName I can tweak.  In fact, I can't for the life of me figure out how those modules are wired up to trigger animations in the stock parts.

Edited by Fwiffo
Link to comment
Share on other sites

 

So two things.......I cannot get welding to work/activate if the Cryogenic Tanks mod by Nertea is loaded. The Cryogenic Engines with the LFO patch don't cause an issue, but the Tanks do. Anyone else seen this behavior?

And does anyone get really cool LSD psychedelic colored fuel tanks if the tanks have multiple meshes? Doesn't appear to effect the welding or the operation of the craft, just the visual characteristics of the object. All the tanks and caps were all the same dark grey color just like the center tank before welding.

 

RH1RjpU.jpg

 

Edited by jmbailey2000
Link to comment
Share on other sites

13 hours ago, jmbailey2000 said:

 

So two things.......I cannot get welding to work/activate if the Cryogenic Tanks mod by Nertea is loaded. The Cryogenic Engines with the LFO patch don't cause an issue, but the Tanks do. Anyone else seen this behavior?

And does anyone get really cool LSD psychedelic colored fuel tanks if the tanks have multiple meshes? Doesn't appear to effect the welding or the operation of the craft, just the visual characteristics of the object. All the tanks and caps were all the same dark grey color just like the center tank before welding.

 

RH1RjpU.jpg

 

That's the usually effect if you have multiple parts clipped over top of each other.  Are you sure you haven't superimposed parts?

Link to comment
Share on other sites

2 hours ago, jmbailey2000 said:

Positive. I rarely, if ever, clip parts. If I use standard Kerbal tanks or tanks with no mesh changing, don't see this issue.

Parts overlaying can happen even without explicit clipping; happens when attaching parts.  Usually it's when the adapter parts are used; another common case is with multiple subassemblies are attached.  Easiest way to identify it if you're not sure is to check the numbers.  All the parts, even multiple ones overlaying each other, will be summed up.  So resources and masses will be too high.

Link to comment
Share on other sites

If my root part (or the one I pick in Select Partbranch) has been rotated, the entire weldment generated by UbioZur gets rotated.  This is causing a problem with incorrectly oriented INTERNALS and (less critically) false "Command modules facing the wrong way" messages.  Is there any way to prevent the mod from rotating everything, or an easy way to rotate it all back in the CFG post-weld?

EDIT: So I was somewhat able to work around by adding a normally-oriented strut to my preweld and making it the root part.  Plan to manually rip it out from the CFG post-weld.  If there are easier alternatives let me know.

Edited by Fwiffo
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...