Skip to content

Volumetric armor meshes#599

Draft
LengthenedGradient wants to merge 202 commits into
devfrom
volumetric-armor-meshes
Draft

Volumetric armor meshes#599
LengthenedGradient wants to merge 202 commits into
devfrom
volumetric-armor-meshes

Conversation

@LengthenedGradient

Copy link
Copy Markdown
Member

Draft PR for organization and testing

Temporary placeholders; subject to change
Eventually intended to function similar to the P2M controller. Will likely support compile/decompile actions for ease of building.
Reuse old work that's still salvageable
This may be better for storage later.
Will need to remove backwards compatibility placeholders later.
Certain classes like primitives will reinitialize, so we shouldn't generate the mesh twice if we know it will be replaced.
Update volumetrics_sh.lua

Update volumetrics_sh.lua
Exclude makespherical, add cuboid support.
Most of these are going to be so arbitrary that there's no point having a unified pipeline. Just make registration functions and profit.
Checkbox is redundant. Since a radius 0 sphere search doesn't make sense, just use normal search if the radius is zero or sphere search if it is non zero.
Instead of blacklisting a tone of classes, just target prop_physics. It's the only class that should be converted tbh.
The armor mesh tool was getting too large so I split it up into modules to keep the logic readable.

Also added the ability to set thicknesses for primitive props.
Extensively tested with props in game. This should be the last time hopefully.
Health was interpreted in meters cubed but damage was applied in inches cubed. This has been corrected, and the health values have all been linearly adjusted to make RHA have 1 health multiplier (1in^3 = 1hp).
To accomodate the change of health unit
Entities will now be considered along a ray and clipping is handled by a "depth stack" algorithm that ends traces as soon as a new convex is encountered.

This should provide no benefit to clipping components.
If previously set to 16, will force the convar to be 4.

This change is primarily for balance reasons, as the engine's tick function places consistently at the top of the usage leaderboard in FProfiler. It's to intense that it is more than the next few entries combined.

2 Engines is sufficient for very good mobility anyways (e.g. 2x 21L V12).
Use these instead of random colors
Extract code used to apply a ricochet to the bullet's kinematics into a helper function (Ballistics.ApplyRicochet)

Also extract the duplicate code in Ballistics.PenetrateMapEntity and Ballistics.PenetrateGround
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants