/* AirSimServer() { }*/ void Start() { vehicleList = new List<Transform>(); pedestrianList = new List<Transform>(); comp = new ServerCompanion(); VehicleCompanion.InitDelegators(); var settings = AirSimSettings.GetSettings(); if (IP == "") IP = settings.LocalHostIP; if (Port == -1) Port = settings.GetPort(AirSimSettings.AgentType.Server); // Start server bool status = PInvokeWrapper.StartMainServer(Port); Debug.LogWarning("Main server started on port " + Port.ToString()); if(!status) { #if UNITY_EDITOR EditorUtility.DisplayDialog("AirSim main failed to start on port " + Port.ToString() + "!!!", "Please check logs for more information.", "Exit"); EditorApplication.Exit(1); #else Application.Quit(); #endif } }
public static DataCaptureScript GetCameraCaptureForRecording() { AirSimSettings.CamerasSettings recordCamSettings = AirSimSettings.GetSettings().Recording.Cameras[0]; DataCaptureScript recordCam = Vehicles[0].VehicleInterface.GetCameraCapture(recordCamSettings.CameraName); return(recordCam); }
//Sets up the cameras based on the settings.json file to render on the sub windows. //Make sure the cameras are child of object with tag "ViewCameras" public void SetUpViewCameras() { GameObject viewCameras = GameObject.FindGameObjectWithTag("ViewCameras"); cameraViews[0] = transform.GetChild(0).gameObject; cameraViews[1] = transform.GetChild(1).gameObject; cameraViews[2] = transform.GetChild(2).gameObject; cameraViews[0].SetActive(false); cameraViews[1].SetActive(false); cameraViews[2].SetActive(false); if (!viewCameras) { isViewCamerasSet = false; return; } isViewCamerasSet = viewCameras.activeInHierarchy; if (isViewCamerasSet) { for (int i = 0; i < 3; i++) { AirSimSettings.SubWindowsSettings windowSettings = AirSimSettings.GetSettings().SubWindows[i]; ImageType imageType = (ImageType)windowSettings.ImageType; viewCameras.transform.GetChild(windowSettings.WindowID).GetComponent <CameraFiltersScript>().SetShaderEffect(imageType); cameraViews[windowSettings.WindowID].SetActive(windowSettings.Visible); if (imageType == ImageType.DepthVis) { cameraViews[windowSettings.WindowID].transform.GetChild(0).gameObject.SetActive(true); } } } }
//Ensure to call this method as the first statement, from derived class `Start()` method. protected void Start() { isDrone = this is Drone ? true : false; if (isDrone) { GetComponent <Rigidbody>().useGravity = false; } InitializeVehicle(); airsimInterface = VehicleCompanion.GetVehicleCompanion(this, vehicle_name); isServerStarted = airsimInterface.StartVehicleServer(AirSimSettings.GetSettings().LocalHostIP); if (isServerStarted == false) { #if UNITY_EDITOR EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); EditorApplication.Exit(1); #else Application.Quit(); #endif } AirSimGlobal.Instance.Weather.AttachToVehicle(this); count = UnityEngine.Random.Range(0, 10); }
private void Awake() { //Needs to be the first initialization in the Simulation if not done. if (AirSimSettings.GetSettings() == null) { AirSimSettings.Initialize(); } }
private void Awake() { //Needs to be the first initialization in the Simulation. if (!AirSimSettings.Initialize()) { EditorApplication.Exit(1); } }
public bool StartVehicleServer(string hostIP) { if (serverStarted == false) { Debug.LogWarning("Starting server for " + vehicleType + AirSimSettings.GetSettings().SimMode); serverStarted = PInvokeWrapper.StartServer(vehicleType, AirSimSettings.GetSettings().SimMode, basePortId); Debug.LogWarning("Server started: " + serverStarted + " - " + basePortId); return(serverStarted); } return(true); }
//Ensure to call this method as the first statement, from derived class `Start()` method. protected void Start() { isDrone = this is Drone ? true : false; if (isDrone) { GetComponent <Rigidbody>().useGravity = false; } InitializeVehicle(); airsimInterface = VehicleCompanion.GetVehicleCompanion(this); isServerStarted = airsimInterface.StartVehicleServer(AirSimSettings.GetSettings().LocalHostIP); }
// Start is called before the first frame update void Start() { string simMode = AirSimSettings.GetSettings().SimMode; int basePortId = AirSimSettings.GetSettings().GetPortIDForVehicle(simMode == DRONE_MODE); bool isServerStarted = PInvokeWrapper.StartServer(simMode, basePortId); if (isServerStarted == false) { #if UNITY_EDITOR EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); #else Application.Quit(); #endif } }
public static bool Initialize() { settings = new AirSimSettings(); settings.SetDefaults(); if (!Directory.Exists(AIRSIM_DATA_FOLDER)) { Directory.CreateDirectory(AIRSIM_DATA_FOLDER); } string jsonString = GetSettingsContent(); JsonUtility.FromJsonOverwrite(jsonString, settings); return(true); }
public static VehicleCompanion GetVehicleCompanion(IVehicleInterface vehicleInterface) { var companion = new VehicleCompanion(vehicleInterface); if (AirSimSettings.GetSettings().SimMode == "Car") { companion.vehicleName = "PhysXCar"; } else if (AirSimSettings.GetSettings().SimMode == "Multirotor") { companion.vehicleName = "SimpleFlight"; } Vehicles.Add(companion); return(companion); }
public void SetUpCamera(string cameraName, bool isDrone) { this.cameraName = cameraName; renderCam = GetComponent <Camera>(); fov = renderCam.fieldOfView; recorder = new DataRecorder(); waitUntilNext = new WaitForSeconds(AirSimSettings.GetSettings().Recording.RecordInterval); waitForEndOfFrame = new WaitForEndOfFrame(); shaderScript = GetComponent <CameraFiltersScript>(); renderCam.enabled = false; shaderScript.effect = ImageType.Count; recorder.IsDrone(isDrone); SetUpRenderTextureForCapture(ImageType.Scene); SetUpRenderType(ImageType.Scene); }
public static void EndWS() { var port = AirSimSettings.GetFlaskPort(); HttpClient client = new HttpClient(); client.Get(new System.Uri("http://localhost:" + port + "/api/WebSocket/end"), HttpCompletionOption.AllResponseContent, (r) => { if (r.IsSuccessStatusCode) { Console.WriteLine("Success to end WebSocket"); } else { Console.WriteLine("Falied to end WebSocket"); } byte[] responseData = r.ReadAsByteArray(); }); }
private void Awake() { String[] Data = Environment.GetCommandLineArgs(); //before your loop // var csv = new StringBuilder(); var flaskPortArg = @"/flaskPortArg="; int flaskPort, unityport; var unityDronwPortArg = @"/unityDronePort="; for (int i = 0; i < Data.Length; i++) { if (Data[i].Contains(flaskPortArg)) { // csv.Append("parameter" + i); // csv.Append(Data[i]); var portstr = Data[i].Substring(flaskPortArg.Length); // csv.AppendLine(portstr); flaskPort = int.Parse(portstr); // csv.Append(flaskPort); AirSimSettings.SetFlaskPort(flaskPort); } else if (Data[i].Contains(unityDronwPortArg)) { // csv.Append("parameter" + i); // csv.Append(Data[i]); var portstr = Data[i].Substring(unityDronwPortArg.Length); // csv.AppendLine(portstr); unityport = int.Parse(portstr); // csv.AppendLine("unityport"); // csv.Append(unityport); AirSimSettings.PreInitialize(unityport); } } //after your loop // File.WriteAllText(@"C:\Git\AirSim-1\Unity\log.txt", csv.ToString()); //Needs to be the first initialization in the Simulation if not done. if (AirSimSettings.GetSettings() == null) { AirSimSettings.Initialize(); } }
//Ensure to call this method as the first statement, from derived class `Start()` method. protected void Start() { isDrone = this is Drone ? true : false; if (isDrone) { GetComponent <Rigidbody>().useGravity = false; } InitializeVehicle(); airsimInterface = VehicleCompanion.GetVehicleCompanion(this); isServerStarted = airsimInterface.StartVehicleServer(AirSimSettings.GetSettings().LocalHostIP); if (isServerStarted == false) { EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); EditorApplication.Exit(1); } }
private void SetUpRenderTextureForCapture(ImageType type) { if (shaderScript.effect == type) { return; } AirSimSettings.CameraCaptureSettings captureSettings = AirSimSettings.GetSettings().GetCaptureSettingsBasedOnImageType(type); renderTexture = RenderTexture.GetTemporary(captureSettings.Width, captureSettings.Height, 24, RenderTextureFormat.ARGB32); renderTexture.Create(); renderCam.targetTexture = renderTexture; renderCam.enabled = true; screenShot = new Texture2D(captureSettings.Width, captureSettings.Height, TextureFormat.RGB24, false); captureRect = new Rect(0, 0, captureSettings.Width, captureSettings.Height); }
//Thread to capture the images and save them to documents. This will be started by pressing the Record button on HUD. private IEnumerator CaptureFrames() { AirSimSettings.CamerasSettings recordCamSettings = AirSimSettings.GetSettings().Recording.Cameras[0]; SetUpRenderType((ImageType)recordCamSettings.ImageType); SetUpRenderTextureForCapture((ImageType)recordCamSettings.ImageType); while (isCapturing) { yield return(waitForEndOfFrame); RenderTexture.active = renderTexture; screenShot.ReadPixels(captureRect, 0, 0); screenShot.Apply(); byte[] bytes = screenShot.EncodeToPNG(); RenderTexture.active = null; DataRecorder.ImageData data = VehicleCompanion.GetRecordingData(); data.image = bytes; recorder.AddImageDataToQueue(data); yield return(waitUntilNext); } }
public static VehicleCompanion GetVehicleCompanion(IVehicleInterface vehicleInterface, string vehicleName) { var companion = new VehicleCompanion(vehicleInterface); if (AirSimSettings.GetSettings().SimMode == "Car") { companion.vehicleType = "PhysXCar"; companion.vehicleName = vehicleName; } else if (AirSimSettings.GetSettings().SimMode == "Multirotor") { companion.vehicleType = "SimpleFlight"; } Vehicles.Add(companion); Debug.LogWarning("Number of cars: " + Vehicles.Count.ToString() + "Sim mode - " + AirSimSettings.GetSettings().SimMode + ". Added - " + companion.vehicleName); return(companion); }
public static bool Initialize() { settings = new AirSimSettings(); settings.SetDefaults(); if (!Directory.Exists(AIRSIM_DATA_FOLDER)) { Directory.CreateDirectory(AIRSIM_DATA_FOLDER); } string jsonString = GetSettingsContent(); if (jsonString == String.Empty) { EditorUtility.DisplayDialog("Missing 'Settings.json' file!!!", "'Settings.json' file either not present or not configured properly.", "Exit"); return(false); } JsonUtility.FromJsonOverwrite(jsonString, settings); return(true); }
public void Start() { pedestrian_name = transform.GetComponentInParent <PedestrianOverhead>().name; InitialisePedestrian(); pedestrianInterface = PedestrianCompanion.GetPedestrianCompanion(this, pedestrian_name); isServerStarted = pedestrianInterface.StartPedestrianServer(AirSimSettings.GetSettings().GetPort(AirSimSettings.AgentType.Pedestrian)); if (isServerStarted == false) { #if UNITY_EDITOR EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); EditorApplication.Exit(1); #else Application.Quit(); #endif } //AirSimGlobal.Instance.Weather.AttachToVehicle(this); //count = UnityEngine.Random.Range(0, 10); pedestrianControls = new PedestrianControls(0, 0); }
private VehicleCompanion(IVehicleInterface vehicleInterface) { VehicleInterface = vehicleInterface; isDrone = vehicleInterface is Drone ? true : false; basePortId = AirSimSettings.GetSettings().GetPortIDForVehicle(isDrone); }
public bool StartVehicleServer(string hostIP) { return(PInvokeWrapper.StartServer(vehicleName, AirSimSettings.GetSettings().SimMode, basePortId)); }