Ejemplo n.º 1
0
void ASimModeWorldBase::BeginPlay()
{
    Super::BeginPlay();

    setupClock();

    manual_pose_controller = NewObject<UManualPoseController>();
    setupInputBindings();

    //call virtual method in derived class
    createVehicles(vehicles_);

    physics_world_.reset(new msr::airlib::PhysicsWorld(
        createPhysicsEngine(), toUpdatableObjects(vehicles_), 
        getPhysicsLoopPeriod()));

    if (usage_scenario == kUsageScenarioComputerVision) {
        if (default_vehicle_config != "SimpleFlight")
            UAirBlueprintLib::LogMessageString("settings.json is not using simple_flight in ComputerVision mode."
                "This can lead to unpredictable behaviour!",  
                "", LogDebugLevel::Failure);


        manual_pose_controller->initializeForPlay();
        manual_pose_controller->setActor(getFpvVehiclePawnWrapper()->getPawn());
    }
}
Ejemplo n.º 2
0
void ASimModeBase::BeginPlay()
{
    Super::BeginPlay();

    setStencilIDs();

    recording_file_.reset(new RecordingFile());
    record_tick_count = 0;
    setupInputBindings();

    UAirBlueprintLib::LogMessage(TEXT("Press F1 to see help"), TEXT(""), LogDebugLevel::Informational);

    try {
        readSettings();
    }
    catch (std::exception& ex) {
        UAirBlueprintLib::LogMessageString("Error occured while reading the Settings: ", ex.what(), LogDebugLevel::Failure);
    }
}
Ejemplo n.º 3
0
void ASimModeBase::BeginPlay()
{
    Super::BeginPlay();

    is_recording = false;
    record_tick_count = 0;
    setupInputBindings();

    //check engine version
    uint16 min_major = 4, min_minor = 15;
    if ((FEngineVersion::Current().GetMajor() == min_major && FEngineVersion::Current().GetMinor() < min_minor) || 
        (FEngineVersion::Current().GetMajor() < min_major && FEngineVersion::Current().GetMajor() != 0))
        FMessageDialog::Open(EAppMsgType::Ok, FText::FromString(TEXT(
            "Your Unreal Engine version is older and not supported."
            "If you keep running anyway, you may see some weired behaviour!\n"
            "Please upgrade to version 4.15.\n" 
            "Upgrade instructions are at https://github.com/Microsoft/AirSim/blob/master/docs/unreal_upgrade.md")));

    UAirBlueprintLib::LogMessage(TEXT("Press F1 to see help"), TEXT(""), LogDebugLevel::Informational);

    typedef msr::airlib::Settings Settings;

    Settings& settings = Settings::singleton();
    enable_rpc = settings.getBool("RpcEnabled", true);
    api_server_address = settings.getString("LocalHostIp", "127.0.0.1");
    is_record_ui_visible = settings.getBool("RecordUIVisible", true);

    std::string view_mode_string = settings.getString("ViewMode", "FlyWithMe");
    if (view_mode_string == "FlyWithMe")
        initial_view_mode = ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FLY_WITH_ME;
    else if (view_mode_string == "Fpv")
        initial_view_mode = ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FPV;
    else if (view_mode_string == "Manual")
        initial_view_mode = ECameraDirectorMode::CAMERA_DIRECTOR_MODE_MANUAL;
    else if (view_mode_string == "GroundObserver")
        initial_view_mode = ECameraDirectorMode::CAMERA_DIRECTOR_MODE_GROUND_OBSERVER;

    //do not save this default in json as this will change in near future
    fpv_vehicle_name = settings.getString("FpvVehicleName", "Pixhawk");

    UAirBlueprintLib::LogMessage("Vehicle name: ", fpv_vehicle_name.c_str(), LogDebugLevel::Informational);
}