simplified network setup
This commit is contained in:
BIN
Unity-Master/Assets/Scenes/VR_Player1.unity
(Stored with Git LFS)
BIN
Unity-Master/Assets/Scenes/VR_Player1.unity
(Stored with Git LFS)
Binary file not shown.
BIN
Unity-Master/Assets/Scenes/VR_Player2.unity
(Stored with Git LFS)
BIN
Unity-Master/Assets/Scenes/VR_Player2.unity
(Stored with Git LFS)
Binary file not shown.
@ -10,6 +10,8 @@ public class AvatarDataDownloader : MonoBehaviour
|
||||
[Header("Server Configuration")]
|
||||
[SerializeField] private string serverHost = "127.0.0.1";
|
||||
[SerializeField] private int serverPort = 8080;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
[SerializeField] private string targetPlayer = "player1"; // Which player data to fetch
|
||||
|
||||
[Header("Download Configuration")]
|
||||
@ -37,6 +39,16 @@ public class AvatarDataDownloader : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
serverHost = cfg.ipAddress;
|
||||
serverPort = cfg.port;
|
||||
}
|
||||
}
|
||||
// Set up file paths
|
||||
syncFilesPath = Path.Combine(Application.dataPath, "Sync-Files");
|
||||
if (!Directory.Exists(syncFilesPath))
|
||||
|
||||
@ -9,6 +9,8 @@ public class AvatarDataUploader : MonoBehaviour
|
||||
[Header("Server Configuration")]
|
||||
[SerializeField] private string serverHost = "127.0.0.1";
|
||||
[SerializeField] private int serverPort = 8080;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
[SerializeField] private string uploadAsPlayer = "player1"; // Upload as which player
|
||||
|
||||
[Header("Upload Configuration")]
|
||||
@ -35,6 +37,16 @@ public class AvatarDataUploader : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
serverHost = cfg.ipAddress;
|
||||
serverPort = cfg.port;
|
||||
}
|
||||
}
|
||||
// Set up file paths
|
||||
syncFilesPath = Path.Combine(Application.dataPath, "Sync-Files");
|
||||
if (!Directory.Exists(syncFilesPath))
|
||||
|
||||
@ -11,6 +11,8 @@ public class AvatarSyncClient : MonoBehaviour
|
||||
[Header("Server Configuration")]
|
||||
[SerializeField] private string serverHost = "127.0.0.1";
|
||||
[SerializeField] private int serverPort = 8080;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
[SerializeField] private string targetPlayer = "player1"; // Which player data to fetch
|
||||
|
||||
[Header("Sync Configuration")]
|
||||
@ -43,6 +45,16 @@ public class AvatarSyncClient : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
serverHost = cfg.ipAddress;
|
||||
serverPort = cfg.port;
|
||||
}
|
||||
}
|
||||
// Set up file paths
|
||||
syncFilesPath = Path.Combine(Application.dataPath, "Sync-Files");
|
||||
if (!Directory.Exists(syncFilesPath))
|
||||
|
||||
@ -12,14 +12,16 @@ using UnityEngine;
|
||||
namespace Convai.Scripts.Runtime.Multiplayer
|
||||
{
|
||||
/// <summary>
|
||||
/// Simple UDP Audio Receiver V2 - Simulates microphone input by triggering normal Convai flow
|
||||
/// Simple UDP Audio Receiver - Simulates microphone input by triggering normal Convai flow
|
||||
/// This approach is much simpler and more reliable than trying to replicate gRPC calls
|
||||
/// </summary>
|
||||
public class ConvaiSimpleUDPAudioReceiverV2 : MonoBehaviour
|
||||
public class ConvaiSimpleUDPAudioReceiver : MonoBehaviour
|
||||
{
|
||||
[Header("Network Configuration")]
|
||||
[SerializeField] private int listenPort = 12345;
|
||||
[SerializeField] private bool enableDebugLogging = true;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
|
||||
[Header("NPC Target")]
|
||||
[SerializeField] private bool useActiveNPC = true;
|
||||
@ -58,6 +60,15 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
private void Start()
|
||||
{
|
||||
_cancellationTokenSource = new CancellationTokenSource();
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
listenPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeNetwork();
|
||||
InitializeConvai();
|
||||
|
||||
|
||||
@ -18,6 +18,8 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
[Header("Network Settings")]
|
||||
[SerializeField] private string targetIP = "127.0.0.1";
|
||||
[SerializeField] private int targetPort = 12345;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
|
||||
[Header("Audio Settings")]
|
||||
[SerializeField] private int recordingFrequency = 16000;
|
||||
@ -47,6 +49,16 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
targetIP = cfg.ipAddress;
|
||||
targetPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeNetwork();
|
||||
InitializeAudio();
|
||||
_cancellationTokenSource = new CancellationTokenSource();
|
||||
|
||||
@ -19,6 +19,8 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
[Header("Network Configuration")]
|
||||
[SerializeField] private int listenPort = 12346;
|
||||
[SerializeField] private bool enableDebugLogging = true;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
|
||||
[Header("Audio Playback")]
|
||||
[SerializeField] private AudioSource speechAudioSource;
|
||||
@ -105,6 +107,15 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
private void Start()
|
||||
{
|
||||
_cancellationTokenSource = new CancellationTokenSource();
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
listenPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeAudio();
|
||||
InitializeNetwork();
|
||||
}
|
||||
|
||||
@ -21,6 +21,8 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
[SerializeField] private string targetIP = "127.0.0.1";
|
||||
[SerializeField] private int targetPort = 12346;
|
||||
[SerializeField] private bool enableDebugLogging = true;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
|
||||
[Header("NPC Source")]
|
||||
[SerializeField] private bool useActiveNPC = true;
|
||||
@ -53,6 +55,16 @@ namespace Convai.Scripts.Runtime.Multiplayer
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
targetIP = cfg.ipAddress;
|
||||
targetPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeNetwork();
|
||||
InitializeConvai();
|
||||
}
|
||||
|
||||
BIN
Unity-Master/Assets/Scripts/NetworkConfig.asset
(Stored with Git LFS)
Normal file
BIN
Unity-Master/Assets/Scripts/NetworkConfig.asset
(Stored with Git LFS)
Normal file
Binary file not shown.
8
Unity-Master/Assets/Scripts/NetworkConfig.asset.meta
Normal file
8
Unity-Master/Assets/Scripts/NetworkConfig.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48e977b8cb2ab584a81bd94b48c1b2ab
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
24
Unity-Master/Assets/Scripts/NetworkConfig.cs
Normal file
24
Unity-Master/Assets/Scripts/NetworkConfig.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName = "NetworkConfig", menuName = "Config/Network Config")]
|
||||
public class NetworkConfig : ScriptableObject
|
||||
{
|
||||
[Header("Global Network Settings")]
|
||||
public string ipAddress = "127.0.0.1";
|
||||
public int port = 8080;
|
||||
|
||||
private static NetworkConfig _instance;
|
||||
public static NetworkConfig Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = Resources.Load<NetworkConfig>("NetworkConfig");
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
Unity-Master/Assets/Scripts/NetworkConfig.cs.meta
Normal file
11
Unity-Master/Assets/Scripts/NetworkConfig.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2f6ca8e295dcbc4a9dece402d799c69
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -10,6 +10,8 @@ public class UDPAvatarBroadcaster : MonoBehaviour
|
||||
[Header("Network Configuration")]
|
||||
[SerializeField] private int broadcastPort = 8080;
|
||||
[SerializeField] private string broadcastAddress = "10.138.6.255"; // Local network broadcast
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
[SerializeField] private bool enableBroadcast = true;
|
||||
|
||||
[Header("Avatar Configuration")]
|
||||
@ -83,6 +85,16 @@ public class UDPAvatarBroadcaster : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
broadcastAddress = cfg.ipAddress;
|
||||
broadcastPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeNetworking();
|
||||
CacheAvatarComponents();
|
||||
|
||||
|
||||
@ -11,6 +11,8 @@ public class UDPAvatarReceiver : MonoBehaviour
|
||||
{
|
||||
[Header("Network Configuration")]
|
||||
[SerializeField] private int listenPort = 8080;
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
[SerializeField] private bool enableReceiver = true;
|
||||
[SerializeField] private byte targetPlayerID = 2; // Which player to receive data from (0 = any)
|
||||
[SerializeField] private bool allowPortSharing = true; // For local testing with multiple components
|
||||
@ -85,6 +87,16 @@ public class UDPAvatarReceiver : MonoBehaviour
|
||||
if (targetAvatarRoot == null)
|
||||
targetAvatarRoot = transform;
|
||||
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
listenPort = cfg.port;
|
||||
}
|
||||
}
|
||||
|
||||
CacheAvatarComponents();
|
||||
|
||||
if (enableReceiver)
|
||||
|
||||
@ -18,6 +18,8 @@ public class VRExperimentController : MonoBehaviour
|
||||
[Header("Network Settings")]
|
||||
[SerializeField] private int udpPort = 1221;
|
||||
[SerializeField] private bool allowPortSharing = true; // For local testing with multiple components
|
||||
[SerializeField] private bool useGlobalNetworkConfig = true;
|
||||
[SerializeField] private NetworkConfig networkConfigAsset;
|
||||
|
||||
[Header("Avatar Assignments")]
|
||||
[SerializeField] private GameObject helpfulAvatar;
|
||||
@ -55,6 +57,15 @@ public class VRExperimentController : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Apply global config if enabled
|
||||
if (useGlobalNetworkConfig)
|
||||
{
|
||||
var cfg = networkConfigAsset != null ? networkConfigAsset : NetworkConfig.Instance;
|
||||
if (cfg != null)
|
||||
{
|
||||
udpPort = cfg.port;
|
||||
}
|
||||
}
|
||||
InitializeObjectMaps();
|
||||
StartUDPListener();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user