Skip to content
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

Add VertexHeightOblateAdvanced from SpaceDock #9912

Merged
merged 2 commits into from
Feb 11, 2024

Conversation

netkan-bot
Copy link
Member

This pull request was automatically generated by SpaceDock on behalf of Lt_Duckweed, to add VertexHeightOblateAdvanced to CKAN.

Please direct questions about this pull request to Lt_Duckweed.

Mod details

Key Value
Name VertexHeightOblateAdvanced
Authors Lt_Duckweed
Abstract VertexHeightOblateAdvanced is a custom PQS Mod intended for use by planet modders to enable easy creation of oblate bodies via a simple PQS Mod, rather than via a heightmap
License MIT
Size 18.98 KiB
Homepage https://forum.kerbalspaceprogram.com/topic/222923-1125-kopernicus-vertexheightoblateadvanced-100-easy-oblate-bodies/
Source code https://github.com/jamespglaze/VertexHeightOblateAdvanced

Description

VertexHeightOblateAdvanced

VertexHeightOblateAdvanced is a custom PQS Mod intended for use by planet modders to enable easy creation of oblate bodies via a simple PQS Mod, rather than via a heightmap. Additionally, when in the SOI of a body implmenting VertexHeightOblateAdvanced, two new camera modes will be added to the camera rotation after FREE mode to better support non-spherical bodies.

Installation and Use

  • Install ALL listed dependencies, following the links below
  • Download and extract the VertexHeightOblateAdvanced zip file
  • Place the GameData folder into your KSP directory
  • Once installed, simply add a VertexHeightOblateAdvanced node to the Mods node in your body's PQS node
  • Using the following Google Sheet, find appropriate periods for your body to get the desired oblateness, based on body surface gravity and radius.

Camera modes:

  • SURFACE NORMAL
    • Functions like FREE camera mode, but with the vertical axis aligned perpendicular to the shape defined by the VertexHeightOblateAdvanced instance. This eliminates the "uphill effect" that oblate bodies have.
    • Lerps to FREE camera mode when greater than 10% of the body radius above the maximum oblate height.
  • GRAVITY NORMAL
    • Functions like FREE camera mode, but with the vertical axis aligned with the local apparent gravity vector, taking into account the effects of rotation. Surfaces that look flat and level are actually flat and level relative to gravity.
    • Lerps to FREE camera mode when greater than 10% of the body radius above the maximum oblate height.

Parameters and expected values:

  • oblateMode: overall controller for type of generation used
    • Values: (PointEquipotential, UniformEquipotential, Blend, CustomEllipsoid)
      • PointEquipotential: Generates a point mass equipotential
      • UniformEquipotential: Generates a uniform density equipotential, either a Maclaurin spheroid or Jacobi ellipsoid deppending on energyMode and period
      • Blend: Multiply a PointEquipotential by a CustomEllipsoid
      • CustomEllipsoid: Generate an ellipsoid based on a, b, and c axis values
  • energyMode :
    • Used with: oblateMode (UniformEquipotential)
    • Values: (Low, High)
      • Low: For the given period, generate using the low oblateness branch. Always generates a Maclaurin spheroid
      • High: For the given period, generate using the high oblateness branch. Generates either a Maclaurin spheroid or Jacobi ellipsoid based on period
  • mass: Mass of the body. Optional if both radius and geeASL are provided.
    • Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend)
    • Value: (greater than 0)
  • radius: Mass of the body. Optional if both mass and geeASL are provided.
    • Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend)
    • Value: (greater than 0)
  • geeASL: Surface gravity of the body. Optional if both mass and radius are provided.
    • Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend)
    • Value: (greater than 0)
  • period: Rotational period of the body. Used with PointEquipotential, UniformEquipotential, and Blend oblateMode.
    • Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend)
    • Value: (greater than 0)
  • a: The primariy equatorial axis as a ratio of provided radius.
    • Used with: oblateMode (Blend, CustomEllipsoid)
    • Value: (1 to infinity)
  • b: The secondary equatorial axis as a ratio of provided radius.
    • Used with: oblateMode (Blend, CustomEllipsoid)
    • Value: (1 to infinity)
  • c: The polar axis as a ratio of provided radius.
    • Used with: oblateMode (Blend, CustomEllipsoid)
    • Value: (1 to infinity)

Requirements

FAQ

  • Q. I'm not a planet modder? Do I need this?
  • A. You do not need to install it manually yourself, but if you found this in you GameData, it is because a planet pack you have/had needs/needed it and so it was either included with the mod or auto installed through CKAN

Licensing

  • VertexHeightOblateAdvanced is licensed under the MIT License

Examples

  • PointEqupotential

    PointEquipotential
    PointEquipotential

  • UniformEquipotential Low

    UniformEquipotentialLow1
    UniformEquipotentialLow1

  • UniformEquipotential Low

    UniformEquipotentialLow2
    UniformEquipotentialLow2

  • UniformEquipotential High

    UniformEquipotentialHigh1
    UniformEquipotentialHigh1

  • UniformEquipotential High

    UniformEquipotentialHigh2
    UniformEquipotentialHigh2

This is an automated commit on behalf of Lt_Duckweed
Install instructions were adjusted in case there's ever another, separate mod that installs into the same folder
@JonnyOThan JonnyOThan merged commit c9c2e78 into master Feb 11, 2024
1 check passed
@HebaruSan HebaruSan deleted the add/VertexHeightOblateAdvanced branch February 11, 2024 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants