Announcement

Collapse
No announcement yet.

Advanced 6DOF movement

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Originally posted by nikothepirate View Post
    Hey, I bought this plugin and wondered If I could request a feature?

    I've been rebuilding a prototype for a space combat game using this component. I had the movement all worked out before, but replication was horrible! That's where 6dof comes in.

    Essentially the ship is controlled in 3D space by a directional mouse click. On click the the camera forward vector sets an arrow world rotation. The ship then rInterps to the arrow on the Pitch and Yaw. A manual value for the Roll is fed in to create the effect of banking into the turn. In this game there is an 'UP', so the roll always returns to the horizon like an auto level.

    Currently there are three ways to recreate this with your plugin -

    1) Using the autopilot look at vector instead of the arrow, and auto level (but adapting mid turn to create the banking effect). Problem: The Look At function finds the shortest route around a sphere to get to the target vector, so if you do a right turn of say 120 degrees with a little increase of pitch, the nose of the ship lifts up and over the rotation sphere during the turn and back down to the target vector, rather than a flat turn with a continuous small pitch increase.

    2) Using pitch and yaw inputs calculated by the rotation to the arrow, to allow an eased rotation to the vector (and auto level for horizon and roll as above). Essentially a manual rInterp. This solves the nose lifting issue, as the only pitch input is just enough to hit the desired pitch once the turn is complete. Problem: once you start facing vertical up or down, the axis' reverse inputs (due to the rotational calculation) and can begin a seesaw input wobble. This also confuses the autolevel which can result in an uncontrolled spin. Not a problem when using Look At.

    3) Send all inputs to the server and use torque and force to manipulate the actor.
    This is essentially what I was doing before this plugin. Problem: messy as hell, no input replication, too much server calculation.

    So i'm wondering how hard it would be to implement a feature of the rotation autopilot to be able to select between 'shortest total distance' (as it works now), and 'shortest by axis' (allowing it to calculate the axis rotations independently). Avoiding that nose lift is all I really need to do!

    I'll happily share an example project or something if it needs demonstrating. Honestly aside from that though, the plugin is great, so thank you!
    I think best option here would be to allow users to override the autopilot rotation calculation. In theory that shouldn't be too difficult to program and will let you specify exactly what algorithm you want to use for the autopilot.
    Can you send me an email with the example project to mookiexl@gmail.com ?

    Leave a comment:


  • replied
    Hey, I bought this plugin and wondered If I could request a feature?

    I've been rebuilding a prototype for a space combat game using this component. I had the movement all worked out before, but replication was horrible! That's where 6dof comes in.

    Essentially the ship is controlled in 3D space by a directional mouse click. On click the the camera forward vector sets an arrow world rotation. The ship then rInterps to the arrow on the Pitch and Yaw. A manual value for the Roll is fed in to create the effect of banking into the turn. In this game there is an 'UP', so the roll always returns to the horizon like an auto level.

    Currently there are three ways to recreate this with your plugin -

    1) Using the autopilot look at vector instead of the arrow, and auto level (but adapting mid turn to create the banking effect). Problem: The Look At function finds the shortest route around a sphere to get to the target vector, so if you do a right turn of say 120 degrees with a little increase of pitch, the nose of the ship lifts up and over the rotation sphere during the turn and back down to the target vector, rather than a flat turn with a continuous small pitch increase.

    2) Using pitch and yaw inputs calculated by the rotation to the arrow, to allow an eased rotation to the vector (and auto level for horizon and roll as above). Essentially a manual rInterp. This solves the nose lifting issue, as the only pitch input is just enough to hit the desired pitch once the turn is complete. Problem: once you start facing vertical up or down, the axis' reverse inputs (due to the rotational calculation) and can begin a seesaw input wobble. This also confuses the autolevel which can result in an uncontrolled spin. Not a problem when using Look At.

    3) Send all inputs to the server and use torque and force to manipulate the actor.
    This is essentially what I was doing before this plugin. Problem: messy as hell, no input replication, too much server calculation.

    So i'm wondering how hard it would be to implement a feature of the rotation autopilot to be able to select between 'shortest total distance' (as it works now), and 'shortest by axis' (allowing it to calculate the axis rotations independently). Avoiding that nose lift is all I really need to do!

    I'll happily share an example project or something if it needs demonstrating. Honestly aside from that though, the plugin is great, so thank you!

    Leave a comment:


  • replied
    Originally posted by keyboardWillie View Post
    Nice plugin, I am playing around with it. Looks well implemented; I am sure I will come up with some further questions. Would be interested in checking out that Wipeout racer framework.. Any chance you might rebuild it for 4.25? For some reason I'm having trouble rebuilding plugins here ATM. Your existing plugin, my C++ based project, and other projects seem to be ok. But I have errors rebuilding your or other plugins for some reason that currently eludes me.. =\

    Thanks, hope you are well!
    Is the current 4.25 build from the launcher working correctly?
    I have no idea what could be causing problems with recompiling for you, on my end it was a straight recompile without any issues. Does it show any errors?

    Leave a comment:


  • replied
    Nice plugin, I am playing around with it. Looks well implemented; I am sure I will come up with some further questions. Would be interested in checking out that Wipeout racer framework.. Any chance you might rebuild it for 4.25? For some reason I'm having trouble rebuilding plugins here ATM. Your existing plugin, my C++ based project, and other projects seem to be ok. But I have errors rebuilding your or other plugins for some reason that currently eludes me.. =\

    Thanks, hope you are well!

    Leave a comment:


  • replied
    Update for UE 4.23 is on the way, will be available in a few days.
    If you don't want to wait, plugin works in 4.23 without any modifications, just recompile.

    Leave a comment:


  • replied
    New version is out. There's a new movement mode, Frictionless Clamped. This works like frictionless, but with a speed limit.
    More importantly, it is now possible to override the acceleration function in Blueprint, to create your own modes.

    Leave a comment:


  • replied
    Originally posted by marineuac View Post
    i have some questions with plugin, does it have same replication problems as attached actors on controlled pawns ?



    im not using the plugin, but i was wondering if it solves this problem? basicly what im asking is, how smoothly does the plugin handle players that are passengers of the vehicle when it comes to position replication ??
    Yeah you would have same problem with this plugin too. The solution here is to stop replicating the actor's movement while he's in the vehicle, and handle his position locally. Only the vehicle movement needs to be replicated.

    Leave a comment:


  • replied
    i have some questions with plugin, does it have same replication problems as attached actors on controlled pawns ?



    im not using the plugin, but i was wondering if it solves this problem? basicly what im asking is, how smoothly does the plugin handle players that are passengers of the vehicle when it comes to position replication ??
    Last edited by spacebares; 12-27-2018, 06:48 PM.

    Leave a comment:


  • replied
    Is there any way to make the variables for the sixdofmovementcomponent replicate? For example, if i want to modify the Max Forward Speed for a player controlled pawn with a blueprint for say, a boost or cut to speed, it only works for the server, not the client if done directly in the BP with Set Max Speed Forward. This results in a host (listen server) behaving as expected, but the client starts stuttering, as it's attempting to move faster or slower than the server thinks it can. It's just a pawn with a static mesh, spring arm and camera, so nothing fancy.


    I can call an event to run on server and this works, of course, but i was hoping i would be able to just set the variables to replicate without having to make the call manually for each update event.


    Is that possible, or am i misunderstanding something about this?

    Leave a comment:


  • replied
    Great work, thank you!

    Leave a comment:


  • replied
    UE 4.21 update out now for this plugin too, sorry for the delay.

    Leave a comment:


  • replied
    New version is on the way. Now with full Android support.

    Leave a comment:


  • replied
    Originally posted by Swanton007 View Post
    Is there a way to get the current movement speed through BP?
    Yeah, just use "velocity" like with any other actor. It's a vector, use vector length to convert it to a float.

    Leave a comment:


  • replied
    Is there a way to get the current movement speed through BP?

    Leave a comment:


  • replied
    Version 1.5 is out now.
    Some more improvements in netcode.
    It now uses local inputs for more responsive prediction, and there's latency compensation.
    Both can be disabled to revert to old behavior (which is laggier, but more consistent with what's happening on the server)

    Leave a comment:

Working...
X