-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ROMaterials: Skin/TPS selection inside Editor #22
base: master
Are you sure you want to change the base?
Conversation
Parts implementing this, get a customization option inside VAB/SPH, for both core & exterior shell material/construction, which in turn affects the thermal properties of the part as a whole.
PresetROMaterials.cfg: add variable explanation, cleaned names ModuleROMaterials.cs: - make core choose option inactive by default - save core & skin values defined in cfg - improve implementation of core preset defined in cfg - clean how presetCoreName gets overwriten, make it go through PresetCore - move thermal mass calculation in updateGUI function - make updateHight function differentiate new skin preset & not
Flight display to GUI with basic information SkinHeight option for Part in cfg Module Function to make shure core/skin defined in cfg gets addet to core-/skinPresets list Nullref Exception check for UpdateCoreForRealfuels() -Expanded ThermalConductivity calculation ApplySkinPreset() function to foreward skinNew parameter to UpdateHeight() Handle skin to skin conductivity value same as skin to internal for now Expanded Matarials.txt Revised PresetsROMaterial.cfg explanation on start of the file
HERO. :) |
I forgot to mention, it is still WIP, the configs are in early stages and the code has some bugs. I'm going append a list of features/bugs tagged with wip, missing, planned & finished. |
Hot damn! That's good. |
That's amazing, well done |
…ng contact area from surface area and also the option to ignore all surface attached parts, for the same thing. The main idea is to use this on parts that can hold internal attachments, like corgo bays.
…the shuttle. added an excel sheet to ease preset calculation moved temporary part patches for testing in here
Added a multiplayer to heat capacity of all surface sections & layer, based on the fraction between max temp of section/layer & the part/section. This is to compensate the dissonance between the supposed temperature difference between layers & section & kerbals uniform temperature modelling.
…eg. when loading a craft with removed or renamed preset.
…et called twice om OmStertFinished
…surface area - Default to fARAeroPartModule for surface area calculation - Removed no longer needed debug logs - Implemented a calculation to keep the thermal mass the same on TPS change
… when TPS height changes & skip waiting for voxelization
Sorry, for some reason our CI is trying to build this despite it being on another fork. Please ignore any spam from github in that regard. :) |
Build a workaround to update mass diplay in GUI Currently, the modules ModuleFuelTanks and FAR update their mass through periodic checks in the Update() / FixedUpdate() functions, which causes a delay in reflecting changes made through the uiControlEditor. As a result, the onFieldChanged calls on these modules execute before they update their mass. Other Changes: - Use OnPartVolumeChanged event to catch volume changes in ModuleROTanks - Fire EditorShipModified event sender only if the module mass has changed
-Add eraly shuttle & shuttle presets -Tweak excel sheet calculations
No worries :) |
- reduced number of tries of rechecking for mass update - ignore next voxelization if onEditorShipModified is fierd from ROMaterials
where the value of skinMaxTemp is set to average temperature across part, instead of localised maximum.
…erty values Thermal mass value of the core is no longer influenced by thermal mass of skin and vice versa
… mass value, after subtracting skin mass
Load temperature dependent properties array into Module on Loading if LoadedSceneIsFlight. Removed part.heatConductivity from skinInternalConductionMult calculation. Check for infinity on heightfactor calculation after TPS change.
…ls_csv_calculator Updated Notes
…ghtMax == skinHeightMin
…check for displaying & updating Flight Debug Display
…ffects skinInternalConductionMult calculation
…ion, - csv directory reorganization
Removed persistance of FlightDisplay & Debug Fileds Temporarliy disabled getting surface area from ProceduralParts module Split LoadThermalPropertiesAttay function into two for skin & core Small changes on Debug.Logs
…manipulation to ApplyCorePreset
…alMassModifier) multiplier into one get Method
…t definition via cfg, scince with far installed, the game gets its in flight surface area from far Fixed bug with flightDebug display
…, adjusting it to FlightIntegrator calculation
…ent fired via harmony patch
… Height change for Skin
… to input a referance surface density for module mass calculation
…g of core preset, based on value defined in config
@fluff-li please let us know when you're ready for this to be tested / merged! :) |
First, I'm not sure if this is the right Repo for this, it started as an extension to ROHeatshields but grew bigger.
This is a material based thermal property extension, inspired by RO_Materials.cfg & ROHeatshields, adding the ability to select the Skin/Thermal Protection System of a part inside Editor.
The selected preset effects all skin related thermal properties, mass and cost.
The preset list is defined per part base. The preset definitions are not attached to parts.
Core material changes based on tank types from Realfuels and in connection also the part properties.
Variables "thermalMassModifier" (Specific Heat Capacity), "skinInternalConductionMult" (Thermal Conductivity) and "emissiveConstant" change based on skin temperature, mimicking real-life behavior.
Tool for creating the Preset configs and csv tables fluff-li/RoMaterials_csv_calculator
Depends on: ProceduralParts - fork: to calculate surface area on procedural partsTo Do:
Automatic Reentry Tagging in ModuleTagListCheck interaction with MLI layeringWIP/Bugs:
Unreliable/wrong surface area calculation using FARAeroPartModule, editor & inflight values differ- The big inconsistencies seem to occur only on Procedural & ModularTank partsModuleROTank: changing Nose/Mount variant doesn't update dataGUI: part weight lags behind, when tank type gets changedSurface attached parts/children don't calculate contact areaGets taken care of by FAR voxelization