05-08-2017 02:37 AM
05-10-2017 01:56 PM
xN31 said:
@brian_jew : Is Oculus voice chat meant to use the UE4 default Opus codec or a specific one? I thought Oculus voice chat was based on the codec used in Facebook's voice calls, but using the command "online test voice" I see the initialisation of the Opus codec. Is this correct?
05-11-2017 12:34 AM
aussieburgerVR said:
ginopeloso said:
I was able to join the matchmaking session by assigning the oculus id as UniqueNetId to the PlayerController (the title's warning message has disappeared when calling the Unreal's JoinSession function).
How was this done exactly? Would love to see your blueprint for that 🙂
Would be a great help if blueprints also supported voice out of the box! hint for @brian_jew for a commonly required feature 😉
void UMyClass::SetPlayerNetId(APlayerController* PlayerController, FString NetId) {
FUniqueNetId* UniqueNetId = new FUniqueNetIdString(NetId);
PlayerController->PlayerState->SetUniqueId(MakeShareable(UniqueNetId));
}
05-11-2017 12:53 PM
ginopeloso said:
aussieburgerVR said:
ginopeloso said:
I was able to join the matchmaking session by assigning the oculus id as UniqueNetId to the PlayerController (the title's warning message has disappeared when calling the Unreal's JoinSession function).
How was this done exactly? Would love to see your blueprint for that 🙂
Would be a great help if blueprints also supported voice out of the box! hint for @brian_jew for a commonly required feature 😉
You should write it in C++, assign the net id by code and expose as Blueprint function (a UClass or, better, a BlueprintFunctionLibrary):void UMyClass::SetPlayerNetId(APlayerController* PlayerController, FString NetId) {
FUniqueNetId* UniqueNetId = new FUniqueNetIdString(NetId);
PlayerController->PlayerState->SetUniqueId(MakeShareable(UniqueNetId));
}
05-11-2017 03:54 PM
brian_jew said:
xN31 said:
@brian_jew : Is Oculus voice chat meant to use the UE4 default Opus codec or a specific one? I thought Oculus voice chat was based on the codec used in Facebook's voice calls, but using the command "online test voice" I see the initialisation of the Opus codec. Is this correct?
I'm not sure about the technical implementation on the voice chat implementation itself. The unreal implementation takes PCM data and creates a UE4 AudioComponent to play
05-15-2017 07:41 AM
Brian, how is voice spatialisation achieved in toybox? the demo is built with UE4, isn't it?
xN31 said:
brian_jew said:
xN31 said:
@brian_jew : Is Oculus voice chat meant to use the UE4 default Opus codec or a specific one? I thought Oculus voice chat was based on the codec used in Facebook's voice calls, but using the command "online test voice" I see the initialisation of the Opus codec. Is this correct?
I'm not sure about the technical implementation on the voice chat implementation itself. The unreal implementation takes PCM data and creates a UE4 AudioComponent to play
Thanks Brian, sounds interesting. A couple of questions:
- How can I retrieve the generated AudioComponents (e.g. to spatialise the sound)
- The voice quality is very good, but breaks quite often. Is there some setting to improve this? (e.g. is there a bandwidth limit setting causing voice packets to drop?)
05-24-2017 11:32 AM
06-01-2017 02:28 AM
06-15-2017 11:46 AM
10-24-2017 09:53 AM
pieterdub said:
You could test using the OculusNetDriver rather than IpNetDriver:If you don't have the OculusNetDriver setup you can test it by adding this to defaultEngine.ini and then un-checking the LAN mode on CreateSession:[/Script/Engine.GameEngine]+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemOculus.OculusNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")[/Script/OnlineSubsystemOculus.OculusNetDriver]NetConnectionClassName="/Script/OnlineSubsystemOculus.OculusNetConnection"
Then in the log you should see the net connection try to use the OculusNetDriver rather than the IpNetDriver. Would be interested to see if that works. Also, the server log might have some other info that could help? Make sure to enable verbose logging for online and net in DefaultEngine.ini as well:[Core.Log]LogOnline=verboseLogNet=verbose
Also, I am not sure that the Create Session node will properly initialize the server as a listen server. When I load the map that will handle the matchmaking, I call openLevel <mapname>?listen to properly initialize the server as a listen server so when another machine calls join session, it will be ready for the connection. That might not be an issue here but thought I would suggest as a test.
10-24-2017 05:06 PM
Jarrod84 said:
pieterdub said:
You could test using the OculusNetDriver rather than IpNetDriver:If you don't have the OculusNetDriver setup you can test it by adding this to defaultEngine.ini and then un-checking the LAN mode on CreateSession:[/Script/Engine.GameEngine]+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemOculus.OculusNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")[/Script/OnlineSubsystemOculus.OculusNetDriver]NetConnectionClassName="/Script/OnlineSubsystemOculus.OculusNetConnection"
Then in the log you should see the net connection try to use the OculusNetDriver rather than the IpNetDriver. Would be interested to see if that works. Also, the server log might have some other info that could help? Make sure to enable verbose logging for online and net in DefaultEngine.ini as well:[Core.Log]LogOnline=verboseLogNet=verbose
Also, I am not sure that the Create Session node will properly initialize the server as a listen server. When I load the map that will handle the matchmaking, I call openLevel <mapname>?listen to properly initialize the server as a listen server so when another machine calls join session, it will be ready for the connection. That might not be an issue here but thought I would suggest as a test.
I tried doing this but I'm still getting kicked out after a client joins. Is there any info on how the game mode is supposed to be setup in blueprints for UE4?