10-12-2024, 10:42 AM
(This post was last modified: 10-12-2024, 10:48 AM by josemendez.)
Hi,
Problems 1,2 and 3 all stem out from improper cursor placement: both your cursor's mu and source mu are set to zero, which means the cursor is copying the first particle in the rope (the one attached to the start of the barrier) and then placing the copy on top of the original particle. So it's essentially creating many attached particles, all on top of each other.
This will cause UVs to stretch weirdly across the rope, no particles to be created along the rope (because they're all created on top of each other at the start of the rope) and the "look rotation viewing vector is zero" warning (since the vector pointing from one particle to the next is zero as they're exactly on top of each other).
Set your cursor's mu and source mu to something else than zero. You probably want to insert particles a bit after the start of the rope.
Objects in the editor are moved in Update(), ropes are simulated in FixedUpdate(). So during frames where there's no call to FixedUpdate, the rope will lag behind the object. Typically you want to perform all physics-related logic during FixedUpdate.
Moreover, by default Obi uses asynchronous simulation which adds a 1 frame delay between input and simulation for performance reasons. You may want to switch the ObiSolver's synchronization mode to "Synchronous" or "Synchronous Fixed" in some cases. The manual contains an in-depth explanation of how fixed timestepping works in Unity and the different ways Obi can be bolted onto it.
kind regards,
Problems 1,2 and 3 all stem out from improper cursor placement: both your cursor's mu and source mu are set to zero, which means the cursor is copying the first particle in the rope (the one attached to the start of the barrier) and then placing the copy on top of the original particle. So it's essentially creating many attached particles, all on top of each other.
This will cause UVs to stretch weirdly across the rope, no particles to be created along the rope (because they're all created on top of each other at the start of the rope) and the "look rotation viewing vector is zero" warning (since the vector pointing from one particle to the next is zero as they're exactly on top of each other).
Set your cursor's mu and source mu to something else than zero. You probably want to insert particles a bit after the start of the rope.
Code:
When I move an object quickly in the editor, the Obi Particle Attachment doesn't seem to keep up. Does this problem only occur in the editor? Is there any way to improve it?
Objects in the editor are moved in Update(), ropes are simulated in FixedUpdate(). So during frames where there's no call to FixedUpdate, the rope will lag behind the object. Typically you want to perform all physics-related logic during FixedUpdate.
Moreover, by default Obi uses asynchronous simulation which adds a 1 frame delay between input and simulation for performance reasons. You may want to switch the ObiSolver's synchronization mode to "Synchronous" or "Synchronous Fixed" in some cases. The manual contains an in-depth explanation of how fixed timestepping works in Unity and the different ways Obi can be bolted onto it.
kind regards,