Commit graph

98 commits

Author SHA1 Message Date
AzaezelX 4c083d713d physics findings
rigid: main finding is rigid needs to take delta into account for integration (aka interpolation)
also used POINT_EPSILON for thresholds for consistency

for rigidshape/item/player, main finding was length calcs for the search area were all over the place,
so we now derive the extended length of the cached area based on the velocity and the object's radius itself rather than guessin per class

atrest gravity calc suplimental syncing between rigidshape and vehicle

**remindernote POINT_EPSILO is 0.0001
2025-12-13 17:41:21 -06:00
AzaezelX cce40efd35 fix particle glow
multiple preloads were failing to return false or mesages on failure of mandatory entries.
clear out redundant isScriptFile definition
fix default order of /scripts/managedData script files
2025-11-13 14:29:25 -06:00
Brian Roberts 9b266cc6bd
Merge pull request #1542 from Azaezel/alpha41/stabbyStabilizers
hovervehicle stabilizer fix for groundplane (and other things)
2025-08-26 18:40:14 -05:00
AzaezelX b28aaa8baa hovervehicle stabilizer fix for groundplane (and other things)
use the generic collisionmask for the stabilizer castrays
2025-08-26 11:59:05 -05:00
AzaezelX 5ea10f1cfc skip transmitting server authorative wheel spin
it's not in itself a force-injection, so we can just use the existing calcs (also. fix the exisitng calcs so slippling is properly cleared)
in addition, rigidshaeps shouldn't be trying to resolve collisions with things mounted to them any more than they should self-collide. it's a hard-locked relational association
2025-08-16 20:38:32 -05:00
marauder2k7 ca1604170d initial commit
change the macro to use the refactor (exact same structure as the imageasset macro)
2025-06-19 13:34:07 +01:00
AzaezelX a05ff4f351 kill dupe controlmap tracking var define 2025-04-28 14:38:51 -05:00
AzaezelX 618ddbc9ba Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem
# Conflicts:
#	Engine/source/T3D/player.cpp
2025-04-28 14:28:54 -05:00
Brian Roberts 2ac15f74f2
Merge pull request #1443 from Azaezel/alpha41/controlModel
add a controlmap entry
2025-04-28 10:50:02 -05:00
AzaezelX 2ae10c7ce1 add reload status to onNewDataBlock callback
and skip calling onremove/onadd if we're not reloading
2025-04-27 19:49:13 -05:00
AzaezelX 20976b485c Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem 2025-04-26 10:11:13 -05:00
JeffR f31acf774e Adds handling for datablocks to be reloaded if the assets they utilize have their files directly edited. 2025-04-24 00:58:20 -05:00
AzaezelX 3210325f3f elevated mAicontroller to shapebase
aiwheeleedveiclecontrollerdata resolvespeed now only touches throttle
objects assigned aicontrollers now reflect that by thier objecttype
basic flocking
2025-04-19 04:25:36 -05:00
AzaezelX d36cf31707 more safeties. simplified reverse steering calc 2025-04-18 18:27:39 -05:00
AzaezelX 712404c9b4 hook up Vehicle's getAIMove(Move*);
list aiControllerData's in the datablock. though the command is still required to set the controler and look up the relevant db for game specific logic
2025-04-18 12:28:49 -05:00
AzaezelX 2d0bcbcf8d behavioural change: feeding an AInfo an object with a 0 radius causes the class to fill in radius from that objects bounds box
also, vehicle direct hooks
2025-04-18 11:36:27 -05:00
AzaezelX 78a26b0108 expose a getThrottle for vehicles. save some calcs in AIWheeledVehicleControllerData
deletion cleanups
2025-04-18 11:00:13 -05:00
AzaezelX 1fad2c7372 AIWheeledVehicleControllerData wipwork 2025-04-17 20:01:36 -05:00
AzaezelX 5b2c0c7703 add a controlmap entry
for players, vehicles, and turret datablocks
add a client command to setMovemap(%object.getDatablock().controlMap)
2025-04-13 14:51:30 -05:00
AzaezelX fcd2d38deb further validator cleanups
bump default fidelity from 0,0001 to 0.01
fix F32Range. needs to go from - to +, not smallest to largest positive value
fix several misasigned validator ranges. most of which use some form of -1 default to do a Special Thing
2025-03-18 14:06:33 -05:00
Brian Roberts bab30568eb
Merge pull request #1409 from Azaezel/alpha41/soImpulsive
skip out on impulses that have no chance of moving the object
2025-03-14 13:59:44 -05:00
AzaezelX 325b3a97c0 skip out on impulses that have no chance of moving the object
also, sRestTol already is a 0.5 multiplier
2025-03-09 18:40:49 -05:00
AzaezelX 28603655a5 fix malformed addfeildV 2025-03-09 12:58:59 -05:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX 69a0c40795 wheeled vehicle downforce aug. applies a spoiler effect 2025-02-28 19:20:21 -06:00
AzaezelX ccbcf7a862 take tick time into account as well. 2025-02-28 19:18:28 -06:00
AzaezelX c2b3ea6122 clean out redundant pack/unpack in vehicle 2025-02-28 18:35:46 -06:00
AzaezelX 43309fef2a rigidshape pef tweaks
account for integration for atrest evaluation. if we're atrest, *don't* network momentums. just send the bool
2025-02-28 17:54:20 -06:00
AzaezelX 3a7f3beb64 play steering thread on server so mounted objects like turrets can be linked to it 2024-05-02 21:01:16 -05:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00:00
AzaezelX 7552554ded dial back overly agressive setRest 2024-02-01 17:47:30 -06:00
AzaezelX 2a1ad5a5cc flyingvehicle hovercode tweaks
makes the presence of a hoverHeight a bit more of a barrier to punchthrough
assumes #1166 inclusion
2023-12-30 22:30:05 -06:00
AzaezelX 3c7d2b1b6a physics notes
based on https://github.com/TorqueGameEngines/Torque3D/pull/1165 and after further talks with @AtomicWalrus:
use the massbox or bounds box based  mRigid.setObjectInertia method
to reduce recirulating, combine resolvecollision and resolvecontacts
clamp seperation force for contact resolution
gravity normalized to earth standard (9.8,not 20)
take delta-time into account *once* for kinetic energy vs gravity rest checks
and for debug purposes, expose mRigid.atRest to the inspector to see if it's truly at reast or grinding calcs to minimal effect
2023-12-28 21:04:16 -06:00
AzaezelX 4e93c0543e hide scopealwaysshape from the "add" list, by consensus shive portals et al back to being tagged as volumes 2023-11-09 16:09:27 -06:00
AzaezelX fbcfe02098 clean up "Add" menubar categoes on the 3d object side via the following:
SceneObject now defaults to a category of "misc"
getCategoryOfClass now checks parent classes for what categories they hold so that variants can inherit
categories are in one of a few rough groups and subgroups depending on actual mapper needs/usages
2023-11-08 20:42:47 -06:00
AzaezelX 0f55389712 rigidshape and derivatives cleanups
dragforce for rigidshapes and children defaulted to a value it's own debuggers won't complain about out of the gate
removed duplicate invalidation for flying vehicle sounds causing network instability
removed redundant hovervehicle vars
2023-09-27 14:37:41 -05:00
AzaezelX 0c97732ae9 cleanups for disablemove
downshift the exposure of the entry to rigidshape so it and vehicles all have the button.
fix moving them after they've become atrest failing to apply gravity untill collided with or applyimpulse is called on them
de-duplicate vehicle networking in reguards to rigid body instance variable transmission
2023-09-22 19:02:26 -05:00
AzaezelX 0174cb215a report setWheelTire misfires like we do setWheelSpring 2023-03-26 11:54:46 -05:00
AzaezelX 416a35b2b9 shift setWheelSpring script command to use a char*, not a wheeledvehicle*
need to be able to tell what the attempted assignment is for reporting
2023-03-26 09:47:31 -05:00
AzaezelX c4ae6258cc sound safeties and future notes 2023-02-26 17:26:43 -06:00
AzaezelX 15f7f04bee standardize soundasset preloading for datablocks 2023-02-19 05:19:51 -06:00
AzaezelX f5a34308f9 add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector 2023-01-27 01:13:15 -06:00
AzaezelX ace18d0246 layout consistency pass pt 2 -place shapebase inheriting initpersistfields up top so the child layout appends to the parent 2023-01-24 19:30:09 -06:00
AzaezelX f07c8745b2 inspector cleanups
clustering work for datablocks for both consistent scanning for object parameters, as well as an eye towards orgainizing things to make reviewing what variations of components we'll be needing down the line clearer
2023-01-24 17:12:23 -06:00
AzaezelX 8821f62b0c misc fixes
utilize specialty case soundarray macros.
 slim duplicate entries in vehicle already hand;ed by rigidshape.
create a gamebasedata::onnewdatablock which calls onremove and onadd for the db for those classes like wheeledvehicle that expect mounting logic to occur
2022-12-27 21:10:15 -06:00
AzaezelX 01ba573543 rigidshape and wheeledvehicle perf work
a) add more profiling for analysis
b)don't bother trying to update collision if we're set to imobility or not moving fast eough for even the contact velocity tolerance threshold to trip
c) updateforces and updateWheelParticles already trigger extendWheels(); . no need to do it a third time
2022-12-10 17:07:28 -06:00
AzaezelX 93faa243ac cleanups for sound assets
removed redundant get<foo>Profile calls, correctly used a few in proxmine
2021-11-27 00:32:25 -06:00
Robert MacGregor 2b15c9e89d * BugFix: Correct the vehicle types double-tapping their onAdd and onRemove callbacks - rigidShape handles dispatching the script callbacks. 2021-11-11 16:41:28 -05:00
AzaezelX 42d137f4a9 DECLARE_ASSET_ARRAY_SETGET is incompatible with INITPERSISTFIELD_SOUNDASSET_ENUMED 2021-10-03 15:20:08 -05:00
AzaezelX 98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00