Closed Zyzyl closed 2 years ago
This is predictable in terms of neos' design and won't be fixable outright. It's been brought up a few times in the discord with similar responses - Here is one with Froox stating that it is expected behavior. https://discord.com/channels/402159838827905024/439422161657135106/614787021436878862
Every user locally simulates their own charactercontroller, and then their transform is replicated to other players. Other players have no effect over this simulation, because it's local to the simulatinguser. The methods for applying forces and other physical actions to the existing simulation operate entirely locally. Since both impulses are local and the physical simulation of the local user's charactercontroller are local, users cannot exert forces on another user's simulation.
Yes, this is expected behavior. The simulation exists only on the user doing the simulation, meaning that you don't have enough information on your end to alter it - you need to make sure that the change happens on the simulating user.
Once the rigidbody simulation is implemented, this is something that could change as it'll have mechanisms for more distributed simulation, but until then this works as normal.
Thanks for the explanation. I've linked to it on the relevant LogiX node wiki pages.
Describe the bug?
Triggering any of the ApplyCharacterForce, ApplyCharacterImpulse, and SetCharacterVelocity LogiX nodes with an impulse owned by a user other than the one referenced as the SimulatingUser in the input CharacterController produces no change.
Relevant issues
Potentially this one based on how this is current worked around https://github.com/Neos-Metaverse/NeosPublic/issues/338
To Reproduce
Requires 2 users:
You will find that the nodes produce noticeable changes if the SimulatingUser in the input CharacterController is the local user when an impulse triggers any of the nodes, otherwise no changes.
Expected behavior
Intuitively I'd expect all of these nodes to produce similar effects whoever the triggering impulse was owned by given the same input CharacterController.
Log Files
No response
Screenshots
No response
How often does it happen?
Always
Does the bug persist after restarting Neos?
Yes
Neos Version Number
2021.10.11.1175
What Platforms does this occur on?
Windows
Link to Reproduction Item/World
neosrec:///U-Zyzyl/R-d0039fc1-6682-49ee-af8d-8a8e91bf91bc
Did this work before?
No
If it worked before, on which build?
No response
Additional context
This is currently worked around by 'switching' the impulse ownership to the relevant user. Right now this is usually done using a BooleanLatch / FireOnTrue setup which could be improved if https://github.com/Neos-Metaverse/NeosPublic/issues/338 were implemented.
EDIT: I appreciate this may not be easily changeable and technically working-as-intended. However, without some significant background knowledge of the engine, it's pretty hard to predict that the nodes will behave like this.
Reporters
Zyzyl#1441 TheBasementNerd#3465 & many others over time