Jump to content

[1.0.2] B9 Aerospace | Procedural Parts 0.40 | Updated 09.06.15


bac9

Recommended Posts

I've found a bug, but couldn't find a known issues section (maybe i'm just blind?).

I built a shuttle in the SPH, the underside material of the wings is HRSI, the topside material is LRSI. When i import this shuttle to the VAB to attach to a launcher, the materials are no longer symmetrical. (the left wing top material is LRSI, the right wing top material is HRSI).

The wings were placed with double mirror symmetry and angle snap off, in the SPH. Rotating the shuttle in the VAB occasionally seems to invert the materials again (left wing top switched to HRSI, right wing top changed to LRSI). Turning symmetry double, switching to mirror, angle snap off, and replacing the wings does not help. However changing the symmetry to radial does in fact fix the texture issue, but also creates the issue of having asymmetrical wings.

I can post pictures and/or craft files if necessary.

Link to comment
Share on other sites

I've found a bug, but couldn't find a known issues section (maybe i'm just blind?).

I built a shuttle in the SPH, the underside material of the wings is HRSI, the topside material is LRSI. When i import this shuttle to the VAB to attach to a launcher, the materials are no longer symmetrical. (the left wing top material is LRSI, the right wing top material is HRSI).

The wings were placed with double mirror symmetry and angle snap off, in the SPH. Rotating the shuttle in the VAB occasionally seems to invert the materials again (left wing top switched to HRSI, right wing top changed to LRSI). Turning symmetry double, switching to mirror, angle snap off, and replacing the wings does not help. However changing the symmetry to radial does in fact fix the texture issue, but also creates the issue of having asymmetrical wings.

I can post pictures and/or craft files if necessary.

It's impossible to fix it, mirror symmetry I'm using in SPH is done by KSP, not my mod, and it will invert whenever it wants as you rotate the craft. Unfortunately, there is no proper mirror symmetry that works with VAB. I'm afraid you'll have to make the shuttle slightly tilted in the VAB to stop KSP from misunderstanding the desired mirroring axis.

Link to comment
Share on other sites

It's impossible to fix it, mirror symmetry I'm using in SPH is done by KSP, not my mod, and it will invert whenever it wants as you rotate the craft. Unfortunately, there is no proper mirror symmetry that works with VAB. I'm afraid you'll have to make the shuttle slightly tilted in the VAB to stop KSP from misunderstanding the desired mirroring axis.

How about making this togglable instead of autodetect?

If autodection is faulty due to KSP restrictions, but Shuttles are naturally used in the VAB, then autodetecting "uppper/lower" side is inferior in functionality to manual control. You could use something like a default lower/upper side, which matches the likely attachment side of the wing based on the initial SPH loading camera angle. And then the toggle function in the right click context menu.

Link to comment
Share on other sites

How about making this togglable instead of autodetect?

If autodection is faulty due to KSP restrictions, but Shuttles are naturally used in the VAB, then autodetecting "uppper/lower" side is inferior in functionality to manual control. You could use something like a default lower/upper side, which matches the likely attachment side of the wing based on the initial SPH loading camera angle. And then the toggle function in the right click context menu.

It's a config value that is only taken into account on initial load of the part, so as far as I understand I can't disable it in VAB or enable it only in SPH - it will have no effect.

Link to comment
Share on other sites

Ah, ok.

I found another problem: When starting a new career (unupgraded SPH), the width restriction (15m) seems to be based on the default wing form. I use a basic 1.25m fuselag, attach a 3m wing to it (with control surfaces at the back), then a 1.5m wingtip.

This should give a total width of 10.25m, but the SPH info panel (with the building restrictions) shows a width of 15.3m (most likely rounded up from 15.25m). That 15.3m does not increase, if I set the length of the wingtips to 4m, instead of 1.5m. Only if I go beyond 4m, the total shown width increases.

I plan to use B9procedural in my SETI-BalanceMod from the beginning, so this is a major issue for career compatibility.

edit: How do I change the default part size to avoid/minimize this issue?

Edited by Yemo
Link to comment
Share on other sites

To be honest I strongly dislike pwings-style abstract multipliers in place of objective thickness measurements so I'd prefer not to go that route. I already provide tools that allow you to quickly match thickness (and other parameters) to those of a parent, making modular wing assembly pretty easy and fast. Doing things like forcing the upper thickness limit from the parent tip thickness, though, I feel, would be potentially problematic for many designs. It's logical when you attach your next wing to the tip cross section of another wing. But what if you're adding a perpendicular tail? Or small protrusion with an internal fuel tank, or an aerodynamic drop tank? The code has no way to know the difference, and forcing some changes to thickness setup would be pretty irritating to users in the latter cases.

I'll look into it. Initially edges were using a multiplier dependent on the thickness of the wing to make them proportional, but that approach was extremely inconvenient when you wanted to match multiple wing segments and control surfaces together, since edge length jumped all over the place with unsightly distortion and non-obvious origin. I feel that, just as with thickness, making the user set an absolute width like 0.48m makes things look nice and makes editing more simple. I'd like to come up with a way to dynamically change field limits first, though - I don't want to allow two meter long trailing edge on a wing that is eight centimeters thick, just like I don't want to allow sixteen meter offset of the wing tip for a wing that is just fifty centimeters wide, and so on. Once that is in place, I can allow higher limits for bigger wings without enabling silly stuff with smaller wings.

It's not possible to keep edges nice-looking at an arbitrary width too far beyond 0.24-1m so I can't do that. The purpose of the flat section of a control surface is to allow the edge to keep vertical component of texture coords completely fixed by taking most width away from edge geometry. Edge texture coordinates are very complex and unique on most vertices, making it an extreme hassle to remap them procedurally anywhere but on the U axis. Also, take a look at the edge texture - it's never supposed to be tiled vertically, so surface-like tiling is out of the question even if I write some kilometer long algorithm that can remap hundreds of vertices on arbitrary edge models. So yeah, split between flat section and trailing sections on control surfaces is a necessary evil and there to stay.

For example from real life knowledge and experience I would always want my transport aircraft wing root chord at roughly 14% t/c, tip at 11%. If we have non-dimensional settings, no matter how I tweak the plan form geometries, my wing t/c is always on the desired values. But I guess we don't have such a need in the game yet as FAR don't really simulate the effect of t/c that much.

Same goes root install angle and wing twists, if that can be done it would be awesome but not likely necessary for now, from both modding difficulty and simulation accuracy point of view.

Link to comment
Share on other sites

Version 0.30

rcdQOO2l.jpg

r5ws7xH.pngAXkQOlc.png

  • Shape match now calculates tip width relative to proportions of parent wing part (credit for the solution goes to ferram4)
  • Shape match now calculates tip offset which in combination with automatic tip width option allows you to perfectly match sweep angles between wing pieces.
  • Split the shape match button into three separately invoked options - sweep match, width match and edge match. It is now easily possible to make a section in the middle of a multipart wing have smaller tip/root width without stopping it from having sweep angles perfectly matching it's parents. This makes it easier to make wings with inserted control surfaces on the leading and trailing edges
  • Minor UI fixes

- - - Updated - - -

I found another problem: When starting a new career (unupgraded SPH), the width restriction (15m) seems to be based on the default wing form. I use a basic 1.25m fuselag, attach a 3m wing to it (with control surfaces at the back), then a 1.5m wingtip.

This should give a total width of 10.25m, but the SPH info panel (with the building restrictions) shows a width of 15.3m (most likely rounded up from 15.25m). That 15.3m does not increase, if I set the length of the wingtips to 4m, instead of 1.5m. Only if I go beyond 4m, the total shown width increases.

Edited by bac9
Link to comment
Share on other sites

The starting wing size is 4m length, that seems to interfere with the value considered by the info panel (unubgrades SPH allow only for 15m width craft).

I cant tell the poeple playing my mod, that they have to work around something like that.

I need to change the default 4m length to something like 1m per modulemanager config, so it is set for everyone using B9procedural with my mod. How can I do that?

As the 2 pictures show, the first narrow craft (4 times 0.25m procedural wings) is considered to be 10.8m wide, the second wide craft (one 4m procedural wing) is considered to be 9.3m wide by the info panel, and thus relevant for building restrictions:

rIhO9oN.jpg

CHFdax7.jpg

Edited by Yemo
Link to comment
Share on other sites

If you want to make the wing 1 meter wide before it's even attached and sits in the catalog or in the air, it's impossible - I don't have access to geometry at this point. 4x4x0.24m is the size of the original model, and only when it's attached, it is distorted into a new shape according to parameters you set. You can change default parameters to whatever values you want using the appropriate button in the menu. There are no invisible colliders or anything like that floating around from the original shape, though, and I correctly recalculate mesh renderer bounds and colliders on every geometry change, so this erroneous readout is entirely on KSP and I very much doubt that changing the size of the original model can fix this issue.

Link to comment
Share on other sites

Hm, ok,

with the distinct unmoddability of the building restrictions, that is a real problem.

Also, I did the screenshots with 0.30. The surfaces seem to be very white. I also cant seem to change the surface material anymore, neither top nor bottom.

Link to comment
Share on other sites

Hm, ok,

with the distinct unmoddability of the building restrictions, that is a real problem.

We don't need to mod them, we need a name of a method that updates the dimensions, I think. After getting it, triggering it through reflection _after_ all geometry for procedural wings is constructed would be pretty easy and would fix the issue.

Also, I did the screenshots with 0.30. The surfaces seem to be very white. I also cant seem to change the surface material anymore, neither top nor bottom.

The release screenshot is also made on 0.30, and everything seems to work there. Make sure you're not alt-tabbing on load, this breaks KSP texture loader sometimes.

Edited by bac9
Link to comment
Share on other sites

With squad rushing 1.0 so much, that they introduce a feature like aerodynamics for the release version, instead of alpha or beta after being 3 years in alpha, I doubt any bug fixing/modding support will come in the reasonably near future, quite the contrary...

Anyway, I think I just use b9procedural and direct the KSP related issues to the squad support...

One more issue, though. The part description still mentions G as the customization key, instead of J which is used at the moment.

Link to comment
Share on other sites

One more issue, though. The part description still mentions G as the customization key, instead of J which is used at the moment.

Ah, so it was in a part description. I thought you were talking about descriptions in the window so I only looked for it in the code. Will change that next time then.

Edited by bac9
Link to comment
Share on other sites

I don't know if this was already posted, please point out the relevant post if it already is. I don't blame the B9 proc wings for this issue.

I came across a strange issue and did not found a way to reproduce a bug : sometimes after loading craft in SPH, the wing part assumes the name of parent part, even if re-attached. When hovering mouse over it, it's parent part and all sibling-parts and child-parts are highlighted in green. Some weird corruption of craft data. J key no longer works, but menu is properly displayed. May something to do with Part Wizard (i use it for symmetry breaking). This is basically off-topic but if this issue persists or i find a way to reproduce this bug, i'll post in appropriate thread. I just wanted to give a heads up for interaction of this plugin with other plugins.

Edited by fatcargo
Link to comment
Share on other sites

Great stuff on geometry auto-matching, that's a major annoyance gone :) ( and I haven't stumbled over any issues yet but limited testing so far ).

Couple of longer term ideas given you were eyeing extra-mod functionality:

* Solar panel surface ( might want to reduce strength on that considerably, unless you can break the solar panel surface seperately ). I'm looking at that from the point of view of light electric planes rather than using them on heavy spaceplanes, so I suppose there'd have to be other limits than strength too ( not least cost multiplier ).

* Surface radiators, although that's more awkward given I've yet to see a wing that was entirely radiator, unlike heat shielding.

Rather than building wingtips into the wing models, how about a procedural tip piece with optional built in nav lights? :) I have yet to work out a sane method of building landing gear bays into the wings and the other idea was for leading edge landing lights which I also haven't thought up a sane way to do, but wing tips/winglets seems a natural extension.

Edited by Van Disaster
Link to comment
Share on other sites

Great mod!

I'm just wondering about one thing:

What about adding buttons to switch the limit of the length and width of the wings?

Adding two buttons like "<<" and ">>" to switch the length/width from 0m - 16m to 16m - 32m ,etc. will just make GREAT convinence to people who are making super-large crafts (like me:)) .

Happy Modding ang Thanks!

- - - Updated - - -

Oh, one more thing. Before making a changable DRE heatshield mode, why not add a full-surface-coating config into the wings' configs? I have made a little sample config and I put it here=>DL

The link may not work, because it's the final (and may be use-able for only once) download link of my BaiDu netdisk file.(Here in China, you know, the government blocks Dropbox, Mediafire, Google Drive as well as Bitbucket(only DL):( , so I could use only few netdisks. Maybe I'll try OneDrive next time.)

Link to comment
Share on other sites

If you want to make the wing 1 meter wide before it's even attached and sits in the catalog or in the air, it's impossible - I don't have access to geometry at this point. 4x4x0.24m is the size of the original model, and only when it's attached, it is distorted into a new shape according to parameters you set. You can change default parameters to whatever values you want using the appropriate button in the menu. There are no invisible colliders or anything like that floating around from the original shape, though, and I correctly recalculate mesh renderer bounds and colliders on every geometry change, so this erroneous readout is entirely on KSP and I very much doubt that changing the size of the original model can fix this issue.

You need to implement the IPartSizeModifier interface in the module. The GetModuleSize return a vector3 that represent the current size Height, Length, Witdh (I doubt it's in that order) of the part.

Link to comment
Share on other sites

You need to implement the IPartSizeModifier interface in the module. The GetModuleSize return a vector3 that represent the current size Height, Length, Witdh (I doubt it's in that order) of the part.

Woah, thanks, that's pretty bizarre. Why aren't they simply using renderer bounds Unity already provides in a precise and consistent way? That's a rhetorical question

Link to comment
Share on other sites

* Solar panel surface ( might want to reduce strength on that considerably, unless you can break the solar panel surface seperately ). I'm looking at that from the point of view of light electric planes rather than using them on heavy spaceplanes, so I suppose there'd have to be other limits than strength too ( not least cost multiplier ).

Now, this is a really good idea!!! Would be happy as a lemming in the flight :)

Link to comment
Share on other sites

Could it be possible to have one panel, with the same size and colour options as the wings, that FAR treats as a structural panel and not a wing? I was able to easily make a custom Mk2 size bomb bay for example with just six pieces of wing in the mid-section of the hull but it's its, um, a bit distressing that they're treated as exposed lifting surfaces.

Javascript is disabled. View full album
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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