A VaM plugin that turns any atom into a gun.
Fires a GPU-accelerated raycast from the atom's position forward, detects hits on Person atoms, plays animations, applies physics force, spawns a blood particle effect, and tracks health until ragdoll.
Special thanks for Perfectbloo for making the prerequisite GPUraycast plugin
Now go shoot some zombies!
Fires a GPU-accelerated raycast from the atom's position forward, detects hits on Person atoms, plays animations, applies physics force, spawns a blood particle effect, and tracks health until ragdoll.
Special thanks for Perfectbloo for making the prerequisite GPUraycast plugin
Setup
- Add the plugin to any atom (e.g. an Empty atom or the shooter's gun prop).
- Name your shooter Person atom Shooter and your target Person atom Target.
- (OPTIONAL) Add a Timeline plugin to both the Shooter and Target atoms with clips for each action.
- (OPTIONAL) Click Refresh Shooter Animations and Refresh Hit Animations to load the clip lists into the dropdowns.
- Shoot button / Shoot action — fires a single shot. Can be triggered from the UI, a keybind, or another plugin via the Shoot action.
- Fire Rate — how many shots per second are allowed (1–20).
- Show Beam — toggles the visible laser beam effect on shots.
- Alpha Threshold — controls how transparent surfaces are treated by the raycast (0 = ignore transparency, 1 = full opacity required for a hit).
- Max Ammo — set to 0 for unlimited. When set, each shot costs 1 ammo.
- Reload button / Reload action — refills ammo to max and plays the reload animation.
- When ammo runs out, the dry fire animation plays instead of shooting.
- Shoot Animation — plays on the Shooter atom every time a shot fires.
- Empty/Dry Fire Animation — plays when the trigger is pulled with 0 ammo.
- Reload Animation — plays when Reload is triggered.
- Head Hit Animation — plays when a head hit is detected.
- Chest Hit Animation — plays on upper torso hits.
- Leg Hit Animation — plays on lower torso and limb hits.
- Animations stop playing once the ragdoll threshold is reached.
- Hits to Ragdoll — after this many hits on the same target, all their physics controllers are released (ragdoll).
- Reset All Ragdolls — re-enables physics control on every Person atom in the scene and clears hit counts.
- Press F5 (or toggle Rotation Mode) to enter aiming mode.
- Mouse moves rotate the Shooter atom left/right and tilt their aim up/down.
- Turn Speed — mouse sensitivity.
- Look Up/Down Limit — maximum vertical angle.
- Invert Look Up/Down — flips the Y axis.
- Recoil Strength — how much the aim kicks up on each shot (auto-returns after 0.25s).
- Select which Person atom to rotate using the Shooter dropdown.
- Force Magnitude — how much impulse force is applied to the hit rigidbody on each shot.
- Hit Occurred — pulses true on any hit.
- Miss Occurred — pulses true on a miss.
- Ragdoll Occurred — pulses true when a target ragdolls.
- Last Ragdolled Atom — string containing the UID of the most recently ragdolled atom.
Now go shoot some zombies!