Jump to content

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


girka2k

Recommended Posts

6 hours ago, victor tan said:

Putting -popupwindow. This helps for people constantly Alt-Tabbing by making KSP run in borderless windowed mode.

Isn*t a simple borderless window mode enough? I always just use fullscreen so I never encountered these things.

Link to comment
Share on other sites

Not sure if this is still working, but sadly, even with ksp 1.1, I am getting terrible framerates around a mediocre sized station, and it's not even half done. I'll have to trash it and use hyperedit to put the new one in, after I use the parts welder. Not sure if it's working very well in 1.1, but my main question is, if the mod breaks, or support discontinues, will welded ships still work or will they be useless/broken when an update rolls around?

Link to comment
Share on other sites

3 hours ago, XOIIO said:

Not sure if this is still working, but sadly, even with ksp 1.1, I am getting terrible framerates around a mediocre sized station, and it's not even half done. I'll have to trash it and use hyperedit to put the new one in, after I use the parts welder. Not sure if it's working very well in 1.1, but my main question is, if the mod breaks, or support discontinues, will welded ships still work or will they be useless/broken when an update rolls around?

First of all the 1.1 release is not posted here yet, as I'm still improving and adding things.
Welding is no magic tool that can make everything go super fast, you can increase your performance by 10 to 25% based on the size and part count of the object.

Weldments will work as long as the original parts that were used in them are still there. Oh and 2.2.2 was tested and it does not work with 1.1 but the weldments will still work.

Link to comment
Share on other sites

On 4/20/2016 at 1:28 AM, Alewx said:

First of all the 1.1 release is not posted here yet, as I'm still improving and adding things.
Welding is no magic tool that can make everything go super fast, you can increase your performance by 10 to 25% based on the size and part count of the object.

Weldments will work as long as the original parts that were used in them are still there. Oh and 2.2.2 was tested and it does not work with 1.1 but the weldments will still work.

Glad to hear it, I tried it out anyways and it seems to be working great, and for me it certainly was like magic lol. I've got a pretty beefy computer, but even a 300 part ship was really causing issues, thankfully now it's actually going pretty good. Unfortunately things have a bit of issue snapping to welded objects, so if yo have fuel lines connected to something structural like I did (I'll post a picture in a bit), if you welded with the fuel lines on, they go all over, and if the part you connect too is welded on, they don't snap properly either, but that's understandable.

It still made a huge difference.

Link to comment
Share on other sites

On 20/04/2016 at 10:54 AM, XOIIO said:

Not sure if this is still working, but sadly, even with ksp 1.1, I am getting terrible framerates around a mediocre sized station, and it's not even half done [...]

I think a lot of this is to do with the colliders. For example, Nertea's NFT construction parts have quite detailed mesh colliders and the physics load from them will still be there with a welded part. I've been playing around with importing an unwelded part (i.e. before welding it using Ubio) as an entire craft into Blender, then bringing the whole thing back in through Unity, and redoing the colliders with simple box and sphere ones. That way, you can replace all the individual colliders of each part with one collider that covers them all. I call it "ultra-welding". It does work, and increases performance a lot, but it's quite labor-intensive, especially with the materials and the attachment nodes.

Edited by Bluebottle
Link to comment
Share on other sites

16 minutes ago, Bluebottle said:

I think a lot of this is to do with the colliders. For example, Nertea's NFT construction parts have quite detailed mesh colliders and the physics load from them will still be there with a welded part. I've been playing around with importing an unwelded part (i.e. before welding it using Ubio) as an entire craft into Blender, then bringing the whole thing back in through Unity, and redoing the colliders with simple box and sphere ones. That way, you can replace all the individual colliders of each part with one collider that covers them all. I call it "ultra-welding". It does work, and increases performance a lot, but it's quite labor-intensive, especially with the materials and the attachment nodes.

Do I understand that correct, you make new .mu file out of the existing parts?

About the colliders do they require a lot of eyeballing or can they maybe created automatically?

Link to comment
Share on other sites

On 21/04/2016 at 11:09 PM, Alewx said:

Do I understand that correct, you make new .mu file out of the existing parts?

About the colliders do they require a lot of eyeballing or can they maybe created automatically?

Yes, I make a new .mu. That requires doubling up the textures too, because my welded parts often contain parts from many different mods and I don't know how to use textures from other locations in GameData, or whether that's even possible. RAM usage therefore goes up. Also, I had to flip some textures - not sure if that's a GIMP import problem for DDS files or a KSPBlender plugin problem, probably the latter.

Colliders are quite straightforward. For long trusses you can make a bounding box in Blender and use that for a collider (by removing the mesh renderer from the bounding box in Unity, but keeping a collider). For individual parts sticking out of a truss (e.g. a fuel tank), I just use Unity to create a box collider around that one mesh. edit: Creating new colliders automatically would likely be impossible. It would first require huge amounts of time to get Taniwha's Python exporter working again, then you'd have to automate/script the Blender process, and on top of that create an amazing algorithm to identity the largest box-like shapes in the collection of meshes. :confused:

One thing should be clear: my method is for lifting the FPS at the expense of everything else. The resulting colliders can be terrible to work with when surface-mounting other parts in the VAB or SPH. I make cylindrical tanks use box colliders. But I don't care if the truss is just hanging around at the back of a huge station and no kerbal or ship ever goes near it.

edit: Welding a part with the Ubio plugin is still very useful. It provides a set of attachment nodes which usually just have to be offset in a consistent manner because the CoM of the part never stays the same. At least I've never figured out how to keep the CoM of the UbioZur-welded part. I also re-use the UbioZur config file, and effectively just swap out the model and node sections, for the most part.

Edited by Bluebottle
Link to comment
Share on other sites

10 hours ago, Bluebottle said:

Yes, I make a new .mu. That requires doubling up the textures too, because my welded parts often contain parts from many different mods and I don't know how to use textures from other locations in GameData, or whether that's even possible.

It is possible to use textures from differents folders of GameData through the MODEL node instead of "mesh = something.mu"

You have to create a placeholder texture of 1px for each texture used in the model and place it along with the .mu file.

Then create a MODEL node in the .cfg file where

texture = TextureName used in Unity, actual texture path

Names of the textures in Unity and final textures used can differ. Here's how I referenced a decoupler texture from the Squad folder for my "Wrapper" droptank.

   MODEL
    {
        model = KerbalHacks/WrapperTank/WrapperTank
        texture = WrapperTank, KerbalHacks/Parts/WrapperTank/WrapperTank
        texture = Decoupler, Squad/Parts/Utility/decouplerRadialTT-38K/model000 //my texture was called "Decoupler.tga", but I used Squad's model000.dds texture.
        scale = 1,0.8,1
    }

 

And yeah, I can confirm that welded colliders reduce the performance significantly. I noticed that when I welded a rocket launchpad from 162 asphalt tiles. The colliders were Unity primitive boxes but the performance hit was immense. Even in the editor my FPS dropped by 70% when I took out the welded part. I believe it is possible to disable them or unload just via programming and spawn new colliders instead, that's also possible. Kerbal Krash System mod and endeavors of Pizzaoverhead in his FreeIVA mod proved that. But the change is not permanent and will require the plugin to be present to take effect in performance enhancement.

Edited by Enceos
Link to comment
Share on other sites

9 hours ago, Enceos said:

And yeah, I can confirm that welded colliders reduce the performance significantly. I noticed that when I welded a rocket launchpad from 162 asphalt tiles. The colliders were Unity primitive boxes but the performance hit was immense. Even in the editor my FPS dropped by 70% when I took out the welded part. I believe it is possible to disable them or unload just via programming and spawn new colliders instead, that's also possible. Kerbal Krash System mod and endeavors of Pizzaoverhead in his FreeIVA mod proved that. But the change is not permanent and will require the plugin to be present to take effect in performance enhancement.

Hey, can you provide me with the unity assets for such a case? I would like to take a look at it maybe I can find a workaround.

Link to comment
Share on other sites

1 minute ago, Enceos said:

What kind of assets do you need?

The stuff in the scene, the models, with the colliders. everything that was there and showed you the Performance loss of the weldment.

Link to comment
Share on other sites

On 4/20/2016 at 3:28 AM, Alewx said:

First of all the 1.1 release is not posted here yet, as I'm still improving and adding things.
Welding is no magic tool that can make everything go super fast, you can increase your performance by 10 to 25% based on the size and part count of the object.

Weldments will work as long as the original parts that were used in them are still there. Oh and 2.2.2 was tested and it does not work with 1.1 but the weldments will still work.

Hi Alewx, I really love your mod and need it for my game to run smoothly with big crafts. Please update as soon as possible to 1.1

Keep up the good work.

Link to comment
Share on other sites

14 hours ago, Enceos said:

It is possible to use textures from differents folders of GameData through the MODEL node instead of "mesh = something.mu"

You have to create a placeholder texture of 1px for each texture used in the model and place it along with the .mu file.

Then create a MODEL node in the .cfg file where

texture = TextureName used in Unity, actual texture path

Names of the textures in Unity and final textures used can differ. Here's how I referenced a decoupler texture from the Squad folder for my "Wrapper" droptank.

   MODEL
    {
        model = KerbalHacks/WrapperTank/WrapperTank
        texture = WrapperTank, KerbalHacks/Parts/WrapperTank/WrapperTank
        texture = Decoupler, Squad/Parts/Utility/decouplerRadialTT-38K/model000 //my texture was called "Decoupler.tga", but I used Squad's model000.dds texture.
        scale = 1,0.8,1
    }

 

And yeah, I can confirm that welded colliders reduce the performance significantly. I noticed that when I welded a rocket launchpad from 162 asphalt tiles. The colliders were Unity primitive boxes but the performance hit was immense. Even in the editor my FPS dropped by 70% when I took out the welded part. I believe it is possible to disable them or unload just via programming and spawn new colliders instead, that's also possible. Kerbal Krash System mod and endeavors of Pizzaoverhead in his FreeIVA mod proved that. But the change is not permanent and will require the plugin to be present to take effect in performance enhancement.

Thanks for the texture tip, I hadn't seen that syntax before, or maybe I just didn't notice its significance.

Yes, I've had times where moving a part or adding one would incur a 5-10 second delay, every time. Annoying. Removing attachment nodes en-masse didn't make any objective difference. About the colliders, I was referring to doing it at (effectively) compile time, but those mods you reference are obviously doing it at runtime, which would be a better way. On the other hand, their problem domains are more strictly defined, and they're not attempting any kind of optimisation, AFAICT. FreeIVA's colliders are added manually, according to everything I can find in their thread. KKS would modify the shape of a collider but without removing anything from its mesh.

So, optimising the colliders would really be a shape-recognition problem which makes it similar to computer vision. A plugin would have to project a welded part's colliders and recognise sub-shapes that approximate boxes or spheres. Particle-swarms might be useful. At the most basic level, this problem is quite similar to captcha bots and OCR tech, but in three dimensions, although with only two shapes to approximate for. Not for the faint of heart.

Or, of course, it could be done with some kind of manually-created metadata that replaces the colliders at runtime, which is the FreeIVA method (again AFAICT). But each and every player would have to create a unique collider mesh to go with each and every welded part they want to improve performance for. That's what I've been doing, just not at runtime. :)

Edited by Bluebottle
Link to comment
Share on other sites

37 minutes ago, ApesUpt said:

Hi Alewx, I really love your mod and need it for my game to run smoothly with big crafts. Please update as soon as possible to 1.1

Keep up the good work.

I'm not a moderator, but I believe this is against the rules. Please allow several weeks for mods to be udpated to the most current version of KSP. 

Link to comment
Share on other sites

18 hours ago, OopsThatNotWork said:

I'm not a moderator, but I believe this is against the rules. Please allow several weeks for mods to be udpated to the most current version of KSP. 

What's against the rules: the over-keen request for an update or the cringeworthy pluralization of the already plural word 'craft'? "One spacecraft, two spacecraft, many spacecraft." "Using paint and popsicles I made an artsy craft, with even more I made two crafts."

(Sorry, pet peeve of mine.)

Link to comment
Share on other sites

On 2016-04-19 at 1:22 PM, Alewx said:

Isn*t a simple borderless window mode enough? I always just use fullscreen so I never encountered these things.

" -popupwindow" does make the KSP window borderless; it's commonly used with a window resolution the same as the full monitor screen.  Most games' "fullscreen" settings, including KSP's, is slightly different, using an alternate video display set up in a new patch of memory.  Using alt-Tab to go to and from games when they're "fullscreen" can cause issues.  As well, when set to "fullscreen" the games often pause or mute their audio when not onscreen.  Using a full-size borderless window, as with " -popupwindow", can avoid some problems.

Edited by Jacke
Link to comment
Share on other sites

On 4/22/2016 at 5:48 PM, Bluebottle said:

Welding a part with the Ubio plugin is still very useful. It provides a set of attachment nodes which usually just have to be offset in a consistent manner because the CoM of the part never stays the same. At least I've never figured out how to keep the CoM of the UbioZur-welded part. I also re-use the UbioZur config file, and effectively just swap out the model and node sections, for the most part.

After tiring of always having to make manual corrections to the coordinates in my weldment CFG files, I made an EXE to do the offsets for me.  Not sure if it's the same thing you're talking about, but let me know if you want it.

On 4/26/2016 at 1:23 AM, Jacke said:

Using alt-Tab to go to and from games when they're "fullscreen" can cause issues.

Indeed, I too use the "-popupwindow" option on a regular basis (to heal issues otherwise caused by Alt+Tabbing too much) and have never noticed it cause problems with this mod.

Link to comment
Share on other sites

Is this where 2.3.0 related issues are reported?

Stacking three universal quadcores (i assume any or all parts) and using the weld breaks FAR voxelization for the whole craft, perhaps remove copying the module by default? I will try to see if it's different if that module is excluded under advanced options.

Link to comment
Share on other sites

Aeronautic parts are still problematic, at least.
Code example or craft would be good at this point.

And 2.3.0 is still a beta and this may be so until SQUAD has published the planned patch.

Edited by Alewx
Link to comment
Share on other sites

About the collider thing, is it perhaps possible to have an option to simply remove the collider completly ? making the part physicsless ? It's an half assed solution but at least it'd let make big stuff :)

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