Please decouple Ride and Ridable and allow simple mount.

#1
Hi, Justin,

I'm having quite a difficult time to make the Character to ride on non-UCC objects.

First of all, Ride Ability requires another UCC object with Ridable Ability.

I have many vehicle types, Car, Bike, Boats and etc and they all have their own controllers and it doesn't make sense to turn them into UCC objects.


Besides the coupling issue, I would like the Character simply child of the mount object.

Right now, it's impossible to set the Character to be a child of another moving object without having stutters. I have a temporary kludge to fix it but it's not really a good solution.

And I believe making the Character as a simple child to UCC Ridable will also work. Simply ignore the Character movement(just the movement only) and let the Ridable handle the movement. This will simplify the matching the Character movement speed and it will allow the character to be mounted on any objects.

Thanks for your help.
 

Justin

Administrator
Staff member
#2
The update order really matters which is why you are seeing the jitter that you are. I'm not sure if it's possible to simply reparent the character and have it follow that object without any jitter but I've written it down to look at.
 
#3
The following changes in DeterministicObjectManager will get rid of stutter for non-UCC vehicles, and it seems to work for UCC Rideables too but not sure.

Besides, would it be difficult to decouple Ride and Rideable Ability? so that it can mount on any objects? It will allow us to enter/exit vehicles easily.

CODE] public override void SmoothMove(float interpAmount)
{
// skip smoothmove when mounted -chrisk
if (m_CharacterLocomotion.transform.parent == null)
base.SmoothMove(interpAmount);

if (m_CharacterIK != null && m_CharacterIK.enabled) {
m_CharacterIK.SmoothMove();
}
}[/CODE]
 
Top