No description
Find a file
JelleJurre c637a1e4c9
Merge pull request #20 from VRLabs/feat/update-pipeline
Add better release woorkflow
2024-12-04 21:41:54 +01:00
.github/workflows Add better release woorkflow 2024-11-15 15:05:57 +01:00
Instancer Add 2019 support for vcc 2024-03-06 11:41:19 +01:00
Media Loop webp 2024-02-19 18:03:07 +01:00
Resources Revert "Merge pull request #16 from VRLabs/dev" 2024-10-07 12:02:42 +02:00
.gitignore Update .gitignore 2022-06-29 23:45:39 -04:00
Instancer.meta Add Instancer 2023-12-15 20:56:32 +01:00
LICENSE Rename name in license 2023-11-27 12:43:03 +01:00
LICENSE.meta re-include unreferenced asset meta files 2022-06-29 23:56:30 -04:00
Media.meta add setup video 2022-05-14 22:14:39 -04:00
package.json Update package json 2024-08-23 19:01:03 +02:00
package.json.meta update package.json and add workflow 2023-12-15 21:48:46 +01:00
README.md Revert "Merge pull request #16 from VRLabs/dev" 2024-10-07 12:02:42 +02:00
README.md.meta re-include unreferenced asset meta files 2022-06-29 23:56:30 -04:00
Resources.meta refactor for "IsMirror" parameter 2022-05-14 21:27:48 -04:00
Rigidbody Launcher FX.controller Revert "Merge pull request #16 from VRLabs/dev" 2024-10-07 12:02:42 +02:00
Rigidbody Launcher FX.controller.meta Initial cleanup 2023-08-09 17:41:41 +02:00
Rigidbody Launcher.prefab Revert "Merge pull request #16 from VRLabs/dev" 2024-10-07 12:02:42 +02:00
Rigidbody Launcher.prefab.meta "Cannon" -> "Launcher" 2022-07-30 14:01:13 -04:00

Rigidbody Launcher

Generic badge Generic badge Generic badge Generic badge Generic badge

Generic badge Generic badge

Launch an object with collision against the world

RigidbodyLauncher

⬇️ Download Latest Version

📦 Add to VRChat Creator Companion


How it works

  • A configurable joint is connected to a world-constrained kinematic rigidbody and given velocity on the Z-axis.
  • The joint has collision and stops against the world.
  • A particle system under the joint dies with collision, causing a particle stop action disable, triggering a contact-driven parameter change.

Install guide

https://github.com/VRLabs/Rigidbody-Launcher/assets/76777936/9f288264-7a4b-4790-b6c3-38a1180a3ea5

  • Merge the Animator Controller Rigidbody Launcher FX to your own FX Controller, using the Avatars 3.0 Manager tool.
  • Drag & drop the Rigidbody Launcher prefab into the base of your Hierarchy.
  • Right click and unpack the prefab, then drag & drop it onto your avatar.
  • Move Rigidbody Launcher Target outside of Rigidbody Launcher and place it anywhere in your avatar's hierarchy. Adjust the transforms as needed.

How to use

  • Place the objects you want to to use inside Rigidbody Launcher -> Container.
    • Alternatively you can constrain the objects to Container.
  • RigidbodyLauncher/Control parameter must be true for the system to fire, and false to reset.
  • To change speed, you can edit the Launcher Fire.anim animation clip and change the Target Velocity. You need to use a negative value.
    • You can also change the Maximum Force property under the X/Y/Z Drive sections of the Rigidbody Launcher/Kinematic Rigidbody/Collision configurable joint.
    • Other properties of the joint on Collision are editable depending on the rigidbody motion you want to achieve.
  • To launch the rigidbody perfectly straight, freeze rotation for XYZ on the Collision rigidbody (not the configurable joint), and set the X and Y motion on the Collision configurable joint as locked.
    • This will make it so only Z-axis motion is possible.

Performance stats

Audio Sources:      2
Colliders:          1
Constraints:        4
Constraint Depth:   4
Contact Receivers:  1
Contact Senders:    1
FX Animator Layers: 2
Lights:             1
Particle Systems:   1
Rigidbodies:        3

Hierarchy layout

Rigidbody Launcher
|-Container
|  |-Cube
|  |  |-Point Light
|  |-Collision Audio
|  |-Fire Audio
|-Kinematic Rigidbody
|  |-Collision
|  |  |-Box Collider
|  |  |-Contact
|-Rigidbody Launcher Target

Contributors

License

Rigidbody Launcher is available as-is under MIT. For more information see LICENSE.