Announcement

Collapse
No announcement yet.

Advanced 6DOF movement

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

  • replied
    Originally posted by adipFTW View Post
    The windows dedicated server works flawless, so I'm assuming I am.

    I followed Epic's documentation on how to set up cross-compiling for linux on windows and i dont get any errors while compiling, but after that the problems i mentioned arised when deploying it.
    OK, so now I have absolutely no idea what can possibly be wrong. If there was anything windows specific in code, it wouldn't compile, or it would crash the server, not just disconnect clients.
    Just out of curiosity, what happens if you try to build and run a linux client?

    Leave a comment:


  • replied
    The windows dedicated server works flawless, so I'm assuming I am.

    I followed Epic's documentation on how to set up cross-compiling for linux on windows and i dont get any errors while compiling, but after that the problems i mentioned arised when deploying it.

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    Warning: Accessed None trying to read property SixDOFMovement
    Ok, so to me it looks like sixdof doesn't exist on the server. Did you compile server binaries with it?

    Leave a comment:


  • replied
    Originally posted by moookiexl View Post
    As far as I know no, there's nothing windows-specific in my code. Can you paste a log of what the server is throwing?
    [2017.03.07-16.20.53:342][319]LogScript:Warning: Accessed None trying to read property SixDOFMovement
    BP_GravityField_C /Game/Maps/Level_ASteroidRaceTrack.Level_AsteroidRaceTrack:PersistentLevel.BP_GravityField4
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:ChangeGravity:0276
    [2017.03.07-16.20.53:342][319]LogScript:Warning: Script call stack:
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:BndEvt__GravityField_K2Node_ComponentBoundEvent_0_ComponentBeginOverlapSignature__DelegateSignature
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:ExecuteUbergraph_BP_GravityField
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:ChangeGravity

    [2017.03.07-16.21.09:699][809]LogNetPackageMap:Warning: UPackageMapClient::InternalLoadObject: Unable to resolve default guid from client: PathName: SixDOFMovement, ObjOuter: /Game/Maps/Level_ASteroidRaceTrack.Level_AsteroidRaceTrack:PersistentLevel.BP_Spaceship_C_1
    [2017.03.07-16.21.09:700][809]LogNetTraffic:Error: ReadContentBlockHeader: Client attempted to create sub-object. Actor: BP_Spaceship_C_1
    [2017.03.07-16.21.09:700][809]LogNet:Error: UActorChannel::ReadContentBlockPayload: ReadContentBlockHeader FAILED. Bunch.IsError() == TRUE. Closing connection. RepObj: NULL, Channel: 29
    [2017.03.07-16.21.09:700][809]LogNet:Error: UActorChannel::ReceivedBunch: ReadContentBlockPayload FAILED. Bunch.IsError() == TRUE. Closing connection. RepObj: NULL, Channel: 29
    [2017.03.07-16.21.09:700][809]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 76561198061912061:7777, Name: SteamNetConnection_1, Driver: GameNetDriver SteamNetDriver_0, IsServer: YES, PC: BP_PlayerController_C_1, Owner: BP_PlayerController_C_1, Channels: 64, Time: 2017.03.07-16.21.09
    [2017.03.07-16.21.09:700][809]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 76561198061912061:7777, Name: SteamNetConnection_1, Driver: GameNetDriver SteamNetDriver_0, IsServer: YES, PC: BP_PlayerController_C_1, Owner: BP_PlayerController_C_1
    [2017.03.07-16.21.09:700][809]LogNetTraffic:Error: UChannel::ReceivedRawBunch: Bunch.IsError() after ReceivedNextBunch 1
    [2017.03.07-16.21.09:700][809]LogNetTraffic:Error: Received corrupted packet data from client 76561198061912061. Disconnecting.
    [2017.03.07-16.21.09:734][810]LogScript:Warning: Accessed None trying to read property SixDOFMovement
    BP_GravityField_C /Game/Maps/Level_ASteroidRaceTrack.Level_AsteroidRaceTrack:PersistentLevel.BP_GravityField4
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_CisableGravity:02F4
    [2017.03.07-16.21.09:734][810]LogScript:Warning: Script call stack:
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:BndEvt__GravityField_K2Node_ComponentBoundEvent_1_ComponentEndOverlapSignature__DelegateSignature
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_C:ExecuteUbergraph_BP_GravityField
    Function /Game/Blueprints/Miscellaneous/BP_GravityField.BP_GravityField_CisableGravity
    Let me know if you need clarification on anything.

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    This thread actually made the server start and I can connect to it! But as soon as I use something related to the SixDOF plugin, the connection gets closed and the server throws an error in the log. Do you use any windows specfic code in your plugin?
    As far as I know no, there's nothing windows-specific in my code. Can you paste a log of what the server is throwing?

    Leave a comment:


  • replied
    Originally posted by moookiexl View Post
    I don't know, I'm not a Linux guy. From the log it looks like streaming is trying to load something that uses sixdofmovement, but it hasn't been loaded yet.
    Maybe it's related to this: https://forums.unrealengine.com/show...rything-so-far
    But maybe not, again, this is something you'd better ask someone who knows more about Linux and dedicated servers.
    This thread actually made the server start and I can connect to it! But as soon as I use something related to the SixDOF plugin, the connection gets closed and the server throws an error in the log. Do you use any windows specfic code in your plugin?

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    Hey there, I'm back needing more help

    I'm trying to deploy my server to linux, but this happens. Any idea to what I can do?
    I don't know, I'm not a Linux guy. From the log it looks like streaming is trying to load something that uses sixdofmovement, but it hasn't been loaded yet.
    Maybe it's related to this: https://forums.unrealengine.com/show...rything-so-far
    But maybe not, again, this is something you'd better ask someone who knows more about Linux and dedicated servers.

    Leave a comment:


  • replied
    Hey there, I'm back needing more help

    [2017.03.07-10.39.35:665][ 0]LogStreaming:Error: Couldn't find file for package /Script/SixDOFMovement requested by async loading code. NameToLoad: /Script/SixDOFMovement
    [2017.03.07-10.39.35:705][ 0]LogStreaming:Error: ****DumpDependencies [Dependencies]:
    [2017.03.07-10.39.35:705][ 0]LogStreaming:Error: Export 791 SixDOFMovement_GEN_VARIABLE
    [2017.03.07-10.39.35:705][ 0]LogStreaming:Error: Linker is ../../../WarForOrion/Content/Blueprints/Spaceship/BP_Spaceship.uasset
    [2017.03.07-10.39.35:705][ 0]LogStreaming:Error: Dep S_BEFORE_S Export 728 BP_Spaceship_C (class BlueprintGeneratedClass)
    [2017.03.07-10.39.35:705][ 0]LogStreaming:Error: Dep C_BEFORE_C Export 728 BP_Spaceship_C (class BlueprintGeneratedClass)
    Fatal error: [File:C:\Program Files (x86)\Epic Games\Source4.15\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 2527]
    Missing Dependency, request for SixDOFMovementComponent but it hasn't been created yet.
    [2017.03.07-10.39.35:707][ 0]LogLinux:Error: appError called: Assertion failed: Assertion failed: [File:C:\Program Files (x86)\Epic Games\Source4.15\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 2527]
    Missing Dependency, request for SixDOFMovementComponent but it hasn't been created yet.
    I'm trying to deploy my server to linux, but this happens. Any idea to what I can do?

    Leave a comment:


  • replied
    1.2 released.

    This should fix glitchy physics in exported projects for good.
    I also improved acceleration model when inertia is set to zero. This now correctly results in instant velocity change. (except in Frictionless - there it results in no change of velocity, because in frictionless speed limit doesn't apply, and infinte speed is...unsupported )
    I also added some additional checks for things that might cause the plugin to behave weird, like when it's incorrectly attached etc.

    NOTE: since this isn't mentioned anywhere in documentation, here's how to get physics settings:
    #include "Classes/PhysicsEngine/PhysicsSettings.h"

    const UPhysicsSettings* Settings = GetDefault<UPhysicsSettings>();
    if (Settings) {
    Substep = Settings->bSubstepping;
    //other physics settnigs are also here
    }
    (thanks Rama for hint)
    Last edited by moookiexl; 02-22-2017, 05:20 PM.

    Leave a comment:


  • replied
    OK, adipFTW's problem solved via PM

    For everyone else:
    If your project is converted from earlier version of UE, check in project settings if physics substepping isn't turned off. It was off by default in previous version, and it carries over to 4.15
    Currently SixDOF requires it to be on if you're using physics mode in packaged game, i'll make it work without it in next update.

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    Youre a god man, dishing out fixes so fast

    My good news is, that i (temporarily) have control over the ship again, but i lose it after a few seconds again. The error still gets spammed in the dedicated server log, but we dont use anything else with physics except SixDOF, so it shouldnt show up anymore right?
    We converted the project from 4.14 to 4.15, do you think there could have been conversion problems involved in this?
    No idea. I'm unable to get the bug to show up in my tests now. Can you send me the project again? I'll try to find out what's wrong, but can't guarantee anything, this stuff is impossible to debug with conventional methods, it's basically trial and error.

    The only lead i have is "Added sanitization code around PhysX flags and refactored the ways flags are managed through a single code path." from 4.15 changelog.
    Last edited by moookiexl; 02-20-2017, 10:16 AM.

    Leave a comment:


  • replied
    Originally posted by moookiexl View Post
    OK, I believe I found a workaround.

    Wasn't easy. As you can see yourself, logs gave me zero indication as to where the problem could possibly be, except that it's in some way related to PhysX. So I went through everything that did anything with it, commenting it out line by line to find where it comes from. No effect. Finally, not knowing what to do next, i dug out an old unreleased project of mine, that worked similar to SixDOF, and should in theory have same problem in UE 4.15
    It didn't.

    So I went through *that*, comparing the way it applies forces to SixDOF. It was exactly the same. What the hell?
    So I went through parts that should NOT be related to physx. And there finally was the difference. That other project used PhysxBody to get transfroms and velocities and so on, while SixDOF doesn't.

    That's right, not using PhysX was breaking PhysX. Unless you're in editor, then it didn't, for reasons I don't understand.

    So anyway, I can finally fix it now. New version will be available probably tomorrow. Of course I can only fix it in SixDOF, if you have something else in your game that's affected, it will of course remain broken.

    PS: that other unreleased plugin, it's a simple hovercraft simulation for WipEout clones and similar, too primitive to put on marketplace really. Would anyone like if i put it out somewhere here as open source?

    EDIT: Fix is out now, grab SixDOFMovement_111_415.zip
    Youre a god man, dishing out fixes so fast

    My good news is, that i (temporarily) have control over the ship again, but i lose it after a few seconds again. The error still gets spammed in the dedicated server log, but we dont use anything else with physics except SixDOF, so it shouldnt show up anymore right?
    We converted the project from 4.14 to 4.15, do you think there could have been conversion problems involved in this?

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    The dedicated server was running on my laptop and the client on my desktop pc. Everything works fine if i play in editor with multiple clients, but unfortunately the results between play in editor and packaged games are so vastly different, that i ask myself why i even test in editor...
    OK, I believe I found a workaround.

    Wasn't easy. As you can see yourself, logs gave me zero indication as to where the problem could possibly be, except that it's in some way related to PhysX. So I went through everything that did anything with it, commenting it out line by line to find where it comes from. No effect. Finally, not knowing what to do next, i dug out an old unreleased project of mine, that worked similar to SixDOF, and should in theory have same problem in UE 4.15
    It didn't.

    So I went through *that*, comparing the way it applies forces to SixDOF. It was exactly the same. What the hell?
    So I went through parts that should NOT be related to physx. And there finally was the difference. That other project used PhysxBody to get transfroms and velocities and so on, while SixDOF doesn't.

    That's right, not using PhysX was breaking PhysX. Unless you're in editor, then it didn't, for reasons I don't understand.

    So anyway, I can finally fix it now. New version will be available probably tomorrow. Of course I can only fix it in SixDOF, if you have something else in your game that's affected, it will of course remain broken.

    PS: that other unreleased plugin, it's a simple hovercraft simulation for WipEout clones and similar, too primitive to put on marketplace really. Would anyone like if i put it out somewhere here as open source?

    EDIT: Fix is out now, grab SixDOFMovement_111_415.zip
    Last edited by moookiexl; 02-19-2017, 10:33 PM.

    Leave a comment:


  • replied
    Originally posted by moookiexl View Post
    Yes, there is something screwy about physics in packaged projects in 4.15
    On my PC it only seems to affect physics when there's multiple instances of the game running on same computer (even when they're not networked). I'm still trying to figure out what exactly causes it and how to get around it.
    The dedicated server was running on my laptop and the client on my desktop pc. Everything works fine if i play in editor with multiple clients, but unfortunately the results between play in editor and packaged games are so vastly different, that i ask myself why i even test in editor...

    Leave a comment:


  • replied
    Originally posted by adipFTW View Post
    Hmm allright, ill probably go with your plugin. Another thing we just noticed after packaging the game for the first time in 4.15, our ships cant move at all. This error message gets spammed in our dedicated server log, any idea regarding this?
    Yes, there is something screwy about physics in packaged projects in 4.15
    On my PC it only seems to affect physics when there's multiple instances of the game running on same computer (even when they're not networked). I'm still trying to figure out what exactly causes it and how to get around it.
    Last edited by moookiexl; 02-19-2017, 07:45 PM.

    Leave a comment:

Working...
X