From f5d5581640fd39579d79d2a6ef82e605057efd32 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Tue, 3 Nov 2020 19:27:10 +0100 Subject: [PATCH 01/54] fixes cleaned --- .../AirsimWrapper/Source/PInvokeWrapper.cpp | 8 +-- .../AirsimWrapper/Source/PInvokeWrapper.h | 8 +-- .../AirsimWrapper/Source/SimHUD/SimHUD.cpp | 18 +++---- .../AirsimWrapper/Source/SimHUD/SimHUD.h | 3 +- .../Source/SimMode/SimModeBase.cpp | 51 +++++++++++-------- .../Source/SimMode/SimModeBase.h | 7 ++- .../Source/SimMode/SimModeWorldBase.cpp | 6 +-- .../Source/SimMode/SimModeWorldBase.h | 2 +- .../Source/UnityToAirSimCalls.cpp | 4 +- .../AirsimWrapper/Source/UnityToAirSimCalls.h | 12 ++--- .../Source/Vehicles/Car/CarPawnSimApi.cpp | 2 +- .../Source/Vehicles/Car/SimModeCar.cpp | 10 ++-- .../Source/Vehicles/Car/SimModeCar.h | 4 +- .../Multirotor/SimModeWorldMultiRotor.cpp | 8 +-- .../Multirotor/SimModeWorldMultiRotor.h | 4 +- .../AirsimWrapper/Source/WorldSimApi.cpp | 6 +-- .../AirsimWrapper/Source/WorldSimApi.h | 3 +- 17 files changed, 80 insertions(+), 76 deletions(-) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp index 9c45287d57..44a38393b9 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp @@ -17,10 +17,10 @@ bool(*SetSegmentationObjectId)(const char* meshName, int objectId, bool isNameRe int(*GetSegmentationObjectId)(const char* meshName); bool(*PrintLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity); UnityTransform(*GetTransformFromUnity)(const char* vehicleName); -bool(*Reset)(const char* vehicleName); +bool(*Reset)(); AirSimVector(*GetVelocity)(const char* vehicleName); RayCastHitResult(*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); -bool(*Pause)(const char* vehicleName, float timeScale); +bool(*Pause)(float timeScale); void InitVehicleManager( bool(*setPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName), @@ -39,10 +39,10 @@ void InitVehicleManager( int(*getSegmentationObjectId)(const char* meshName), bool(*printLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity), UnityTransform(*getTransformFromUnity)(const char* vehicleName), - bool(*reset)(const char* vehicleName), + bool(*reset)(), AirSimVector(*getVelocity)(const char* vehicleName), RayCastHitResult(*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), - bool(*pause)(const char* vehicleName, float timeScale) + bool(*pause)(float timeScale) ) { SetPose = setPose; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h index 36c22c2e1e..9638ddf5f5 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h @@ -31,10 +31,10 @@ extern bool(*SetSegmentationObjectId)(const char* meshName, int objectId, bool i extern int(*GetSegmentationObjectId)(const char* meshName); extern bool(*PrintLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity); extern UnityTransform(*GetTransformFromUnity)(const char* vehicleName); -extern bool(*Reset)(const char* vehicleName); +extern bool(*Reset)(); extern AirSimVector(*GetVelocity)(const char* vehicleName); extern RayCastHitResult(*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); -extern bool(*Pause)(const char* vehicleName, float timeScale); +extern bool(*Pause)(float timeScale); // PInvoke call to initialize the function pointers. This function is called from Unity. @@ -55,8 +55,8 @@ extern "C" EXPORT void InitVehicleManager( int(*getSegmentationObjectId)(const char* meshName), bool(*printLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity), UnityTransform(*getTransformFromUnity)(const char* vehicleName), - bool(*reset)(const char* vehicleName), + bool(*reset)(), AirSimVector(*getVelocity)(const char* vehicleName), RayCastHitResult(*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), - bool(*pause)(const char* vehicleName, float timeScale) + bool(*pause)(float timeScale) ); diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp index 8fd77e916c..b4e9d6534d 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp @@ -3,8 +3,8 @@ #include "../Vehicles/Car/SimModeCar.h" #include "../Vehicles/Multirotor/SimModeWorldMultiRotor.h" -SimHUD::SimHUD(std::string vehicle_name, std::string sim_mode_name, int port_number) : - vehicle_name_(vehicle_name), sim_mode_name_(sim_mode_name), port_number_(port_number) +SimHUD::SimHUD(std::string sim_mode_name, int port_number) : + sim_mode_name_(sim_mode_name), port_number_(port_number) { server_started_Successfully_ = false; } @@ -21,7 +21,7 @@ void SimHUD::BeginPlay() } catch (std::exception& ex) { - PrintLogMessage("Error at startup: ", ex.what(), vehicle_name_.c_str(), ErrorLogSeverity::Error); + PrintLogMessage("Error at startup: ", ex.what(), "", ErrorLogSeverity::Error); } } @@ -78,10 +78,10 @@ void SimHUD::initializeSettings() AirSimSettings::singleton().load(std::bind(&SimHUD::getSimModeFromUser, this)); for (const auto& warning : AirSimSettings::singleton().warning_messages) { - PrintLogMessage(warning.c_str(), "LogDebugLevel::Failure", vehicle_name_.c_str(), ErrorLogSeverity::Error); + PrintLogMessage(warning.c_str(), "LogDebugLevel::Failure", "", ErrorLogSeverity::Error); } for (const auto& error : AirSimSettings::singleton().error_messages) { - PrintLogMessage(error.c_str(), "settings.json", vehicle_name_.c_str(), ErrorLogSeverity::Error); + PrintLogMessage(error.c_str(), "settings.json", "", ErrorLogSeverity::Error); } } @@ -110,9 +110,9 @@ void SimHUD::createSimMode() std::string simmode_name = AirSimSettings::singleton().simmode_name; if (simmode_name == "Multirotor") - simmode_ = new SimModeWorldMultiRotor(vehicle_name_, port_number_); + simmode_ = new SimModeWorldMultiRotor(port_number_); else if (simmode_name == "Car") - simmode_ = new SimModeCar(vehicle_name_, port_number_); + simmode_ = new SimModeCar(port_number_); simmode_->BeginPlay(); } @@ -139,12 +139,12 @@ bool SimHUD::readSettingsTextFromFile(std::string settingsFilepath, std::string& std::stringstream buffer; buffer << file.rdbuf(); settingsText = buffer.str(); - PrintLogMessage("Loaded settings from ", settingsFilepath.c_str(), vehicle_name_.c_str(), ErrorLogSeverity::Information); + PrintLogMessage("Loaded settings from ", settingsFilepath.c_str(), "", ErrorLogSeverity::Information); return true; } else { - PrintLogMessage("Cannot read settings file ", settingsFilepath.c_str(), vehicle_name_.c_str(), ErrorLogSeverity::Error); + PrintLogMessage("Cannot read settings file ", settingsFilepath.c_str(), "", ErrorLogSeverity::Error); } return false; } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h index 544693f117..2ef6edabed 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h @@ -18,7 +18,7 @@ class SimHUD std::string getSimModeFromUser(); public: - SimHUD(std::string vehicle_name, std::string sime_mode_name, int port_number); + SimHUD(std::string sime_mode_name, int port_number); SimModeBase* GetSimMode(); ImageType getSubwindowCameraType(int window_index); void setSubwindowCameraType(int window_index, ImageType type); @@ -31,7 +31,6 @@ class SimHUD private: typedef common_utils::Utils Utils; SimModeBase* simmode_; - std::string vehicle_name_; std::string sim_mode_name_; int port_number_; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index c8d5ef1129..6e9fea260f 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -5,8 +5,8 @@ #include "../PInvokeWrapper.h" #include "../WorldSimApi.h" -SimModeBase::SimModeBase(std::string vehicle_name, int port_number) : - vehicle_name_(vehicle_name), port_number_(port_number) +SimModeBase::SimModeBase(int port_number) : + port_number_(port_number) { } @@ -15,7 +15,7 @@ void SimModeBase::BeginPlay() debug_reporter_.initialize(false); debug_reporter_.reset(); global_ned_transform_.reset(new NedTransform(GetVehicleStartTransform())); - world_sim_api_.reset(new WorldSimApi(this, vehicle_name_)); + world_sim_api_.reset(new WorldSimApi(this)); api_provider_.reset(new msr::airlib::ApiProvider(world_sim_api_.get())); setupClockSpeed(); record_tick_count = 0; @@ -24,7 +24,8 @@ void SimModeBase::BeginPlay() void SimModeBase::Tick(float DeltaSeconds) { - getVehicleSimApi(vehicle_name_)->pawnTick(DeltaSeconds); + for (auto& api : getApiProvider()->getVehicleSimApis()) + static_cast(api)->pawnTick(DeltaSeconds); showClockStats(); updateDebugReport(debug_reporter_); } @@ -36,7 +37,7 @@ void SimModeBase::showClockStats() { PrintLogMessage("ClockSpeed config, actual: ", Utils::stringf("%f, %f", clock_speed, ClockFactory::get()->getTrueScaleWrtWallClock()).c_str(), - vehicle_name_.c_str(), ErrorLogSeverity::Information); + "", ErrorLogSeverity::Information); } } @@ -149,11 +150,11 @@ void SimModeBase::startApiServer() api_server_->start(false, 4); //TODO: set thread for vehicle count } catch (std::exception& ex) { - PrintLogMessage("Cannot start RpcLib Server", ex.what(), vehicle_name_.c_str(), ErrorLogSeverity::Error); + PrintLogMessage("Cannot start RpcLib Server", ex.what(), "", ErrorLogSeverity::Error); } } else - PrintLogMessage("API server is disabled in settings", "", vehicle_name_.c_str(), ErrorLogSeverity::Information); + PrintLogMessage("API server is disabled in settings", "", "", ErrorLogSeverity::Information); } void SimModeBase::stopApiServer() @@ -201,31 +202,37 @@ void SimModeBase::setupVehiclesAndCamera() { //determine camera director camera default pose and spawn it const auto& camera_director_setting = getSettings().camera_director; - UnityPawn* vehicle_pawn = GetVehiclePawn(); - const auto& home_geopoint = msr::airlib::EarthUtils::nedToGeodetic(GetVehiclePosition(), getSettings().origin_geopoint); + for (auto const& vehicle_setting_pair : getSettings().vehicles) + { + const auto& vehicle_setting = *vehicle_setting_pair.second; + const std::string& vehicle_name = vehicle_setting.vehicle_name; - PawnSimApi::Params pawn_sim_api_params(vehicle_pawn, &getGlobalNedTransform(), home_geopoint, vehicle_name_); - auto vehicle_sim_api = createVehicleSimApi(pawn_sim_api_params); - auto vehicle_sim_api_p = vehicle_sim_api.get(); - auto vehicle_Api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); + UnityPawn* vehicle_pawn = GetVehiclePawn(vehicle_name); + const auto& home_geopoint = msr::airlib::EarthUtils::nedToGeodetic(GetVehiclePosition(vehicle_name), getSettings().origin_geopoint); - getApiProvider()->insert_or_assign(vehicle_name_, vehicle_Api, vehicle_sim_api_p); + PawnSimApi::Params pawn_sim_api_params(vehicle_pawn, &getGlobalNedTransform(), home_geopoint, vehicle_name); + auto vehicle_sim_api = createVehicleSimApi(pawn_sim_api_params); + auto vehicle_sim_api_p = vehicle_sim_api.get(); + auto vehicle_Api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); - if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name_ != "") - { - getApiProvider()->makeDefaultVehicle(vehicle_name_); + getApiProvider()->insert_or_assign(vehicle_name, vehicle_Api, vehicle_sim_api_p); + + if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name != "") + { + getApiProvider()->makeDefaultVehicle(vehicle_name); + } + vehicle_sim_apis_.push_back(std::move(vehicle_sim_api)); } - vehicle_sim_apis_.push_back(std::move(vehicle_sim_api)); } -const msr::airlib::Vector3r SimModeBase::GetVehiclePosition() +const msr::airlib::Vector3r SimModeBase::GetVehiclePosition(const std::string& vehicle_name) { - AirSimPose airSimPose = GetPose(vehicle_name_.c_str()); + AirSimPose airSimPose = GetPose(vehicle_name.c_str()); msr::airlib::Vector3r vehiclePosition(airSimPose.position.x, airSimPose.position.y, airSimPose.position.z); return vehiclePosition; } -UnityPawn* SimModeBase::GetVehiclePawn() +UnityPawn* SimModeBase::GetVehiclePawn(const std::string& vehicle_name) { return nullptr; } @@ -254,6 +261,6 @@ msr::airlib::VehicleApiBase* SimModeBase::getVehicleApi(const PawnSimApi::Params UnityTransform SimModeBase::GetVehicleStartTransform() { - UnityTransform unityTransform = GetTransformFromUnity(vehicle_name_.c_str()); + UnityTransform unityTransform = GetTransformFromUnity(""); //we can use default vehicle? return unityTransform; } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h index 6e4020c7ee..d749d05daf 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h @@ -21,7 +21,7 @@ class SimModeBase typedef msr::airlib::AirSimSettings AirSimSettings; private: - const msr::airlib::Vector3r GetVehiclePosition(); + const msr::airlib::Vector3r GetVehiclePosition(const std::string& vehicle_name); UnityTransform GetVehicleStartTransform(); void showClockStats(); @@ -30,14 +30,14 @@ class SimModeBase virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const; virtual std::unique_ptr createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const; virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, const PawnSimApi* sim_api) const; - virtual UnityPawn* GetVehiclePawn(); + virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name); virtual void setupVehiclesAndCamera(); virtual void setupClockSpeed(); //called when SimMode should handle clock speed setting virtual void updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter); virtual const msr::airlib::AirSimSettings& getSettings() const; public: - SimModeBase(std::string vehicle_name, int port_number); + SimModeBase(int port_number); virtual void BeginPlay(); virtual void EndPlay(); virtual void Tick(float DeltaSeconds) = 0; @@ -84,7 +84,6 @@ class SimModeBase int record_tick_count; public: - std::string vehicle_name_; int port_number_; bool EnableReport = false; }; \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp index 1712c1c480..890214291d 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp @@ -2,8 +2,8 @@ #include "SimModeWorldBase.h" #include "../PInvokeWrapper.h" -SimModeWorldBase::SimModeWorldBase(std::string multiRotorName, int port_number) : - SimModeBase(multiRotorName, port_number) +SimModeWorldBase::SimModeWorldBase(int port_number) : + SimModeBase(port_number) { } @@ -74,7 +74,7 @@ std::unique_ptr SimModeWorldBase::createPhy else { physics_engine.reset(); - PrintLogMessage("Unrecognized physics engine name: ", physics_engine_name.c_str(), vehicle_name_.c_str(), ErrorLogSeverity::Warnning); + PrintLogMessage("Unrecognized physics engine name: ", physics_engine_name.c_str(), "", ErrorLogSeverity::Warnning); } return physics_engine; } diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h index 95cc54ed81..85100baabe 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h @@ -26,7 +26,7 @@ class SimModeWorldBase : public SimModeBase void initializeForPlay(); public: - SimModeWorldBase(std::string multiRotorName, int port_number); + SimModeWorldBase(int port_number); virtual void BeginPlay() override; virtual void EndPlay() override; virtual void Tick(float DeltaSeconds) override; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp index 143b685502..f2a7fb05d6 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp @@ -1,7 +1,7 @@ #include "UnityToAirSimCalls.h" -void StartServerThread(std::string vehicle_name, std::string sim_mode_name, int port_number) +void StartServerThread(std::string sim_mode_name, int port_number) { - key = new SimHUD(vehicle_name, sim_mode_name, port_number); + key = new SimHUD(sim_mode_name, port_number); key->BeginPlay(); } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h index 2d320df6b4..503f3a665b 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h @@ -13,12 +13,12 @@ static SimHUD* key = nullptr; -void StartServerThread(std::string vehicle_name, std::string sim_mode_name, int port_number); +void StartServerThread(std::string sim_mode_name, int port_number); -extern "C" EXPORT bool StartServer(char* vehicle_name, char* sim_mode_name, int port_number) +extern "C" EXPORT bool StartServer(char* sim_mode_name, int port_number) { LOGGER->WriteLog("Starting server for : " + std::string(sim_mode_name)); - std::thread server_thread(StartServerThread, vehicle_name, sim_mode_name, port_number); + std::thread server_thread(StartServerThread, sim_mode_name, port_number); server_thread.detach(); int waitCounter = 25; // waiting for maximum 5 seconds to start a server. while ((key == nullptr || !key->server_started_Successfully_) && waitCounter > 0) @@ -29,7 +29,7 @@ extern "C" EXPORT bool StartServer(char* vehicle_name, char* sim_mode_name, int return key->server_started_Successfully_; } -extern "C" EXPORT void StopServer(char* vehicle_name) +extern "C" EXPORT void StopServer() { key->EndPlay(); if (key != nullptr) @@ -45,12 +45,12 @@ extern "C" EXPORT void CallTick(float deltaSeconds) key->Tick(deltaSeconds); } -extern "C" EXPORT void InvokeCollisionDetection(AirSimUnity::AirSimCollisionInfo collision_info) +extern "C" EXPORT void InvokeCollisionDetection(char* vehicle_name, AirSimUnity::AirSimCollisionInfo collision_info) { auto simMode = key->GetSimMode(); if (simMode) { - auto vehicleApi = simMode->getVehicleSimApi(simMode->vehicle_name_); + auto vehicleApi = simMode->getVehicleSimApi(vehicle_name); if (vehicleApi) { msr::airlib::CollisionInfo collisionInfo = UnityUtilities::Convert_to_AirSimCollisioinInfo(collision_info); diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp index 660fba3682..d8c2873af9 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp @@ -168,7 +168,7 @@ void CarPawnSimApi::updateCarControls() void CarPawnSimApi::resetImplementation() { setPose(UnityUtilities::Convert_to_Pose(GetInitialPose()), false); - Reset(getVehicleName().c_str()); + Reset(); PawnSimApi::resetImplementation(); pawn_api_->reset(); diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp index 39dbc1d44f..56d99508d0 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp @@ -5,7 +5,7 @@ #include "vehicles/car/api/CarRpcLibServer.hpp" #include "../../PInvokeWrapper.h" -SimModeCar::SimModeCar(std::string car_name, int port_number) : SimModeBase(car_name, port_number) +SimModeCar::SimModeCar(int port_number) : SimModeBase(port_number) { } @@ -34,7 +34,7 @@ void SimModeCar::pause(bool is_paused) else current_clockspeed_ = getSettings().clock_speed; - Pause(vehicle_name_.c_str(), current_clockspeed_); + Pause(current_clockspeed_); } void SimModeCar::continueForTime(double seconds) @@ -80,9 +80,9 @@ bool SimModeCar::isVehicleTypeSupported(const std::string& vehicle_type) const return vehicle_type == AirSimSettings::kVehicleTypePhysXCar; } -UnityPawn* SimModeCar::GetVehiclePawn() +UnityPawn* SimModeCar::GetVehiclePawn(const std::string& vehicle_name) { - return new CarPawn(vehicle_name_); + return new CarPawn(vehicle_name); } std::unique_ptr SimModeCar::createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const @@ -90,7 +90,7 @@ std::unique_ptr SimModeCar::createVehicleSimApi(const PawnSimApi::Pa auto vehicle_pawn = static_cast(pawn_sim_api_params.pawn); auto vehicle_sim_api = std::unique_ptr(new CarPawnSimApi(pawn_sim_api_params, - vehicle_pawn->getKeyBoardControls(), vehicle_name_)); + vehicle_pawn->getKeyBoardControls(), pawn_sim_api_params.vehicle_name)); vehicle_sim_api->initialize(); vehicle_sim_api->reset(); return vehicle_sim_api; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h index 4a2c2dc3cd..88652ee80a 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h @@ -28,13 +28,13 @@ class SimModeCar : public SimModeBase const PawnSimApi* sim_api) const override; public: - SimModeCar(std::string car_name, int port_number); + SimModeCar(int port_number); virtual void BeginPlay() override; virtual void Tick(float DeltaSeconds) override; virtual bool isPaused() const override; virtual void pause(bool is_paused) override; virtual void continueForTime(double seconds) override; - virtual UnityPawn* GetVehiclePawn() override; + virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; private: std::atomic current_clockspeed_; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp index ea8ed76795..7f4185aafb 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp @@ -3,8 +3,8 @@ #include "MultirotorPawnSimApi.h" #include "vehicles/multirotor/api/MultirotorRpcLibServer.hpp" -SimModeWorldMultiRotor::SimModeWorldMultiRotor(std::string multiRotorName, int port_number) : - SimModeWorldBase(multiRotorName, port_number) +SimModeWorldMultiRotor::SimModeWorldMultiRotor(int port_number) : + SimModeWorldBase(port_number) { } @@ -28,9 +28,9 @@ void SimModeWorldMultiRotor::EndPlay() SimModeWorldBase::EndPlay(); } -UnityPawn* SimModeWorldMultiRotor::GetVehiclePawn() +UnityPawn* SimModeWorldMultiRotor::GetVehiclePawn(const std::string& vehicle_name) { - return new FlyingPawn(vehicle_name_); + return new FlyingPawn(vehicle_name); } void SimModeWorldMultiRotor::setupClockSpeed() diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h index 090b303b8e..3f781efc66 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h @@ -15,11 +15,11 @@ class SimModeWorldMultiRotor : public SimModeWorldBase const PawnSimApi* sim_api) const override; public: - SimModeWorldMultiRotor(std::string multi_rotor_name, int port_number); + SimModeWorldMultiRotor(int port_number); virtual void BeginPlay() override; virtual void EndPlay() override; void Tick(float DeltaSeconds) override; - UnityPawn* GetVehiclePawn() override; + UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; private: typedef FlyingPawn TVehiclePawn; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp index c8e5d7d025..c02a5e4edf 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp @@ -3,8 +3,8 @@ #include "PInvokeWrapper.h" #include "UnityUtilities.hpp" -WorldSimApi::WorldSimApi(SimModeBase* simmode, std::string vehicle_name) - : simmode_(simmode), vehicle_name_(vehicle_name) +WorldSimApi::WorldSimApi(SimModeBase* simmode) + : simmode_(simmode) {} WorldSimApi::~WorldSimApi() @@ -49,7 +49,7 @@ int WorldSimApi::getSegmentationObjectID(const std::string& mesh_name) const void WorldSimApi::printLogMessage(const std::string& message, const std::string& message_param, unsigned char severity) { - PrintLogMessage(message.c_str(), message_param.c_str(), vehicle_name_.c_str(), severity); + PrintLogMessage(message.c_str(), message_param.c_str(), "", severity); } std::unique_ptr> WorldSimApi::swapTextures(const std::string& tag, int tex_id, int component_id, int material_id) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h index 96a135dd51..ebd0c19f50 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h @@ -11,7 +11,7 @@ class WorldSimApi : public msr::airlib::WorldSimApiBase typedef msr::airlib::Vector3r Vector3r; typedef msr::airlib::MeshPositionVertexBuffersResponse MeshPositionVertexBuffersResponse; - WorldSimApi(SimModeBase* simmode, std::string vehicle_name); + WorldSimApi(SimModeBase* simmode); virtual ~WorldSimApi(); // ------ Level setting apis ----- // @@ -65,5 +65,4 @@ class WorldSimApi : public msr::airlib::WorldSimApiBase private: SimModeBase * simmode_; - std::string vehicle_name_; }; From 751fea5e97319573c5f4cc71ea17eef84b3be5aa Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Tue, 3 Nov 2020 21:46:48 +0100 Subject: [PATCH 02/54] changes to unity scripts --- .../Scripts/Utilities/AirSimManager.cs | 38 ++++++++++++++++++ .../Scripts/Utilities/AirSimManager.cs.meta | 11 +++++ .../Scripts/Utilities/AirSimTicker.cs | 14 +++++++ .../Scripts/Utilities/AirSimTicker.cs.meta | 11 +++++ .../Scripts/Utilities/PInvokeWrapper.cs | 6 +-- .../Scripts/Vehicles/IAirSimInterface.cs | 6 +-- .../Scripts/Vehicles/Multirotor/Drone.cs | 2 + .../AirSimAssets/Scripts/Vehicles/Vehicle.cs | 23 ++--------- .../Scripts/Vehicles/VehicleCompanion.cs | 40 ++++++++----------- 9 files changed, 101 insertions(+), 50 deletions(-) create mode 100644 Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs create mode 100644 Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta create mode 100644 Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs create mode 100644 Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs new file mode 100644 index 0000000000..ba0289dbf9 --- /dev/null +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs @@ -0,0 +1,38 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +using System; +using AirSimUnity.DroneStructs; +using System.Threading; +using UnityEditor; + +namespace AirSimUnity +{ + public class AirSimManager : MonoBehaviour + { + private const string DRONE_MODE = "Multirotor"; + + // 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"); + EditorApplication.Exit(1); +#else + Application.Quit(); +#endif + } + } + + protected void OnApplicationQuit() + { + PInvokeWrapper.StopServer(); + } + } +} \ No newline at end of file diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta new file mode 100644 index 0000000000..7881b6f4b7 --- /dev/null +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca72950c6b9a95848b5b1bee27e51ff8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs new file mode 100644 index 0000000000..401785b8a8 --- /dev/null +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AirSimUnity +{ + public class AirSimTicker : MonoBehaviour + { + void FixedUpdate() + { + PInvokeWrapper.CallTick(Time.fixedDeltaTime); + } + } +} \ No newline at end of file diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta new file mode 100644 index 0000000000..8e150859b4 --- /dev/null +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cc58e6de68c02747a4aa12440551a3b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/PInvokeWrapper.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/PInvokeWrapper.cs index 8f156909ce..f3b52be695 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/PInvokeWrapper.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/PInvokeWrapper.cs @@ -26,15 +26,15 @@ public static extern void InitVehicleManager(IntPtr SetPose, IntPtr GetPose, Int public static extern void StopDroneServer(string vehicleName); [DllImport(DLL_NAME)] - public static extern bool StartServer(string vehicleName, string simModeName, int portNumber); + public static extern bool StartServer(string simModeName, int portNumber); [DllImport(DLL_NAME)] - public static extern void StopServer(string vehicleName); + public static extern void StopServer(); [DllImport(DLL_NAME)] public static extern void CallTick(float deltaSeconds); [DllImport(DLL_NAME)] - public static extern void InvokeCollisionDetection(CollisionInfo collisionInfo); + public static extern void InvokeCollisionDetection(string vehicleName, CollisionInfo collisionInfo); } } diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/IAirSimInterface.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/IAirSimInterface.cs index ce38757bd5..49514de4de 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/IAirSimInterface.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/IAirSimInterface.cs @@ -6,14 +6,10 @@ namespace AirSimUnity */ public interface IAirSimInterface { - bool StartVehicleServer(string hostIP); - - void StopVehicleServer(); - KinemticState GetKinematicState(); void InvokeTickInAirSim(float deltaSecond); - void InvokeCollisionDetectionInAirSim(CollisionInfo collisionInfo); + void InvokeCollisionDetectionInAirSim(string vehicleName, CollisionInfo collisionInfo); } } diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Multirotor/Drone.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Multirotor/Drone.cs index c7ede644ef..463da9a21e 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Multirotor/Drone.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Multirotor/Drone.cs @@ -41,6 +41,8 @@ public class Drone : Vehicle { transform.position = position; transform.rotation = rotation; + currentPose = poseFromAirLib; + for (int i = 0; i < rotors.Length; i++) { float rotorSpeed = (float) (rotorInfos[i].rotorSpeed * rotorInfos[i].rotorDirection * 180 / diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs index 2049d2eecd..18f878f6da 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs @@ -46,6 +46,8 @@ public abstract class Vehicle : MonoBehaviour, IVehicleInterface { RaycastHit hitInfo; bool hitResult; + [SerializeField] string vehicleName; + //Ensure to call this method as the first statement, from derived class `Start()` method. protected void Start() { isDrone = this is Drone ? true : false; @@ -55,18 +57,7 @@ protected void Start() { InitializeVehicle(); - airsimInterface = VehicleCompanion.GetVehicleCompanion(this); - 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 - } + airsimInterface = VehicleCompanion.GetVehicleCompanion(vehicleName, this); } //Ensure to call this method as the first statement, from derived class `FixedUpdate()` method. @@ -112,8 +103,6 @@ protected void LateUpdate() { { print_log_messages_ = !print_log_messages_; } - - airsimInterface.InvokeTickInAirSim(Time.deltaTime); } } @@ -131,7 +120,7 @@ protected void OnCollisionEnter(Collision collision) { collisionInfo.object_name = collision.collider.name; collisionInfo.time_stamp = DataManager.GetCurrentTimeInMilli(); - airsimInterface.InvokeCollisionDetectionInAirSim(collisionInfo); + airsimInterface.InvokeCollisionDetectionInAirSim(vehicleName, collisionInfo); } } @@ -158,10 +147,6 @@ protected void OnCollisionExit() { } } - protected void OnApplicationQuit() { - airsimInterface.StopVehicleServer(); - } - //Define the recording data that needs to be saved in the airsim_rec file for Toggle Recording button public abstract DataRecorder.ImageData GetRecordingData(); diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs index ce674191e7..1a95a52066 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs @@ -36,34 +36,23 @@ private VehicleCompanion(IVehicleInterface vehicleInterface) { basePortId = AirSimSettings.GetSettings().GetPortIDForVehicle(isDrone); } - public static VehicleCompanion GetVehicleCompanion(IVehicleInterface vehicleInterface) { + public static VehicleCompanion GetVehicleCompanion(string vehicleName, IVehicleInterface vehicleInterface) { var companion = new VehicleCompanion(vehicleInterface); - if (AirSimSettings.GetSettings().SimMode == "Car") - companion.vehicleName = "PhysXCar"; - else if (AirSimSettings.GetSettings().SimMode == "Multirotor") - companion.vehicleName = "SimpleFlight"; + companion.vehicleName = vehicleName; Vehicles.Add(companion); return companion; } - public bool StartVehicleServer(string hostIP) { - return PInvokeWrapper.StartServer(vehicleName, AirSimSettings.GetSettings().SimMode, basePortId); - } - - public void StopVehicleServer() { - PInvokeWrapper.StopServer(vehicleName); - } - public void InvokeTickInAirSim(float deltaSecond) { PInvokeWrapper.CallTick(deltaSecond); } - public void InvokeCollisionDetectionInAirSim(CollisionInfo collisionInfo) + public void InvokeCollisionDetectionInAirSim(string vehicleName, CollisionInfo collisionInfo) { - PInvokeWrapper.InvokeCollisionDetection(collisionInfo); + PInvokeWrapper.InvokeCollisionDetection(vehicleName, collisionInfo); } public KinemticState GetKinematicState() { @@ -99,10 +88,10 @@ private static void InitDelegators() { Marshal.GetFunctionPointerForDelegate(new Func(GetSegmentationObjectId)), Marshal.GetFunctionPointerForDelegate(new Func(PrintLogMessage)), Marshal.GetFunctionPointerForDelegate(new Func(GetTransformFromUnity)), - Marshal.GetFunctionPointerForDelegate(new Func(Reset)), + Marshal.GetFunctionPointerForDelegate(new Func(Reset)), Marshal.GetFunctionPointerForDelegate(new Func(GetVelocity)), Marshal.GetFunctionPointerForDelegate(new Func(GetRayCastHit)), - Marshal.GetFunctionPointerForDelegate(new Func(Pause)) + Marshal.GetFunctionPointerForDelegate(new Func(Pause)) ); } @@ -140,10 +129,12 @@ private static UnityTransform GetTransformFromUnity(string vehicleName) return vehicle.VehicleInterface.GetTransform(); } - private static bool Reset(string vehicleName) + private static bool Reset() { - var vehicle = Vehicles.Find(element => element.vehicleName == vehicleName); - vehicle.VehicleInterface.ResetVehicle(); + foreach (var vehicle in Vehicles) + { + vehicle.VehicleInterface.ResetVehicle(); + } return true; } @@ -207,10 +198,13 @@ private static int GetSegmentationObjectId(string objectName) { return Vehicle.GetSegmentationObjectId(objectName); } - private static bool Pause(string vehicleName, float timeScale) + private static bool Pause(float timeScale) { - var vehicle = Vehicles.Find(element => element.vehicleName == vehicleName); - return vehicle.VehicleInterface.Pause(timeScale); + foreach (var vehicle in Vehicles) + { + vehicle.VehicleInterface.Pause(timeScale); + } + return true; } } } From 9542cb5c6eee99d1da512c12f2a0ea1001957ad4 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 12:03:26 +0100 Subject: [PATCH 03/54] fixes --- .../AirsimWrapper/Source/SimMode/SimModeBase.cpp | 4 +++- .../Scripts/Utilities/{AirSimManager.cs => AirSimServer.cs} | 4 ++-- .../Utilities/{AirSimManager.cs.meta => AirSimServer.cs.meta} | 2 +- .../Scripts/Utilities/{AirSimTicker.cs => AirSimTick.cs} | 2 +- .../Utilities/{AirSimTicker.cs.meta => AirSimTick.cs.meta} | 2 +- .../Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) rename Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/{AirSimManager.cs => AirSimServer.cs} (91%) rename Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/{AirSimManager.cs.meta => AirSimServer.cs.meta} (91%) rename Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/{AirSimTicker.cs => AirSimTick.cs} (83%) rename Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/{AirSimTicker.cs.meta => AirSimTick.cs.meta} (91%) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index 6e9fea260f..12d975a726 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -261,6 +261,8 @@ msr::airlib::VehicleApiBase* SimModeBase::getVehicleApi(const PawnSimApi::Params UnityTransform SimModeBase::GetVehicleStartTransform() { - UnityTransform unityTransform = GetTransformFromUnity(""); //we can use default vehicle? + //take first vehicle as default + const std::string& vehicle_name = getSettings().vehicles.begin()->first; + UnityTransform unityTransform = GetTransformFromUnity(vehicle_name.c_str()); return unityTransform; } \ No newline at end of file diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs similarity index 91% rename from Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs rename to Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs index ba0289dbf9..baac8a5a1a 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs @@ -9,7 +9,7 @@ namespace AirSimUnity { - public class AirSimManager : MonoBehaviour + public class AirSimServer : MonoBehaviour { private const string DRONE_MODE = "Multirotor"; @@ -23,7 +23,7 @@ void Start() { #if UNITY_EDITOR EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); - EditorApplication.Exit(1); + //EditorApplication.Exit(1); #else Application.Quit(); #endif diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs.meta similarity index 91% rename from Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta rename to Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs.meta index 7881b6f4b7..0d8a36d9ac 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimManager.cs.meta +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs.meta @@ -4,7 +4,7 @@ MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] - executionOrder: 0 + executionOrder: 100 icon: {instanceID: 0} userData: assetBundleName: diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs similarity index 83% rename from Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs rename to Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs index 401785b8a8..987738054e 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs @@ -4,7 +4,7 @@ namespace AirSimUnity { - public class AirSimTicker : MonoBehaviour + public class AirSimTick : MonoBehaviour { void FixedUpdate() { diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs.meta similarity index 91% rename from Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta rename to Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs.meta index 8e150859b4..94e97d4437 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTicker.cs.meta +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimTick.cs.meta @@ -4,7 +4,7 @@ MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] - executionOrder: 0 + executionOrder: -50 icon: {instanceID: 0} userData: assetBundleName: diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs index 1a95a52066..db24893aeb 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs @@ -186,7 +186,7 @@ private static bool SetCameraFoV(string cameraName, float fov_degrees, string ve } private static bool PrintLogMessage(string message, string messageParams, string vehicleName, int severity) { - var vehicle = Vehicles.Find(element => element.vehicleName == vehicleName); + var vehicle = Vehicles[0]; //we just let first vehicle print the message return vehicle.VehicleInterface.PrintLogMessage(message, messageParams, vehicleName, severity); } From 98cbc43c92d040b1d71051560e15d53a77ce7ed8 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 14:52:31 +0100 Subject: [PATCH 04/54] fixes for default vehicle --- AirLib/include/common/AirSimSettings.hpp | 53 +++++++++++-------- .../Source/SimMode/SimModeBase.cpp | 5 +- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index 0ef650ed1d..d94b7ebe04 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -378,7 +378,7 @@ struct AirSimSettings { { initializeSubwindowSettings(subwindow_settings); initializePawnPaths(pawn_paths); - initializeVehicleSettings(vehicles); + //initializeVehicleSettings(vehicles); } //returns number of warnings @@ -768,39 +768,46 @@ struct AirSimSettings { return vehicle_setting; } - static void initializeVehicleSettings(std::map>& vehicles) + static void initializeVehicleSettings(const std::string& simmode_name, std::map>& vehicles) { vehicles.clear(); //NOTE: Do not set defaults for vehicle type here. If you do then make sure //to sync code in createVehicleSetting() as well. - //create simple flight as default multirotor - auto simple_flight_setting = std::unique_ptr(new VehicleSetting()); - simple_flight_setting->vehicle_name = "SimpleFlight"; - simple_flight_setting->vehicle_type = kVehicleTypeSimpleFlight; - //TODO: we should be selecting remote if available else keyboard - //currently keyboard is not supported so use rc as default - simple_flight_setting->rc.remote_control_id = 0; - vehicles[simple_flight_setting->vehicle_name] = std::move(simple_flight_setting); - - //create default car vehicle - auto physx_car_setting = std::unique_ptr(new VehicleSetting()); - physx_car_setting->vehicle_name = "PhysXCar"; - physx_car_setting->vehicle_type = kVehicleTypePhysXCar; - vehicles[physx_car_setting->vehicle_name] = std::move(physx_car_setting); - - //create default computer vision vehicle - auto cv_setting = std::unique_ptr(new VehicleSetting()); - cv_setting->vehicle_name = "ComputerVision"; - cv_setting->vehicle_type = kVehicleTypeComputerVision; - vehicles[cv_setting->vehicle_name] = std::move(cv_setting); + if (simmode_name == "Multirotor") + { + //create simple flight as default multirotor + auto simple_flight_setting = std::unique_ptr(new VehicleSetting()); + simple_flight_setting->vehicle_name = "SimpleFlight"; + simple_flight_setting->vehicle_type = kVehicleTypeSimpleFlight; + //TODO: we should be selecting remote if available else keyboard + //currently keyboard is not supported so use rc as default + simple_flight_setting->rc.remote_control_id = 0; + vehicles[simple_flight_setting->vehicle_name] = std::move(simple_flight_setting); + } + else if (simmode_name == "Car") + { + //create default car vehicle + auto physx_car_setting = std::unique_ptr(new VehicleSetting()); + physx_car_setting->vehicle_name = "PhysXCar"; + physx_car_setting->vehicle_type = kVehicleTypePhysXCar; + vehicles[physx_car_setting->vehicle_name] = std::move(physx_car_setting); + } + else + { + //create default computer vision vehicle + auto cv_setting = std::unique_ptr(new VehicleSetting()); + cv_setting->vehicle_name = "ComputerVision"; + cv_setting->vehicle_type = kVehicleTypeComputerVision; + vehicles[cv_setting->vehicle_name] = std::move(cv_setting); + } } static void loadVehicleSettings(const std::string& simmode_name, const Settings& settings_json, std::map>& vehicles) { - initializeVehicleSettings(vehicles); + initializeVehicleSettings(simmode_name, vehicles); msr::airlib::Settings vehicles_child; if (settings_json.getChild("Vehicles", vehicles_child)) { diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index 12d975a726..16bc64c73e 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -261,8 +261,7 @@ msr::airlib::VehicleApiBase* SimModeBase::getVehicleApi(const PawnSimApi::Params UnityTransform SimModeBase::GetVehicleStartTransform() { - //take first vehicle as default - const std::string& vehicle_name = getSettings().vehicles.begin()->first; - UnityTransform unityTransform = GetTransformFromUnity(vehicle_name.c_str()); + //can we just take origin in Unity here? + UnityTransform unityTransform; return unityTransform; } \ No newline at end of file From 31ae2eac61e450e023c3fb83fde66d9422f78387 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 15:37:39 +0100 Subject: [PATCH 05/54] fix bool flag --- .../AirSimAssets/Scripts/Vehicles/Vehicle.cs | 1 + Unity/UnityDemo/Assets/Scenes/CarDemo.unity | 2658 ++++++++++++----- Unity/UnityDemo/Assets/Scenes/DroneDemo.unity | 2140 +++++++++---- 3 files changed, 3389 insertions(+), 1410 deletions(-) diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs index 18f878f6da..679d2ebdc1 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs @@ -58,6 +58,7 @@ protected void Start() { InitializeVehicle(); airsimInterface = VehicleCompanion.GetVehicleCompanion(vehicleName, this); + isServerStarted = true; } //Ensure to call this method as the first statement, from derived class `FixedUpdate()` method. diff --git a/Unity/UnityDemo/Assets/Scenes/CarDemo.unity b/Unity/UnityDemo/Assets/Scenes/CarDemo.unity index 5a316da2b8..c1d003fdad 100644 --- a/Unity/UnityDemo/Assets/Scenes/CarDemo.unity +++ b/Unity/UnityDemo/Assets/Scenes/CarDemo.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_IndirectSpecularColor: {r: 0.18028334, g: 0.2257134, b: 0.30692226, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -50,12 +50,11 @@ LightmapSettings: m_BounceScale: 1 m_IndirectOutputScale: 1 m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 m_EnvironmentLightingMode: 0 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 1 m_LightmapEditorSettings: - serializedVersion: 10 + serializedVersion: 12 m_Resolution: 2 m_BakeResolution: 40 m_AtlasSize: 1024 @@ -63,6 +62,7 @@ LightmapSettings: m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -77,10 +77,16 @@ LightmapSettings: m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 - m_PVRFilteringMode: 1 + m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 @@ -88,7 +94,9 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ShowResolutionOverlay: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} m_UseShadowmask: 1 --- !u!196 &4 @@ -117,7 +125,8 @@ NavMeshSettings: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 262668} @@ -135,7 +144,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -199} @@ -148,7 +158,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -160,7 +171,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Enabled: 1 m_CastShadows: 1 @@ -169,7 +181,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -179,6 +193,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -195,14 +210,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &3620200 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 3620201} @@ -220,7 +237,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 200.4} @@ -233,7 +251,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -245,7 +264,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Enabled: 1 m_CastShadows: 1 @@ -254,7 +274,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -264,6 +286,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -280,14 +303,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &5170087 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 5170088} @@ -305,7 +330,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -299} @@ -318,7 +344,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -330,7 +357,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Enabled: 1 m_CastShadows: 1 @@ -339,7 +367,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -349,6 +379,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -365,14 +396,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &15958323 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 15958324} @@ -387,7 +420,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 15958323} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 287, y: 0, z: -99} @@ -402,8 +436,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1209477533703676, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 24039595} @@ -421,8 +456,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4440688051181308, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 24039594} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.5059, z: -0.15658} @@ -435,8 +471,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23497766709146656, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 24039594} m_Enabled: 0 m_CastShadows: 0 @@ -445,7 +482,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -455,6 +494,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -471,8 +511,9 @@ MeshRenderer: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 65232568933589780, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 24039594} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -484,15 +525,17 @@ BoxCollider: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33350263607156118, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 24039594} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &32334386 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 32334387} @@ -510,7 +553,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -399} @@ -523,7 +567,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -535,7 +580,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Enabled: 1 m_CastShadows: 1 @@ -544,7 +590,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -554,6 +602,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -570,14 +619,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &34107714 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 34107715} @@ -595,7 +646,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -299} @@ -608,7 +660,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -620,7 +673,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Enabled: 1 m_CastShadows: 1 @@ -629,7 +683,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -639,6 +695,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -655,14 +712,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &40584275 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 40584276} @@ -680,7 +739,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -199} @@ -693,7 +753,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -705,7 +766,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Enabled: 1 m_CastShadows: 1 @@ -714,7 +776,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -724,6 +788,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -740,14 +805,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &50534990 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 50534991} @@ -765,7 +832,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -199} @@ -778,7 +846,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -790,7 +859,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Enabled: 1 m_CastShadows: 1 @@ -799,7 +869,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -809,6 +881,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -825,14 +898,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &53155940 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 53155941} @@ -850,7 +925,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 100} @@ -863,7 +939,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -875,7 +952,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Enabled: 1 m_CastShadows: 1 @@ -884,7 +962,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -894,6 +974,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -910,14 +991,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &89535214 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 89535215} @@ -935,7 +1018,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -948,7 +1032,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -960,7 +1045,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Enabled: 1 m_CastShadows: 1 @@ -969,7 +1055,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -979,6 +1067,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -995,14 +1084,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &120705332 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 120705333} @@ -1020,7 +1111,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 0} @@ -1033,7 +1125,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1045,7 +1138,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Enabled: 1 m_CastShadows: 1 @@ -1054,7 +1148,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1064,6 +1160,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1080,15 +1177,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &121544870 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1363687754772500, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 121544871} @@ -1104,8 +1203,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4793802161517510, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 121544870} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1, y: 0.526, z: 1.214} @@ -1118,8 +1218,9 @@ Transform: WheelCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 146649625349586682, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 121544870} m_Center: {x: 0, y: 0, z: 0} m_Radius: 0.335 @@ -1148,7 +1249,8 @@ WheelCollider: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 129367888} @@ -1166,7 +1268,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 10, z: -450} @@ -1179,7 +1282,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1191,7 +1295,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Enabled: 1 m_CastShadows: 1 @@ -1200,7 +1305,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -1210,6 +1317,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1226,14 +1334,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &142585434 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 142585435} @@ -1251,7 +1361,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 100} @@ -1264,7 +1375,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1276,7 +1388,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Enabled: 1 m_CastShadows: 1 @@ -1285,7 +1398,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1295,6 +1410,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1311,15 +1427,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &150015647 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1524062562989440, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 150015648} @@ -1337,8 +1455,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4853014297486004, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 150015647} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.5, y: 0, z: 0.5} @@ -1351,8 +1470,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114885906010900510, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 150015647} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1365,8 +1485,9 @@ MonoBehaviour: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114084570325245858, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 150015647} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1378,14 +1499,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20368702521022456, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 150015647} m_Enabled: 0 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -1419,8 +1543,9 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1259664329924660, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 150083486} @@ -1435,8 +1560,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4850244431264090, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 150083485} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -1453,7 +1579,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 175544667} @@ -1471,7 +1598,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 0} @@ -1484,7 +1612,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1496,7 +1625,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Enabled: 1 m_CastShadows: 1 @@ -1505,7 +1635,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1515,6 +1647,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1531,14 +1664,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &202204720 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 202204721} @@ -1556,7 +1691,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 300.4} @@ -1569,7 +1705,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1581,7 +1718,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Enabled: 1 m_CastShadows: 1 @@ -1590,7 +1728,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1600,6 +1740,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1616,15 +1757,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &202555151 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1296559776652530, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 202555152} @@ -1641,8 +1784,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4189573304371112, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202555151} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -1655,8 +1799,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114920227640798798, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202555151} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1669,14 +1814,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20059501383566310, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202555151} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.29411766, g: 0.29411766, b: 0.29411766, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -1710,7 +1858,8 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 204066941} @@ -1728,7 +1877,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 322, y: 10, z: 192.5} @@ -1741,7 +1891,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1754,7 +1905,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Enabled: 1 m_CastShadows: 1 @@ -1763,7 +1915,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -1773,6 +1927,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1789,15 +1944,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &215287702 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1995482739059054, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 215287703} @@ -1815,8 +1972,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4742976281912716, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 215287702} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.5} @@ -1829,8 +1987,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114165520353168102, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 215287702} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1843,8 +2002,9 @@ MonoBehaviour: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114439854151236408, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 215287702} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1856,14 +2016,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20031137823880120, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 215287702} m_Enabled: 0 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -1897,7 +2060,8 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 235352964} @@ -1915,7 +2079,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 400.4} @@ -1928,7 +2093,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1940,7 +2106,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Enabled: 1 m_CastShadows: 1 @@ -1949,7 +2116,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1959,6 +2128,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1975,15 +2145,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &236999049 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1096476633080248, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 236999052} @@ -2000,8 +2172,9 @@ GameObject: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23910149260901006, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 236999049} m_Enabled: 1 m_CastShadows: 1 @@ -2010,7 +2183,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 965a4c3cf8f0acb408f15384c947b3fd, type: 2} m_StaticBatchInfo: @@ -2020,6 +2195,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2036,16 +2212,18 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33028212812348210, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 236999049} m_Mesh: {fileID: 4300030, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!4 &236999052 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4670323426614404, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 236999049} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1.0030695, y: 0.37673637, z: -1.6172138} @@ -2058,8 +2236,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1903169073993376, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 238995560} @@ -2076,8 +2255,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4367296950611476, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 238995559} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 1.0147719, y: 0.3376186, z: 1.2180755} @@ -2090,8 +2270,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23437810983827436, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 238995559} m_Enabled: 1 m_CastShadows: 1 @@ -2100,7 +2281,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 965a4c3cf8f0acb408f15384c947b3fd, type: 2} m_StaticBatchInfo: @@ -2110,6 +2293,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2126,15 +2310,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33233378354000860, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 238995559} m_Mesh: {fileID: 4300046, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &247492923 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 247492924} @@ -2152,7 +2338,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 300.4} @@ -2165,7 +2352,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2177,7 +2365,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Enabled: 1 m_CastShadows: 1 @@ -2186,7 +2375,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2196,6 +2387,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2212,14 +2404,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &276256900 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 276256901} @@ -2237,7 +2431,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -399} @@ -2250,7 +2445,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2262,7 +2458,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Enabled: 1 m_CastShadows: 1 @@ -2271,7 +2468,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2281,6 +2480,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2297,14 +2497,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &278794953 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 278794954} @@ -2322,7 +2524,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 100} @@ -2335,7 +2538,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2347,7 +2551,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Enabled: 1 m_CastShadows: 1 @@ -2356,7 +2561,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2366,6 +2573,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2382,15 +2590,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &293744999 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1099952361485086, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 293745000} @@ -2408,8 +2618,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4330977269438872, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293744999} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.5, y: 0, z: 0.5} @@ -2422,8 +2633,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114102731149023602, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293744999} m_Enabled: 1 m_EditorHideFlags: 0 @@ -2436,8 +2648,9 @@ MonoBehaviour: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114787595644732198, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293744999} m_Enabled: 1 m_EditorHideFlags: 0 @@ -2449,14 +2662,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20669989314825814, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293744999} m_Enabled: 0 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -2490,7 +2706,8 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 297680529} @@ -2508,7 +2725,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 300.4} @@ -2521,7 +2739,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2533,7 +2752,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Enabled: 1 m_CastShadows: 1 @@ -2542,7 +2762,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2552,6 +2774,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2568,14 +2791,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &318386983 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 318386984} @@ -2593,7 +2818,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 300.4} @@ -2606,7 +2832,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2618,7 +2845,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Enabled: 1 m_CastShadows: 1 @@ -2627,7 +2855,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2637,6 +2867,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2653,14 +2884,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &320786704 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 320786705} @@ -2678,7 +2911,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 300.4} @@ -2691,7 +2925,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2703,7 +2938,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Enabled: 1 m_CastShadows: 1 @@ -2712,7 +2948,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2722,6 +2960,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2738,15 +2977,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &333204920 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1031351165423986, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 333204921} @@ -2763,8 +3004,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4230643901221160, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 333204920} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 1.0112926, y: 0.33761856, z: 1.2180755} @@ -2777,8 +3019,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23815453728324362, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 333204920} m_Enabled: 1 m_CastShadows: 0 @@ -2787,7 +3030,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} m_StaticBatchInfo: @@ -2797,6 +3042,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2813,15 +3059,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33788430865570044, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 333204920} m_Mesh: {fileID: 4300042, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &338406758 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 338406759} @@ -2839,7 +3087,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 200.4} @@ -2852,7 +3101,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2864,7 +3114,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Enabled: 1 m_CastShadows: 1 @@ -2873,7 +3124,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2883,6 +3136,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2899,14 +3153,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &339479647 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 339479648} @@ -2924,7 +3180,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -299} @@ -2937,7 +3194,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2949,7 +3207,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Enabled: 1 m_CastShadows: 1 @@ -2958,7 +3217,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2968,6 +3229,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2984,14 +3246,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &373341875 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 373341876} @@ -3009,7 +3273,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 400.4} @@ -3022,7 +3287,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3034,7 +3300,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Enabled: 1 m_CastShadows: 1 @@ -3043,7 +3310,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3053,6 +3322,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3069,14 +3339,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &390123845 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 390123846} @@ -3091,7 +3363,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390123845} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -3109,7 +3382,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 390218245} @@ -3127,7 +3401,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -336.8, y: 14.98, z: 226.54} @@ -3140,7 +3415,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3153,7 +3429,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Enabled: 1 m_CastShadows: 1 @@ -3162,7 +3439,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -3172,6 +3451,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3188,14 +3468,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &400351206 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 400351207} @@ -3213,7 +3495,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 4.08, z: 18.55} @@ -3226,7 +3509,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3238,7 +3522,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Enabled: 1 m_CastShadows: 1 @@ -3247,7 +3532,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -3257,6 +3544,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3273,14 +3561,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &420362043 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 420362044} @@ -3295,7 +3585,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 420362043} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -3313,8 +3604,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1056436264983558, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 424127221} @@ -3331,8 +3623,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4549814003325634, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 424127220} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1.0193202, y: 0.33761856, z: 1.2180755} @@ -3345,8 +3638,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23571552436028858, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 424127220} m_Enabled: 1 m_CastShadows: 1 @@ -3355,7 +3649,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 965a4c3cf8f0acb408f15384c947b3fd, type: 2} m_StaticBatchInfo: @@ -3365,6 +3661,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3381,15 +3678,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33340006222080554, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 424127220} m_Mesh: {fileID: 4300048, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &425471047 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 425471048} @@ -3407,7 +3706,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 0} @@ -3420,7 +3720,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3432,7 +3733,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Enabled: 1 m_CastShadows: 1 @@ -3441,7 +3743,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3451,6 +3755,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3467,14 +3772,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &448413727 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 448413728} @@ -3492,7 +3799,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 10, z: 450} @@ -3505,7 +3813,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3517,7 +3826,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Enabled: 1 m_CastShadows: 1 @@ -3526,7 +3836,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -3536,6 +3848,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3552,14 +3865,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &450457303 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 450457304} @@ -3577,7 +3892,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -199} @@ -3590,7 +3906,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3602,7 +3919,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Enabled: 1 m_CastShadows: 1 @@ -3611,7 +3929,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3621,6 +3941,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3637,120 +3958,116 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &467440834 -Prefab: +PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_RootOrder value: 3 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchoredPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMin.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMin.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMax.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_Pivot.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e40b37a58e90168489aecb17d1395cbb, type: 2} - m_IsPrefabAsset: 0 + m_SourcePrefab: {fileID: 100100000, guid: e40b37a58e90168489aecb17d1395cbb, type: 3} --- !u!1 &528280147 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1497265609454966, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 528280148} @@ -3767,8 +4084,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4957168632608510, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 528280147} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1.0193089, y: 0.33761856, z: 1.2180755} @@ -3781,8 +4099,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23655381901407808, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 528280147} m_Enabled: 1 m_CastShadows: 0 @@ -3791,7 +4110,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} m_StaticBatchInfo: @@ -3801,6 +4122,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3817,15 +4139,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33083392841965506, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 528280147} m_Mesh: {fileID: 4300036, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &540629128 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 540629129} @@ -3843,7 +4167,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -303.3, y: 14.98, z: 226.54} @@ -3856,7 +4181,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3869,7 +4195,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Enabled: 1 m_CastShadows: 1 @@ -3878,7 +4205,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -3888,6 +4217,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3904,14 +4234,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &566177496 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 566177497} @@ -3929,7 +4261,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -399} @@ -3942,7 +4275,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3954,7 +4288,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Enabled: 1 m_CastShadows: 1 @@ -3963,7 +4298,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3973,6 +4310,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3989,14 +4327,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &576657999 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 576658000} @@ -4014,7 +4354,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -299} @@ -4027,7 +4368,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4039,7 +4381,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Enabled: 1 m_CastShadows: 1 @@ -4048,7 +4391,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4058,6 +4403,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4074,15 +4420,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &587901631 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1890902439916208, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 587901632} @@ -4098,8 +4446,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4674563480058014, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 587901631} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 1, y: 0.554, z: -1.617} @@ -4112,8 +4461,9 @@ Transform: WheelCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 146917677264847168, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 587901631} m_Center: {x: 0, y: 0, z: 0} m_Radius: 0.37 @@ -4142,8 +4492,9 @@ WheelCollider: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1264225490773406, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 623900970} @@ -4158,8 +4509,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4049712728551686, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 623900969} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.94, z: 0.32} @@ -4175,8 +4527,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1990219146779728, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 631478848} @@ -4194,8 +4547,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4009814464212466, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 631478847} m_LocalRotation: {x: 0.17310196, y: 0, z: 0, w: 0.98490393} m_LocalPosition: {x: 0, y: 0.8130856, z: 0.87187195} @@ -4208,8 +4562,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23624727665248580, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 631478847} m_Enabled: 0 m_CastShadows: 0 @@ -4218,7 +4573,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -4228,6 +4585,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4244,8 +4602,9 @@ MeshRenderer: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 65644312991870188, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 631478847} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4257,16 +4616,18 @@ BoxCollider: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33166459345063412, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 631478847} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &631696866 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1434345015289434, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1262457283} @@ -4281,7 +4642,8 @@ GameObject: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 638753531} @@ -4299,7 +4661,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 400.4} @@ -4312,7 +4675,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4324,7 +4688,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Enabled: 1 m_CastShadows: 1 @@ -4333,7 +4698,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4343,6 +4710,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4359,15 +4727,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &654393624 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1006165818248040, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 654393625} @@ -4384,8 +4754,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4268905192450904, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 654393624} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -4398,8 +4769,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23176157332391666, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 654393624} m_Enabled: 1 m_CastShadows: 1 @@ -4408,7 +4780,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} - {fileID: 2100000, guid: bf5faaa3a8e23de45bf1350be2893dd7, type: 2} @@ -4419,6 +4793,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4435,15 +4810,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33217144317896530, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 654393624} m_Mesh: {fileID: 4300060, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &701307520 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 701307522} @@ -4459,15 +4836,18 @@ GameObject: Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 701307520} m_Enabled: 1 - serializedVersion: 8 + serializedVersion: 10 m_Type: 1 + m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 1 m_Range: 10 m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: m_Type: 2 @@ -4477,6 +4857,24 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -4484,19 +4882,23 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 + m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &701307522 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 701307520} m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} @@ -4509,7 +4911,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 712256053} @@ -4527,7 +4930,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -303.3, y: 14.98, z: 192.25} @@ -4540,7 +4944,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4553,7 +4958,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Enabled: 1 m_CastShadows: 1 @@ -4562,7 +4968,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -4572,6 +4980,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4588,14 +4997,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &716284897 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 716284902} @@ -4614,7 +5025,8 @@ GameObject: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 m_EditorHideFlags: 0 @@ -4627,27 +5039,32 @@ MonoBehaviour: AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 --- !u!124 &716284900 Behaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 --- !u!20 &716284901 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -4681,7 +5098,8 @@ Camera: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_LocalRotation: {x: 0.13161212, y: -0, z: -0, w: 0.99130136} m_LocalPosition: {x: 0, y: 3.24, z: -5.83} @@ -4694,8 +5112,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1662924412793190, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 774197440} @@ -4712,8 +5131,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4006831491613646, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 774197439} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -4726,8 +5146,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114559798129895052, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 774197439} m_Enabled: 1 m_EditorHideFlags: 0 @@ -4740,14 +5161,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20427460601381304, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 774197439} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -4781,8 +5205,9 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1511195691977182, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 781659957} @@ -4799,8 +5224,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4750397460540726, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 781659956} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -4813,8 +5239,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23047803924333474, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 781659956} m_Enabled: 1 m_CastShadows: 1 @@ -4823,7 +5250,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} m_StaticBatchInfo: @@ -4833,6 +5262,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4849,15 +5279,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33740410439880928, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 781659956} m_Mesh: {fileID: 4300062, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &785787369 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 785787370} @@ -4875,7 +5307,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -100} @@ -4888,7 +5321,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4900,7 +5334,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Enabled: 1 m_CastShadows: 1 @@ -4909,7 +5344,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4919,6 +5356,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4935,14 +5373,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &795762183 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 795762184} @@ -4960,7 +5400,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 400.4} @@ -4973,7 +5414,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4985,7 +5427,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Enabled: 1 m_CastShadows: 1 @@ -4994,7 +5437,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5004,6 +5449,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5020,14 +5466,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &817935155 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 817935156} @@ -5045,7 +5493,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -399} @@ -5058,7 +5507,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5070,7 +5520,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Enabled: 1 m_CastShadows: 1 @@ -5079,7 +5530,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5089,6 +5542,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5105,14 +5559,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &855812605 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 855812606} @@ -5130,7 +5586,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 100} @@ -5143,7 +5600,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5155,7 +5613,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Enabled: 1 m_CastShadows: 1 @@ -5164,7 +5623,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5174,6 +5635,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5190,14 +5652,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &867517395 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 867517396} @@ -5212,7 +5676,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 867517395} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -5228,7 +5693,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 874076544} @@ -5246,7 +5712,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 0} @@ -5259,7 +5726,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5271,7 +5739,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Enabled: 1 m_CastShadows: 1 @@ -5280,7 +5749,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5290,6 +5761,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5306,14 +5778,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &901892091 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 901892092} @@ -5331,7 +5805,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 200.4} @@ -5344,7 +5819,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5356,7 +5832,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Enabled: 1 m_CastShadows: 1 @@ -5365,7 +5842,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5375,6 +5854,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5391,15 +5871,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &913568793 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1581437255546240, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 913568794} @@ -5414,8 +5896,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4053912426168514, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 913568793} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: 1.3} @@ -5431,7 +5914,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 921574311} @@ -5449,7 +5933,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 400.4} @@ -5462,7 +5947,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5474,7 +5960,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Enabled: 1 m_CastShadows: 1 @@ -5483,7 +5970,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5493,6 +5982,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5509,14 +5999,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &929407263 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 929407264} @@ -5534,7 +6026,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 100} @@ -5547,7 +6040,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5559,7 +6053,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Enabled: 1 m_CastShadows: 1 @@ -5568,7 +6063,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5578,6 +6075,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5594,14 +6092,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &935122615 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 935122616} @@ -5619,7 +6119,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -299} @@ -5632,7 +6133,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5644,7 +6146,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Enabled: 1 m_CastShadows: 1 @@ -5653,7 +6156,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5663,6 +6168,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5679,14 +6185,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &970833774 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 970833775} @@ -5704,7 +6212,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -100} @@ -5717,7 +6226,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5729,7 +6239,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Enabled: 1 m_CastShadows: 1 @@ -5738,7 +6249,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5748,6 +6261,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5764,14 +6278,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &986458333 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 986458334} @@ -5789,7 +6305,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 400.4} @@ -5802,7 +6319,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5814,7 +6332,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Enabled: 1 m_CastShadows: 1 @@ -5823,7 +6342,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5833,6 +6354,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5849,14 +6371,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1001162542 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1001162543} @@ -5874,7 +6398,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 290, y: 10, z: 192.5} @@ -5887,7 +6412,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5900,7 +6426,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Enabled: 1 m_CastShadows: 1 @@ -5909,7 +6436,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -5919,6 +6448,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5935,14 +6465,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1010297101 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1010297102} @@ -5960,7 +6492,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 400.4} @@ -5973,7 +6506,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5985,7 +6519,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Enabled: 1 m_CastShadows: 1 @@ -5994,7 +6529,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6004,6 +6541,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6020,14 +6558,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1013135564 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1013135565} @@ -6045,7 +6585,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 290, y: 10, z: 226} @@ -6058,7 +6599,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6071,7 +6613,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Enabled: 1 m_CastShadows: 1 @@ -6080,7 +6623,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -6090,6 +6635,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6106,14 +6652,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1038801954 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1038801955} @@ -6131,7 +6679,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 9.63, y: 15.15, z: 317} @@ -6144,7 +6693,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6156,7 +6706,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Enabled: 1 m_CastShadows: 1 @@ -6165,7 +6716,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -6175,6 +6728,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6191,14 +6745,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1046109794 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1046109795} @@ -6213,7 +6769,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1046109794} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -6307,7 +6864,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1074876730} @@ -6325,7 +6883,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 200.4} @@ -6338,7 +6897,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6350,7 +6910,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Enabled: 1 m_CastShadows: 1 @@ -6359,7 +6920,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6369,6 +6932,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6385,14 +6949,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1077761767 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1077761768} @@ -6407,7 +6973,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1077761767} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -6424,7 +6991,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1082429642} @@ -6442,7 +7010,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 5.18, z: 317} @@ -6455,7 +7024,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6467,7 +7037,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Enabled: 1 m_CastShadows: 1 @@ -6476,7 +7047,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -6486,6 +7059,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6502,14 +7076,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1120314538 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1120314539} @@ -6527,7 +7103,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 200.4} @@ -6540,7 +7117,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6552,7 +7130,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Enabled: 1 m_CastShadows: 1 @@ -6561,7 +7140,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6571,6 +7152,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6587,15 +7169,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1142275242 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1003843897023502, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1142275243} @@ -6612,8 +7196,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4706083834538904, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1142275242} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.99889815, y: 0.37673637, z: -1.6172138} @@ -6626,8 +7211,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23142324495715024, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1142275242} m_Enabled: 1 m_CastShadows: 1 @@ -6636,7 +7222,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 965a4c3cf8f0acb408f15384c947b3fd, type: 2} m_StaticBatchInfo: @@ -6646,6 +7234,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6662,15 +7251,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33001967217186650, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1142275242} m_Mesh: {fileID: 4300032, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &1150396926 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1150396927} @@ -6688,7 +7279,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -100} @@ -6701,7 +7293,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6713,7 +7306,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Enabled: 1 m_CastShadows: 1 @@ -6722,7 +7316,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6732,6 +7328,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6748,15 +7345,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1211234817 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1248895451498422, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1211234818} @@ -6773,8 +7372,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4000745539604780, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1211234817} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -6787,8 +7387,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23908263946867462, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1211234817} m_Enabled: 1 m_CastShadows: 0 @@ -6797,7 +7398,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 3682f7747d485db4586750a832808b31, type: 2} m_StaticBatchInfo: @@ -6807,6 +7410,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6823,15 +7427,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33475611133040962, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1211234817} m_Mesh: {fileID: 4300054, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &1224083890 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1224083891} @@ -6849,7 +7455,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -399} @@ -6862,7 +7469,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6874,7 +7482,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Enabled: 1 m_CastShadows: 1 @@ -6883,7 +7492,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6893,6 +7504,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6909,14 +7521,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1229814420 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1229814421} @@ -6934,7 +7548,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 322, y: 10, z: 226} @@ -6947,7 +7562,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6960,7 +7576,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Enabled: 1 m_CastShadows: 1 @@ -6969,7 +7586,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -6979,6 +7598,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6995,15 +7615,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1233758314 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1949832134123038, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1233758315} @@ -7018,8 +7640,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4722553678108714, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1233758314} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -7035,7 +7658,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1242013736} @@ -7053,7 +7677,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -100} @@ -7066,7 +7691,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7078,7 +7704,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Enabled: 1 m_CastShadows: 1 @@ -7087,7 +7714,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7097,6 +7726,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7113,14 +7743,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1260987439 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1260987440} @@ -7138,7 +7770,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -199} @@ -7151,7 +7784,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7163,7 +7797,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Enabled: 1 m_CastShadows: 1 @@ -7172,7 +7807,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7182,6 +7819,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7198,15 +7836,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!4 &1262457283 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4869093675150660, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 631696866} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -7219,7 +7859,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1278939895} @@ -7237,7 +7878,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -450, y: 10, z: 0} @@ -7250,7 +7892,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7262,7 +7905,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Enabled: 1 m_CastShadows: 1 @@ -7271,7 +7915,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -7281,6 +7927,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7297,15 +7944,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1286892898 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1113903270096060, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1286892899} @@ -7322,8 +7971,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4106605203313102, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1286892898} m_LocalRotation: {x: 0, y: 0, z: 0.04606039, w: 0.9989387} m_LocalPosition: {x: -0.7043525, y: 0.36517408, z: 1.2122158} @@ -7336,8 +7986,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23140169178503384, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1286892898} m_Enabled: 1 m_CastShadows: 0 @@ -7346,7 +7997,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} m_StaticBatchInfo: @@ -7356,6 +8009,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7372,15 +8026,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33972968933236894, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1286892898} m_Mesh: {fileID: 4300038, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &1312022553 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1312022554} @@ -7398,7 +8054,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -336.8, y: 14.98, z: 192.25} @@ -7411,7 +8068,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7424,7 +8082,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Enabled: 1 m_CastShadows: 1 @@ -7433,7 +8092,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -7443,6 +8104,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7459,14 +8121,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1345871133 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1345871134} @@ -7484,7 +8148,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 0} @@ -7497,7 +8162,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7509,7 +8175,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Enabled: 1 m_CastShadows: 1 @@ -7518,7 +8185,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7528,6 +8197,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7544,14 +8214,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1348703854 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1348703855} @@ -7569,7 +8241,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -299} @@ -7582,7 +8255,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7594,7 +8268,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Enabled: 1 m_CastShadows: 1 @@ -7603,7 +8278,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7613,6 +8290,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7629,14 +8307,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1355300759 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1355300760} @@ -7654,7 +8334,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -100} @@ -7667,7 +8348,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7679,7 +8361,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Enabled: 1 m_CastShadows: 1 @@ -7688,7 +8371,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7698,6 +8383,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7714,14 +8400,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1362137216 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1362137217} @@ -7739,7 +8427,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -199} @@ -7752,7 +8441,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7764,7 +8454,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Enabled: 1 m_CastShadows: 1 @@ -7773,7 +8464,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7783,6 +8476,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7799,14 +8493,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1392769405 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1392769406} @@ -7823,7 +8519,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 50.2, z: 0} @@ -7836,7 +8533,8 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_Enabled: 1 m_CastShadows: 1 @@ -7845,7 +8543,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -7855,6 +8555,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7871,14 +8572,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1399587320 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1399587321} @@ -7896,7 +8599,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -299} @@ -7909,7 +8613,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7921,7 +8626,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Enabled: 1 m_CastShadows: 1 @@ -7930,7 +8636,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7940,6 +8648,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7956,14 +8665,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1403974984 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1403974985} @@ -7981,7 +8692,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 0} @@ -7994,7 +8706,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8006,7 +8719,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Enabled: 1 m_CastShadows: 1 @@ -8015,7 +8729,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8025,6 +8741,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8041,14 +8758,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1421615128 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1421615129} @@ -8066,7 +8785,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -100} @@ -8079,7 +8799,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8091,7 +8812,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Enabled: 1 m_CastShadows: 1 @@ -8100,7 +8822,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8110,6 +8834,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8126,14 +8851,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1437864572 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1437864573} @@ -8151,7 +8878,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 100} @@ -8164,7 +8892,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8176,7 +8905,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Enabled: 1 m_CastShadows: 1 @@ -8185,7 +8915,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8195,6 +8927,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8211,14 +8944,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1444286071 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1444286072} @@ -8236,7 +8971,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 200.4} @@ -8249,7 +8985,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8261,7 +8998,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Enabled: 1 m_CastShadows: 1 @@ -8270,7 +9008,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8280,6 +9020,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8296,14 +9037,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1450550447 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1450550448} @@ -8321,7 +9064,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -399} @@ -8334,7 +9078,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8346,7 +9091,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Enabled: 1 m_CastShadows: 1 @@ -8355,7 +9101,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8365,6 +9113,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8381,15 +9130,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1455520205 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1841509167508350, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1455520206} @@ -8406,8 +9157,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4417618683943714, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1455520205} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -0.0139999995, z: 0} @@ -8420,8 +9172,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23802552158746508, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1455520205} m_Enabled: 0 m_CastShadows: 0 @@ -8430,7 +9183,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 3682f7747d485db4586750a832808b31, type: 2} m_StaticBatchInfo: @@ -8440,6 +9195,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8456,15 +9212,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33873598345417208, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1455520205} m_Mesh: {fileID: 4300052, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &1460426459 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1460426460} @@ -8482,7 +9240,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -299} @@ -8495,7 +9254,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8507,7 +9267,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Enabled: 1 m_CastShadows: 1 @@ -8516,7 +9277,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8526,6 +9289,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8542,15 +9306,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1472270034 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1697916290324548, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1472270038} @@ -8568,20 +9334,23 @@ GameObject: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114997201375866450, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1472270034} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e924d4c00c2c05d42830dd3a94dd86a8, type: 3} m_Name: m_EditorClassIdentifier: + vehicleName: PhysXCar --- !u!114 &1472270036 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114770461701735256, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1472270034} m_Enabled: 1 m_EditorHideFlags: 0 @@ -8616,8 +9385,9 @@ MonoBehaviour: Rigidbody: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 54216740756030544, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1472270034} serializedVersion: 2 m_Mass: 1000 @@ -8632,8 +9402,9 @@ Rigidbody: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4071658815805002, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1472270034} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -239.3, y: 1, z: 40.24} @@ -8652,7 +9423,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1490418360} @@ -8667,7 +9439,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1490418359} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -250, y: 0, z: -205} @@ -8682,7 +9455,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1491090608} @@ -8697,7 +9471,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1491090607} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -8715,7 +9490,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1495769741} @@ -8733,7 +9509,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 100} @@ -8746,7 +9523,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8758,7 +9536,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Enabled: 1 m_CastShadows: 1 @@ -8767,7 +9546,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8777,6 +9558,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8793,14 +9575,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1502187103 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1502187104} @@ -8818,7 +9602,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -100} @@ -8831,7 +9616,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8843,7 +9629,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Enabled: 1 m_CastShadows: 1 @@ -8852,7 +9639,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8862,6 +9651,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8878,15 +9668,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1527722825 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1747988442045362, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1527722826} @@ -8902,8 +9694,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4495249341873022, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1527722825} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 1, y: 0.52, z: 1.217} @@ -8916,8 +9709,9 @@ Transform: WheelCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 146535668450042638, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1527722825} m_Center: {x: 0, y: 0, z: 0} m_Radius: 0.335 @@ -8946,8 +9740,9 @@ WheelCollider: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1643223981236046, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1532139296} @@ -8965,8 +9760,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4532479700905696, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1532139295} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.93296826, z: -0.98085785} @@ -8979,8 +9775,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23679555092065856, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1532139295} m_Enabled: 0 m_CastShadows: 0 @@ -8989,7 +9786,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -8999,6 +9798,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9015,8 +9815,9 @@ MeshRenderer: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 65229479861286550, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1532139295} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9028,15 +9829,17 @@ BoxCollider: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33534755552353708, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1532139295} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1620168040 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1620168041} @@ -9054,7 +9857,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 445, y: 10, z: 0} @@ -9067,7 +9871,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9079,7 +9884,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Enabled: 1 m_CastShadows: 1 @@ -9088,7 +9894,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -9098,6 +9906,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9114,14 +9923,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1627181540 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1627181541} @@ -9139,7 +9950,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -299} @@ -9152,7 +9964,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9164,7 +9977,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Enabled: 1 m_CastShadows: 1 @@ -9173,7 +9987,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9183,6 +9999,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9199,14 +10016,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1631208419 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1631208420} @@ -9224,7 +10043,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 9.7, y: 5.18, z: 317} @@ -9237,7 +10057,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9249,7 +10070,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Enabled: 1 m_CastShadows: 1 @@ -9258,7 +10080,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -9268,6 +10092,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9284,14 +10109,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1658859405 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1658859406} @@ -9309,7 +10136,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -199} @@ -9322,7 +10150,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9334,7 +10163,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Enabled: 1 m_CastShadows: 1 @@ -9343,7 +10173,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9353,6 +10185,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9369,14 +10202,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1670326635 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1670326636} @@ -9394,7 +10229,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 300.4} @@ -9407,7 +10243,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9419,7 +10256,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Enabled: 1 m_CastShadows: 1 @@ -9428,7 +10266,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9438,6 +10278,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9454,14 +10295,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1692204547 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1692204548} @@ -9479,7 +10322,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -399} @@ -9492,7 +10336,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9504,7 +10349,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Enabled: 1 m_CastShadows: 1 @@ -9513,7 +10359,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9523,6 +10371,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9539,14 +10388,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1699530068 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1699530069} @@ -9564,7 +10415,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 0} @@ -9577,7 +10429,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9589,7 +10442,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Enabled: 1 m_CastShadows: 1 @@ -9598,7 +10452,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9608,6 +10464,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9624,14 +10481,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1707406993 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1707406994} @@ -9649,7 +10508,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 300.4} @@ -9662,7 +10522,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9674,7 +10535,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Enabled: 1 m_CastShadows: 1 @@ -9683,7 +10545,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9693,6 +10557,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9709,14 +10574,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1729091557 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1729091558} @@ -9734,7 +10601,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 300.4} @@ -9747,7 +10615,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9759,7 +10628,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Enabled: 1 m_CastShadows: 1 @@ -9768,7 +10638,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9778,6 +10650,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9794,14 +10667,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1735417010 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1735417011} @@ -9819,7 +10694,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -100} @@ -9832,7 +10708,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9844,7 +10721,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Enabled: 1 m_CastShadows: 1 @@ -9853,7 +10731,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9863,6 +10743,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9879,14 +10760,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1756458945 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1756458946} @@ -9904,7 +10787,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 0} @@ -9917,7 +10801,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9929,7 +10814,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Enabled: 1 m_CastShadows: 1 @@ -9938,7 +10824,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9948,6 +10836,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9964,15 +10853,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1764833557 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1849302806590722, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1764833558} @@ -9987,8 +10878,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4730241755339550, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1764833557} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -10013,7 +10905,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1771783016} @@ -10031,7 +10924,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 300.4} @@ -10044,7 +10938,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10056,7 +10951,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Enabled: 1 m_CastShadows: 1 @@ -10065,7 +10961,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10075,6 +10973,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10091,14 +10990,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1772983451 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1772983452} @@ -10116,7 +11017,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 100} @@ -10129,7 +11031,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10141,7 +11044,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Enabled: 1 m_CastShadows: 1 @@ -10150,7 +11054,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10160,6 +11066,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10176,14 +11083,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1778685771 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1778685772} @@ -10201,7 +11110,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_LocalRotation: {x: -0.21643952, y: 0, z: 0, w: 0.97629607} m_LocalPosition: {x: 0, y: 4.01, z: -3.28} @@ -10214,7 +11124,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10226,7 +11137,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Enabled: 1 m_CastShadows: 1 @@ -10235,7 +11147,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -10245,6 +11159,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10261,14 +11176,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1835745133 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1835745134} @@ -10286,7 +11203,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 200.4} @@ -10299,7 +11217,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10311,7 +11230,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Enabled: 1 m_CastShadows: 1 @@ -10320,7 +11240,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10330,6 +11252,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10346,15 +11269,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1848095012 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1008688616087776, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1848095014} @@ -10370,8 +11295,9 @@ GameObject: WheelCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 146310175668121220, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1848095012} m_Center: {x: 0, y: 0, z: 0} m_Radius: 0.37 @@ -10400,8 +11326,9 @@ WheelCollider: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4576947546400502, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1848095012} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1, y: 0.561, z: -1.617} @@ -10414,8 +11341,9 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1957431669369252, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1859598757} @@ -10432,8 +11360,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4284649300923240, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1859598756} m_LocalRotation: {x: 0, y: -0, z: -0.056300715, w: 0.99841386} m_LocalPosition: {x: 0.7050603, y: 0.36517408, z: 1.2170647} @@ -10446,8 +11375,9 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 23401588012826648, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1859598756} m_Enabled: 1 m_CastShadows: 0 @@ -10456,7 +11386,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d425c5c4cb38fd44f95b13e9f94575c2, type: 2} m_StaticBatchInfo: @@ -10466,6 +11398,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10482,15 +11415,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 33300998108270398, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1859598756} m_Mesh: {fileID: 4300040, guid: e6fec471c20b9d148b1f87910e67bea4, type: 3} --- !u!1 &1860867277 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1860867278} @@ -10508,7 +11443,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -100} @@ -10521,7 +11457,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10533,7 +11470,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Enabled: 1 m_CastShadows: 1 @@ -10542,7 +11480,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10552,6 +11492,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10568,14 +11509,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1865244381 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1865244382} @@ -10593,7 +11536,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -199} @@ -10606,7 +11550,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10618,7 +11563,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Enabled: 1 m_CastShadows: 1 @@ -10627,7 +11573,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10637,6 +11585,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10653,14 +11602,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1910201730 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1910201731} @@ -10678,7 +11629,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -320, y: 2.76, z: 209.4} @@ -10691,7 +11643,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10703,7 +11656,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Enabled: 1 m_CastShadows: 1 @@ -10712,7 +11666,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -10722,6 +11678,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10738,14 +11695,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1911283284 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1911283285} @@ -10760,7 +11719,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1911283284} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -10776,7 +11736,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1933962063} @@ -10794,7 +11755,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 200.4} @@ -10807,7 +11769,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10819,7 +11782,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Enabled: 1 m_CastShadows: 1 @@ -10828,7 +11792,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10838,6 +11804,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10854,14 +11821,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1971782644 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1971782645} @@ -10879,7 +11848,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -199} @@ -10892,7 +11862,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10904,7 +11875,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Enabled: 1 m_CastShadows: 1 @@ -10913,7 +11885,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -10923,6 +11897,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -10939,14 +11914,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1986161608 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1986161609} @@ -10964,7 +11941,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 400.4} @@ -10977,7 +11955,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -10989,7 +11968,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Enabled: 1 m_CastShadows: 1 @@ -10998,7 +11978,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11008,6 +11990,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11024,14 +12007,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1994782321 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1994782322} @@ -11049,7 +12034,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 200.4} @@ -11062,7 +12048,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11074,7 +12061,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Enabled: 1 m_CastShadows: 1 @@ -11083,7 +12071,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11093,6 +12083,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11109,14 +12100,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2005843029 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2005843030} @@ -11134,7 +12127,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -399} @@ -11147,7 +12141,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11159,7 +12154,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Enabled: 1 m_CastShadows: 1 @@ -11168,7 +12164,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11178,6 +12176,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11194,14 +12193,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2007181872 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2007181873} @@ -11219,7 +12220,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 400.4} @@ -11232,7 +12234,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11244,7 +12247,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Enabled: 1 m_CastShadows: 1 @@ -11253,7 +12257,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11263,6 +12269,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11279,14 +12286,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2049468733 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2049468734} @@ -11304,7 +12313,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -399} @@ -11317,7 +12327,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11329,7 +12340,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Enabled: 1 m_CastShadows: 1 @@ -11338,7 +12350,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11348,6 +12362,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11364,15 +12379,17 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2059120053 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 1680211047721136, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2059120054} @@ -11389,8 +12406,9 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 4365178019341690, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2059120053} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -11403,8 +12421,9 @@ Transform: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 114494058310467122, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2059120053} m_Enabled: 1 m_EditorHideFlags: 0 @@ -11417,14 +12436,17 @@ MonoBehaviour: Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 20322791666103570, guid: 20a8ea8f047df2a47baacf48fc9d6598, - type: 2} - m_PrefabInternal: {fileID: 0} + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2059120053} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -11458,7 +12480,8 @@ Camera: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2114698562} @@ -11476,7 +12499,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 306, y: 22.606491, z: 209.4} @@ -11489,7 +12513,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11501,7 +12526,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Enabled: 1 m_CastShadows: 1 @@ -11510,7 +12536,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -11520,6 +12548,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11536,14 +12565,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2131682719 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2131682720} @@ -11561,7 +12592,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 100} @@ -11574,7 +12606,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11586,7 +12619,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Enabled: 1 m_CastShadows: 1 @@ -11595,7 +12629,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -11605,6 +12641,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11621,14 +12658,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2134313031 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2134313032} @@ -11646,7 +12685,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 24.1, z: 0} @@ -11659,7 +12699,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -11672,7 +12713,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Enabled: 1 m_CastShadows: 1 @@ -11681,7 +12723,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -11691,6 +12735,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -11707,6 +12752,7 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Unity/UnityDemo/Assets/Scenes/DroneDemo.unity b/Unity/UnityDemo/Assets/Scenes/DroneDemo.unity index b0100fcb02..6029059caa 100644 --- a/Unity/UnityDemo/Assets/Scenes/DroneDemo.unity +++ b/Unity/UnityDemo/Assets/Scenes/DroneDemo.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18029505, g: 0.22572652, b: 0.30692935, a: 1} + m_IndirectSpecularColor: {r: 0.18028334, g: 0.2257134, b: 0.30692226, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -50,12 +50,11 @@ LightmapSettings: m_BounceScale: 1 m_IndirectOutputScale: 1 m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 m_EnvironmentLightingMode: 0 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 1 m_LightmapEditorSettings: - serializedVersion: 10 + serializedVersion: 12 m_Resolution: 2 m_BakeResolution: 40 m_AtlasSize: 1024 @@ -63,6 +62,7 @@ LightmapSettings: m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -77,10 +77,16 @@ LightmapSettings: m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 - m_PVRFilteringMode: 1 + m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 @@ -88,7 +94,9 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ShowResolutionOverlay: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} m_UseShadowmask: 1 --- !u!196 &4 @@ -117,7 +125,8 @@ NavMeshSettings: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 262668} @@ -135,7 +144,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -199} @@ -148,7 +158,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -160,7 +171,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Enabled: 1 m_CastShadows: 1 @@ -169,7 +181,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -179,6 +193,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -195,14 +210,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 262667} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &3620200 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 3620201} @@ -220,7 +237,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 200.4} @@ -233,7 +251,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -245,7 +264,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Enabled: 1 m_CastShadows: 1 @@ -254,7 +274,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -264,6 +286,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -280,14 +303,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3620200} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &5170087 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 5170088} @@ -305,7 +330,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -299} @@ -318,7 +344,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -330,7 +357,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Enabled: 1 m_CastShadows: 1 @@ -339,7 +367,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -349,6 +379,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -365,14 +396,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5170087} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &15958323 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 15958324} @@ -387,7 +420,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 15958323} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 287, y: 0, z: -99} @@ -402,7 +436,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 32334387} @@ -420,7 +455,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -399} @@ -433,7 +469,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -445,7 +482,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Enabled: 1 m_CastShadows: 1 @@ -454,7 +492,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -464,6 +504,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -480,14 +521,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 32334386} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &34107714 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 34107715} @@ -505,7 +548,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -299} @@ -518,7 +562,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -530,7 +575,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Enabled: 1 m_CastShadows: 1 @@ -539,7 +585,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -549,6 +597,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -565,14 +614,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34107714} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &40584275 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 40584276} @@ -590,7 +641,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -199} @@ -603,7 +655,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -615,7 +668,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Enabled: 1 m_CastShadows: 1 @@ -624,7 +678,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -634,6 +690,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -650,14 +707,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 40584275} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &50534990 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 50534991} @@ -675,7 +734,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -199} @@ -688,7 +748,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -700,7 +761,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Enabled: 1 m_CastShadows: 1 @@ -709,7 +771,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -719,6 +783,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -735,14 +800,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 50534990} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &53155940 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 53155941} @@ -760,7 +827,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 100} @@ -773,7 +841,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -785,7 +854,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Enabled: 1 m_CastShadows: 1 @@ -794,7 +864,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -804,6 +876,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -820,14 +893,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53155940} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &89535214 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 89535215} @@ -845,7 +920,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -858,7 +934,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -870,7 +947,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Enabled: 1 m_CastShadows: 1 @@ -879,7 +957,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -889,6 +969,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -905,14 +986,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 89535214} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &120705332 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 120705333} @@ -930,7 +1013,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 0} @@ -943,7 +1027,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -955,7 +1040,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Enabled: 1 m_CastShadows: 1 @@ -964,7 +1050,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -974,6 +1062,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -990,14 +1079,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 120705332} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &129367887 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 129367888} @@ -1015,7 +1106,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 10, z: -450} @@ -1028,7 +1120,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1040,7 +1133,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Enabled: 1 m_CastShadows: 1 @@ -1049,7 +1143,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -1059,6 +1155,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1075,84 +1172,90 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 129367887} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &132490913 -Prefab: +PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4094397369091838, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: -0.1 + objectReference: {fileID: 0} + - target: {fileID: 4436074836678212, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4678848420752302, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 4706661431202004, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4778528749735880, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalPosition.x value: -320 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalPosition.y value: 50 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalPosition.z value: 212 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalRotation.y value: -0 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_RootOrder value: 4 objectReference: {fileID: 0} - - target: {fileID: 4678848420752302, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - propertyPath: m_LocalPosition.z - value: 0.25 - objectReference: {fileID: 0} - - target: {fileID: 4952245109168342, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4952245109168342, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalPosition.z value: 0.25 objectReference: {fileID: 0} - - target: {fileID: 4778528749735880, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - propertyPath: m_LocalPosition.z - value: 0.25 - objectReference: {fileID: 0} - - target: {fileID: 4972388086024052, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} + - target: {fileID: 4972388086024052, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} propertyPath: m_LocalPosition.z value: 0.1 objectReference: {fileID: 0} - - target: {fileID: 4436074836678212, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - propertyPath: m_LocalPosition.z - value: 0.1 - objectReference: {fileID: 0} - - target: {fileID: 4706661431202004, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - propertyPath: m_LocalPosition.z - value: 0.1 - objectReference: {fileID: 0} - - target: {fileID: 4094397369091838, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - propertyPath: m_LocalPosition.z - value: -0.1 + - target: {fileID: 114101639218931136, guid: f63bf11bc2a9a7146a4375d511e1425c, + type: 3} + propertyPath: vehicleName + value: SimpleFlight objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 2} - m_IsPrefabAsset: 0 + m_SourcePrefab: {fileID: 100100000, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} --- !u!1 &142585434 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 142585435} @@ -1170,7 +1273,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 100} @@ -1183,7 +1287,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1195,7 +1300,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Enabled: 1 m_CastShadows: 1 @@ -1204,7 +1310,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1214,6 +1322,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1230,14 +1339,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142585434} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &175544666 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 175544667} @@ -1255,7 +1366,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 0} @@ -1268,7 +1380,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1280,7 +1393,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Enabled: 1 m_CastShadows: 1 @@ -1289,7 +1403,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1299,6 +1415,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1315,14 +1432,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 175544666} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &202204720 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 202204721} @@ -1340,7 +1459,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 300.4} @@ -1353,7 +1473,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1365,7 +1486,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Enabled: 1 m_CastShadows: 1 @@ -1374,7 +1496,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1384,6 +1508,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1400,14 +1525,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 202204720} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &204066940 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 204066941} @@ -1425,7 +1552,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 322, y: 10, z: 192.5} @@ -1438,7 +1566,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1451,7 +1580,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Enabled: 1 m_CastShadows: 1 @@ -1460,7 +1590,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -1470,6 +1602,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1486,14 +1619,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 204066940} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &235352963 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 235352964} @@ -1511,7 +1646,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 400.4} @@ -1524,7 +1660,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1536,7 +1673,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Enabled: 1 m_CastShadows: 1 @@ -1545,7 +1683,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1555,6 +1695,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1571,14 +1712,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 235352963} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &247492923 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 247492924} @@ -1596,7 +1739,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 300.4} @@ -1609,7 +1753,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1621,7 +1766,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Enabled: 1 m_CastShadows: 1 @@ -1630,7 +1776,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1640,6 +1788,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1656,14 +1805,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 247492923} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &276256900 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 276256901} @@ -1681,7 +1832,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -399} @@ -1694,7 +1846,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1706,7 +1859,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Enabled: 1 m_CastShadows: 1 @@ -1715,7 +1869,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1725,6 +1881,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1741,14 +1898,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 276256900} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &278794953 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 278794954} @@ -1766,7 +1925,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 100} @@ -1779,7 +1939,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1791,7 +1952,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Enabled: 1 m_CastShadows: 1 @@ -1800,7 +1962,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1810,6 +1974,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1826,14 +1991,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 278794953} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &297680528 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 297680529} @@ -1851,7 +2018,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 300.4} @@ -1864,7 +2032,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1876,7 +2045,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Enabled: 1 m_CastShadows: 1 @@ -1885,7 +2055,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1895,6 +2067,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1911,14 +2084,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 297680528} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &318386983 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 318386984} @@ -1936,7 +2111,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 300.4} @@ -1949,7 +2125,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1961,7 +2138,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Enabled: 1 m_CastShadows: 1 @@ -1970,7 +2148,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -1980,6 +2160,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1996,14 +2177,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 318386983} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &320786704 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 320786705} @@ -2021,7 +2204,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 300.4} @@ -2034,7 +2218,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2046,7 +2231,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Enabled: 1 m_CastShadows: 1 @@ -2055,7 +2241,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2065,6 +2253,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2081,14 +2270,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 320786704} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &338406758 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 338406759} @@ -2106,7 +2297,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 200.4} @@ -2119,7 +2311,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2131,7 +2324,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Enabled: 1 m_CastShadows: 1 @@ -2140,7 +2334,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2150,6 +2346,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2166,14 +2363,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 338406758} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &339479647 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 339479648} @@ -2191,7 +2390,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -299} @@ -2204,7 +2404,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2216,7 +2417,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Enabled: 1 m_CastShadows: 1 @@ -2225,7 +2427,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2235,6 +2439,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2251,14 +2456,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339479647} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &373341875 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 373341876} @@ -2276,7 +2483,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 400.4} @@ -2289,7 +2497,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2301,7 +2510,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Enabled: 1 m_CastShadows: 1 @@ -2310,7 +2520,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2320,6 +2532,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2336,14 +2549,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373341875} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &390123845 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 390123846} @@ -2358,7 +2573,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390123845} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -2376,7 +2592,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 390218245} @@ -2394,7 +2611,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -336.8, y: 14.98, z: 226.54} @@ -2407,7 +2625,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2420,7 +2639,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Enabled: 1 m_CastShadows: 1 @@ -2429,7 +2649,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -2439,6 +2661,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2455,14 +2678,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 390218244} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &400351206 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 400351207} @@ -2480,7 +2705,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 4.08, z: 18.55} @@ -2493,7 +2719,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2505,7 +2732,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Enabled: 1 m_CastShadows: 1 @@ -2514,7 +2742,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -2524,6 +2754,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2540,14 +2771,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 400351206} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &420362043 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 420362044} @@ -2562,7 +2795,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 420362043} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -2580,7 +2814,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 425471048} @@ -2598,7 +2833,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 0} @@ -2611,7 +2847,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2623,7 +2860,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Enabled: 1 m_CastShadows: 1 @@ -2632,7 +2870,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2642,6 +2882,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2658,14 +2899,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 425471047} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &448413727 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 448413728} @@ -2683,7 +2926,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 10, z: 450} @@ -2696,7 +2940,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2708,7 +2953,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Enabled: 1 m_CastShadows: 1 @@ -2717,7 +2963,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -2727,6 +2975,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2743,14 +2992,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 448413727} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &450457303 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 450457304} @@ -2768,7 +3019,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -199} @@ -2781,7 +3033,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2793,7 +3046,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Enabled: 1 m_CastShadows: 1 @@ -2802,7 +3056,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -2812,6 +3068,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2828,119 +3085,115 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 450457303} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &467440834 -Prefab: +PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_RootOrder value: 3 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchoredPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMin.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMin.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMax.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_Pivot.x value: 0 objectReference: {fileID: 0} - target: {fileID: 224535373885583630, guid: e40b37a58e90168489aecb17d1395cbb, - type: 2} + type: 3} propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e40b37a58e90168489aecb17d1395cbb, type: 2} - m_IsPrefabAsset: 0 + m_SourcePrefab: {fileID: 100100000, guid: e40b37a58e90168489aecb17d1395cbb, type: 3} --- !u!1 &540629128 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 540629129} @@ -2958,7 +3211,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -303.3, y: 14.98, z: 226.54} @@ -2971,7 +3225,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -2984,7 +3239,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Enabled: 1 m_CastShadows: 1 @@ -2993,7 +3249,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -3003,6 +3261,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3019,14 +3278,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 540629128} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &566177496 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 566177497} @@ -3044,7 +3305,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -399} @@ -3057,7 +3319,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3069,7 +3332,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Enabled: 1 m_CastShadows: 1 @@ -3078,7 +3342,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3088,6 +3354,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3104,14 +3371,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 566177496} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &576657999 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 576658000} @@ -3129,7 +3398,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -299} @@ -3142,7 +3412,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3154,7 +3425,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Enabled: 1 m_CastShadows: 1 @@ -3163,7 +3435,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3173,6 +3447,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3189,14 +3464,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 576657999} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &638753530 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 638753531} @@ -3214,7 +3491,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 400.4} @@ -3227,7 +3505,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3239,7 +3518,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Enabled: 1 m_CastShadows: 1 @@ -3248,7 +3528,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3258,6 +3540,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3274,14 +3557,72 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638753530} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &663350804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663350806} + - component: {fileID: 663350805} + - component: {fileID: 663350807} + m_Layer: 0 + m_Name: AirSimManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &663350805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663350804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cc58e6de68c02747a4aa12440551a3b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &663350806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663350804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &663350807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663350804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca72950c6b9a95848b5b1bee27e51ff8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &701307520 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 701307522} @@ -3297,15 +3638,18 @@ GameObject: Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 701307520} m_Enabled: 1 - serializedVersion: 8 + serializedVersion: 10 m_Type: 1 + m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 1 m_Range: 10 m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: m_Type: 2 @@ -3315,6 +3659,24 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -3322,19 +3684,23 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 + m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &701307522 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 701307520} m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} @@ -3347,7 +3713,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 712256053} @@ -3365,7 +3732,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -303.3, y: 14.98, z: 192.25} @@ -3378,7 +3746,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3391,7 +3760,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Enabled: 1 m_CastShadows: 1 @@ -3400,7 +3770,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -3410,6 +3782,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3426,14 +3799,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712256052} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &716284897 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 716284902} @@ -3452,7 +3827,8 @@ GameObject: MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 m_EditorHideFlags: 0 @@ -3465,27 +3841,32 @@ MonoBehaviour: AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 --- !u!124 &716284900 Behaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 --- !u!20 &716284901 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 @@ -3519,7 +3900,8 @@ Camera: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716284897} m_LocalRotation: {x: 0.101316795, y: 0, z: 0, w: 0.9948542} m_LocalPosition: {x: -10.8, y: 59.7, z: 49.7} @@ -3532,7 +3914,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 785787370} @@ -3550,7 +3933,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -100} @@ -3563,7 +3947,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3575,7 +3960,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Enabled: 1 m_CastShadows: 1 @@ -3584,7 +3970,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3594,6 +3982,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3610,14 +3999,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 785787369} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &795762183 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 795762184} @@ -3635,7 +4026,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 400.4} @@ -3648,7 +4040,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3660,7 +4053,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Enabled: 1 m_CastShadows: 1 @@ -3669,7 +4063,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3679,6 +4075,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3695,14 +4092,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 795762183} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &817935155 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 817935156} @@ -3720,7 +4119,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -399} @@ -3733,7 +4133,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3745,7 +4146,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Enabled: 1 m_CastShadows: 1 @@ -3754,7 +4156,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3764,6 +4168,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3780,14 +4185,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 817935155} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &855812605 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 855812606} @@ -3805,7 +4212,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 100} @@ -3818,7 +4226,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3830,7 +4239,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Enabled: 1 m_CastShadows: 1 @@ -3839,7 +4249,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3849,6 +4261,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3865,14 +4278,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 855812605} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &867517395 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 867517396} @@ -3887,7 +4302,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 867517395} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -3903,7 +4319,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 874076544} @@ -3921,7 +4338,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 0} @@ -3934,7 +4352,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -3946,7 +4365,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Enabled: 1 m_CastShadows: 1 @@ -3955,7 +4375,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -3965,6 +4387,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3981,14 +4404,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 874076543} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &901892091 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 901892092} @@ -4006,7 +4431,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 200.4} @@ -4019,7 +4445,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4031,7 +4458,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Enabled: 1 m_CastShadows: 1 @@ -4040,7 +4468,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4050,6 +4480,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4066,14 +4497,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 901892091} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &921574310 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 921574311} @@ -4091,7 +4524,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 400.4} @@ -4104,7 +4538,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4116,7 +4551,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Enabled: 1 m_CastShadows: 1 @@ -4125,7 +4561,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4135,6 +4573,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4151,14 +4590,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 921574310} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &929407263 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 929407264} @@ -4176,7 +4617,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 100} @@ -4189,7 +4631,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4201,7 +4644,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Enabled: 1 m_CastShadows: 1 @@ -4210,7 +4654,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4220,6 +4666,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4236,14 +4683,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 929407263} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &935122615 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 935122616} @@ -4261,7 +4710,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -299} @@ -4274,7 +4724,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4286,7 +4737,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Enabled: 1 m_CastShadows: 1 @@ -4295,7 +4747,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4305,6 +4759,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4321,14 +4776,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 935122615} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &970833774 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 970833775} @@ -4346,7 +4803,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -100} @@ -4359,7 +4817,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4371,7 +4830,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Enabled: 1 m_CastShadows: 1 @@ -4380,7 +4840,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4390,6 +4852,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4406,14 +4869,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 970833774} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &986458333 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 986458334} @@ -4431,7 +4896,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 400.4} @@ -4444,7 +4910,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4456,7 +4923,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Enabled: 1 m_CastShadows: 1 @@ -4465,7 +4933,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4475,6 +4945,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4491,14 +4962,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 986458333} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1001162542 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1001162543} @@ -4516,7 +4989,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 290, y: 10, z: 192.5} @@ -4529,7 +5003,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4542,7 +5017,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Enabled: 1 m_CastShadows: 1 @@ -4551,7 +5027,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -4561,6 +5039,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4577,14 +5056,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1001162542} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1010297101 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1010297102} @@ -4602,7 +5083,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 400.4} @@ -4615,7 +5097,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4627,7 +5110,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Enabled: 1 m_CastShadows: 1 @@ -4636,7 +5120,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -4646,6 +5132,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4662,14 +5149,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1010297101} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1013135564 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1013135565} @@ -4687,7 +5176,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 290, y: 10, z: 226} @@ -4700,7 +5190,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4713,7 +5204,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Enabled: 1 m_CastShadows: 1 @@ -4722,7 +5214,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -4732,6 +5226,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4748,14 +5243,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1013135564} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1038801954 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1038801955} @@ -4773,7 +5270,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 9.63, y: 15.15, z: 317} @@ -4786,7 +5284,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -4798,7 +5297,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Enabled: 1 m_CastShadows: 1 @@ -4807,7 +5307,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -4817,6 +5319,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4833,14 +5336,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1038801954} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1046109794 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1046109795} @@ -4856,7 +5361,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1046109794} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -4950,7 +5456,8 @@ Transform: Rigidbody: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1046109794} serializedVersion: 2 m_Mass: 1 @@ -4965,7 +5472,8 @@ Rigidbody: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1074876730} @@ -4983,7 +5491,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: 200.4} @@ -4996,7 +5505,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5008,7 +5518,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Enabled: 1 m_CastShadows: 1 @@ -5017,7 +5528,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5027,6 +5540,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5043,14 +5557,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1074876729} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1077761767 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1077761768} @@ -5065,7 +5581,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1077761767} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -5082,7 +5599,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1082429642} @@ -5100,7 +5618,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 5.18, z: 317} @@ -5113,7 +5632,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5125,7 +5645,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Enabled: 1 m_CastShadows: 1 @@ -5134,7 +5655,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -5144,6 +5667,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5160,14 +5684,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1082429641} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1120314538 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1120314539} @@ -5185,7 +5711,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 200.4} @@ -5198,7 +5725,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5210,7 +5738,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Enabled: 1 m_CastShadows: 1 @@ -5219,7 +5748,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5229,6 +5760,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5245,14 +5777,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120314538} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1150396926 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1150396927} @@ -5270,7 +5804,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -100} @@ -5283,7 +5818,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5295,7 +5831,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Enabled: 1 m_CastShadows: 1 @@ -5304,7 +5841,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5314,6 +5853,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5330,14 +5870,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1150396926} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1224083890 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1224083891} @@ -5355,7 +5897,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -399} @@ -5368,7 +5911,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5380,7 +5924,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Enabled: 1 m_CastShadows: 1 @@ -5389,7 +5934,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5399,6 +5946,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5415,14 +5963,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1224083890} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1229814420 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1229814421} @@ -5440,7 +5990,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 322, y: 10, z: 226} @@ -5453,7 +6004,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5466,7 +6018,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Enabled: 1 m_CastShadows: 1 @@ -5475,7 +6028,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -5485,6 +6040,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5501,14 +6057,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229814420} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1242013735 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1242013736} @@ -5526,7 +6084,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -100} @@ -5539,7 +6098,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5551,7 +6111,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Enabled: 1 m_CastShadows: 1 @@ -5560,7 +6121,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5570,6 +6133,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5586,14 +6150,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242013735} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1260987439 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1260987440} @@ -5611,7 +6177,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -199} @@ -5624,7 +6191,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5636,7 +6204,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Enabled: 1 m_CastShadows: 1 @@ -5645,7 +6214,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5655,6 +6226,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5671,14 +6243,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1260987439} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1278939894 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1278939895} @@ -5696,7 +6270,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -450, y: 10, z: 0} @@ -5709,7 +6284,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5721,7 +6297,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Enabled: 1 m_CastShadows: 1 @@ -5730,7 +6307,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -5740,6 +6319,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5756,14 +6336,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1278939894} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1312022553 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1312022554} @@ -5781,7 +6363,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -336.8, y: 14.98, z: 192.25} @@ -5794,7 +6377,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5807,7 +6391,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Enabled: 1 m_CastShadows: 1 @@ -5816,7 +6401,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -5826,6 +6413,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5842,14 +6430,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312022553} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1345871133 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1345871134} @@ -5867,7 +6457,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 0} @@ -5880,7 +6471,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5892,7 +6484,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Enabled: 1 m_CastShadows: 1 @@ -5901,7 +6494,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5911,6 +6506,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5927,14 +6523,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1345871133} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1348703854 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1348703855} @@ -5952,7 +6550,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -299} @@ -5965,7 +6564,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -5977,7 +6577,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Enabled: 1 m_CastShadows: 1 @@ -5986,7 +6587,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -5996,6 +6599,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6012,14 +6616,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1348703854} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1355300759 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1355300760} @@ -6037,7 +6643,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: -100} @@ -6050,7 +6657,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6062,7 +6670,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Enabled: 1 m_CastShadows: 1 @@ -6071,7 +6680,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6081,6 +6692,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6097,14 +6709,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1355300759} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1362137216 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1362137217} @@ -6122,7 +6736,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -199} @@ -6135,7 +6750,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6147,7 +6763,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Enabled: 1 m_CastShadows: 1 @@ -6156,7 +6773,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6166,6 +6785,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6182,14 +6802,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362137216} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1392769405 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1392769406} @@ -6207,7 +6829,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 50.2, z: 0} @@ -6220,7 +6843,8 @@ Transform: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_Enabled: 1 m_CastShadows: 1 @@ -6229,7 +6853,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -6239,6 +6865,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6255,14 +6882,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!65 &1392769409 BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392769405} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6274,7 +6903,8 @@ BoxCollider: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1399587321} @@ -6292,7 +6922,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -299} @@ -6305,7 +6936,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6317,7 +6949,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Enabled: 1 m_CastShadows: 1 @@ -6326,7 +6959,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6336,6 +6971,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6352,14 +6988,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399587320} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1403974984 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1403974985} @@ -6377,7 +7015,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 0} @@ -6390,7 +7029,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6402,7 +7042,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Enabled: 1 m_CastShadows: 1 @@ -6411,7 +7052,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6421,6 +7064,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6437,14 +7081,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1403974984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1421615128 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1421615129} @@ -6462,7 +7108,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -100} @@ -6475,7 +7122,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6487,7 +7135,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Enabled: 1 m_CastShadows: 1 @@ -6496,7 +7145,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6506,6 +7157,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6522,14 +7174,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1421615128} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1437864572 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1437864573} @@ -6547,7 +7201,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 100} @@ -6560,7 +7215,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6572,7 +7228,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Enabled: 1 m_CastShadows: 1 @@ -6581,7 +7238,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6591,6 +7250,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6607,14 +7267,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1437864572} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1444286071 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1444286072} @@ -6632,7 +7294,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: 200.4} @@ -6645,7 +7308,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6657,7 +7321,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Enabled: 1 m_CastShadows: 1 @@ -6666,7 +7331,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6676,6 +7343,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6692,14 +7360,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1444286071} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1450550447 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1450550448} @@ -6717,7 +7387,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -399} @@ -6730,7 +7401,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6742,7 +7414,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Enabled: 1 m_CastShadows: 1 @@ -6751,7 +7424,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6761,6 +7436,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6777,14 +7453,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1450550447} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1460426459 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1460426460} @@ -6802,7 +7480,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: -299} @@ -6815,7 +7494,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6827,7 +7507,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Enabled: 1 m_CastShadows: 1 @@ -6836,7 +7517,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6846,6 +7529,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -6862,14 +7546,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1460426459} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1490418359 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1490418360} @@ -6884,7 +7570,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1490418359} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -250, y: 0, z: -205} @@ -6899,7 +7586,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1491090608} @@ -6914,7 +7602,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1491090607} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -6932,7 +7621,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1495769741} @@ -6950,7 +7640,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 100} @@ -6963,7 +7654,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -6975,7 +7667,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Enabled: 1 m_CastShadows: 1 @@ -6984,7 +7677,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -6994,6 +7689,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7010,14 +7706,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1495769740} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1502187103 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1502187104} @@ -7035,7 +7733,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -100} @@ -7048,7 +7747,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7060,7 +7760,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Enabled: 1 m_CastShadows: 1 @@ -7069,7 +7770,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7079,6 +7782,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7095,14 +7799,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1502187103} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1620168040 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1620168041} @@ -7120,7 +7826,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 445, y: 10, z: 0} @@ -7133,7 +7840,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7145,7 +7853,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Enabled: 1 m_CastShadows: 1 @@ -7154,7 +7863,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: @@ -7164,6 +7875,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7180,14 +7892,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1620168040} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1627181540 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1627181541} @@ -7205,7 +7919,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 398, y: 0, z: -299} @@ -7218,7 +7933,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7230,7 +7946,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Enabled: 1 m_CastShadows: 1 @@ -7239,7 +7956,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7249,6 +7968,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7265,14 +7985,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1627181540} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1631208419 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1631208420} @@ -7290,7 +8012,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 9.7, y: 5.18, z: 317} @@ -7303,7 +8026,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7315,7 +8039,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Enabled: 1 m_CastShadows: 1 @@ -7324,7 +8049,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -7334,6 +8061,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7350,14 +8078,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1631208419} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1658859405 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1658859406} @@ -7375,7 +8105,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -199} @@ -7388,7 +8119,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7400,7 +8132,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Enabled: 1 m_CastShadows: 1 @@ -7409,7 +8142,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7419,6 +8154,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7435,14 +8171,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1658859405} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1670326635 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1670326636} @@ -7460,7 +8198,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: 300.4} @@ -7473,7 +8212,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7485,7 +8225,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Enabled: 1 m_CastShadows: 1 @@ -7494,7 +8235,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7504,6 +8247,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7520,14 +8264,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1670326635} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1692204547 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1692204548} @@ -7545,7 +8291,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -399} @@ -7558,7 +8305,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7570,7 +8318,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Enabled: 1 m_CastShadows: 1 @@ -7579,7 +8328,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7589,6 +8340,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7605,14 +8357,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1692204547} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1699530068 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1699530069} @@ -7630,7 +8384,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 0} @@ -7643,7 +8398,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7655,7 +8411,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Enabled: 1 m_CastShadows: 1 @@ -7664,7 +8421,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7674,6 +8433,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7690,14 +8450,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1699530068} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1707406993 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1707406994} @@ -7715,7 +8477,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 300.4} @@ -7728,7 +8491,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7740,7 +8504,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Enabled: 1 m_CastShadows: 1 @@ -7749,7 +8514,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7759,6 +8526,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7775,14 +8543,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1707406993} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1729091557 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1729091558} @@ -7800,7 +8570,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 300.4} @@ -7813,7 +8584,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7825,7 +8597,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Enabled: 1 m_CastShadows: 1 @@ -7834,7 +8607,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7844,6 +8619,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7860,14 +8636,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729091557} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1735417010 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1735417011} @@ -7885,7 +8663,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: -100} @@ -7898,7 +8677,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7910,7 +8690,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Enabled: 1 m_CastShadows: 1 @@ -7919,7 +8700,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -7929,6 +8712,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -7945,14 +8729,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1735417010} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1756458945 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1756458946} @@ -7970,7 +8756,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 0} @@ -7983,7 +8770,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -7995,7 +8783,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Enabled: 1 m_CastShadows: 1 @@ -8004,7 +8793,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8014,6 +8805,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8030,14 +8822,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756458945} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1771783015 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1771783016} @@ -8055,7 +8849,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 300.4} @@ -8068,7 +8863,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8080,7 +8876,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Enabled: 1 m_CastShadows: 1 @@ -8089,7 +8886,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8099,6 +8898,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8115,14 +8915,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1771783015} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1772983451 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1772983452} @@ -8140,7 +8942,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 100} @@ -8153,7 +8956,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8165,7 +8969,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Enabled: 1 m_CastShadows: 1 @@ -8174,7 +8979,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8184,6 +8991,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8200,14 +9008,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1772983451} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1778685771 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1778685772} @@ -8225,7 +9035,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_LocalRotation: {x: -0.21643952, y: 0, z: 0, w: 0.97629607} m_LocalPosition: {x: 0, y: 4.01, z: -3.28} @@ -8238,7 +9049,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8250,7 +9062,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Enabled: 1 m_CastShadows: 1 @@ -8259,7 +9072,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -8269,6 +9084,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8285,14 +9101,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1778685771} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1835745133 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1835745134} @@ -8310,7 +9128,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: 0, z: 200.4} @@ -8323,7 +9142,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8335,7 +9155,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Enabled: 1 m_CastShadows: 1 @@ -8344,7 +9165,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8354,6 +9177,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8370,14 +9194,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835745133} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1860867277 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1860867278} @@ -8395,7 +9221,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -100} @@ -8408,7 +9235,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8420,7 +9248,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Enabled: 1 m_CastShadows: 1 @@ -8429,7 +9258,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8439,6 +9270,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8455,14 +9287,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1860867277} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1865244381 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1865244382} @@ -8480,7 +9314,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: -199} @@ -8493,7 +9328,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8505,7 +9341,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Enabled: 1 m_CastShadows: 1 @@ -8514,7 +9351,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8524,6 +9363,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8540,14 +9380,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1865244381} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1910201730 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1910201731} @@ -8565,7 +9407,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -320, y: 2.76, z: 209.4} @@ -8578,7 +9421,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8590,7 +9434,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Enabled: 1 m_CastShadows: 1 @@ -8599,7 +9444,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -8609,6 +9456,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8625,14 +9473,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910201730} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1911283284 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1911283285} @@ -8647,7 +9497,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1911283284} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -8663,7 +9514,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1933962063} @@ -8681,7 +9533,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 200.4} @@ -8694,7 +9547,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8706,7 +9560,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Enabled: 1 m_CastShadows: 1 @@ -8715,7 +9570,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8725,6 +9582,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8741,19 +9599,22 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933962062} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!4 &1959657073 stripped Transform: m_CorrespondingSourceObject: {fileID: 4618083379877762, guid: f63bf11bc2a9a7146a4375d511e1425c, - type: 2} - m_PrefabInternal: {fileID: 132490913} + type: 3} + m_PrefabInstance: {fileID: 132490913} + m_PrefabAsset: {fileID: 0} --- !u!1 &1971782644 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1971782645} @@ -8771,7 +9632,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -100, y: 0, z: -199} @@ -8784,7 +9646,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8796,7 +9659,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Enabled: 1 m_CastShadows: 1 @@ -8805,7 +9669,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8815,6 +9681,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8831,14 +9698,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1971782644} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1986161608 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1986161609} @@ -8856,7 +9725,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: 400.4} @@ -8869,7 +9739,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8881,7 +9752,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Enabled: 1 m_CastShadows: 1 @@ -8890,7 +9762,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8900,6 +9774,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -8916,14 +9791,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1986161608} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1994782321 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1994782322} @@ -8941,7 +9818,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 298, y: 0, z: 200.4} @@ -8954,7 +9832,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -8966,7 +9845,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Enabled: 1 m_CastShadows: 1 @@ -8975,7 +9855,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -8985,6 +9867,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9001,14 +9884,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1994782321} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2005843029 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2005843030} @@ -9026,7 +9911,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 198, y: 0, z: -399} @@ -9039,7 +9925,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9051,7 +9938,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Enabled: 1 m_CastShadows: 1 @@ -9060,7 +9948,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9070,6 +9960,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9086,14 +9977,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005843029} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2007181872 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2007181873} @@ -9111,7 +10004,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -300, y: 0, z: 400.4} @@ -9124,7 +10018,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9136,7 +10031,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Enabled: 1 m_CastShadows: 1 @@ -9145,7 +10041,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9155,6 +10053,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9171,14 +10070,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2007181872} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2049468733 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2049468734} @@ -9196,7 +10097,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -200, y: 0, z: -399} @@ -9209,7 +10111,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9221,7 +10124,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Enabled: 1 m_CastShadows: 1 @@ -9230,7 +10134,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9240,6 +10146,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9256,14 +10163,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2049468733} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2114698561 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2114698562} @@ -9281,7 +10190,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_LocalRotation: {x: -0, y: -0, z: -1, w: 0} m_LocalPosition: {x: 306, y: 22.606491, z: 209.4} @@ -9294,7 +10204,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9306,7 +10217,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Enabled: 1 m_CastShadows: 1 @@ -9315,7 +10227,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -9325,6 +10239,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9341,14 +10256,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114698561} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2131682719 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2131682720} @@ -9366,7 +10283,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 100, y: 0, z: 100} @@ -9379,7 +10297,8 @@ Transform: BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9391,7 +10310,8 @@ BoxCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Enabled: 1 m_CastShadows: 1 @@ -9400,7 +10320,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: baf1b858a171d2a4b999716eae5ad6bc, type: 2} m_StaticBatchInfo: @@ -9410,6 +10332,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9426,14 +10349,16 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131682719} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2134313031 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2134313032} @@ -9451,7 +10376,8 @@ GameObject: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 24.1, z: 0} @@ -9464,7 +10390,8 @@ Transform: CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -9477,7 +10404,8 @@ CapsuleCollider: MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Enabled: 1 m_CastShadows: 1 @@ -9486,7 +10414,9 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: d5746c3f216f7b84db940c7a63b44924, type: 2} m_StaticBatchInfo: @@ -9496,6 +10426,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -9512,6 +10443,7 @@ MeshRenderer: MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2134313031} m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} From 2aed014806e50ff70c9d923ccc11f9e801c60692 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 18:42:09 +0100 Subject: [PATCH 06/54] added multi drone demo --- .../Scripts/Utilities/AirSimSettings.cs | 2 + .../Assets/Scenes/MultiDroneDemo.unity | 571 ++++++++++++++++++ .../Assets/Scenes/MultiDroneDemo.unity.meta | 7 + 3 files changed, 580 insertions(+) create mode 100644 Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity create mode 100644 Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity.meta diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimSettings.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimSettings.cs index 2b27df650e..7eb73d0bde 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimSettings.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimSettings.cs @@ -149,6 +149,8 @@ public struct PX4Settings { private static AirSimSettings settings = null; public static AirSimSettings GetSettings() { + if (settings == null) + Initialize(); return settings; } diff --git a/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity new file mode 100644 index 0000000000..0a6fe4eeab --- /dev/null +++ b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity @@ -0,0 +1,571 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &76558686 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1875394544442156, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_Name + value: QuadCopter (1) + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114101639218931136, guid: f63bf11bc2a9a7146a4375d511e1425c, + type: 3} + propertyPath: vehicleName + value: Drone2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} +--- !u!1 &175834421 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 175834423} + - component: {fileID: 175834422} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &175834422 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 175834421} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &175834423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 175834421} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &480568803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 480568806} + - component: {fileID: 480568805} + - component: {fileID: 480568804} + m_Layer: 0 + m_Name: AirSimManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &480568804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480568803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca72950c6b9a95848b5b1bee27e51ff8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &480568805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480568803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cc58e6de68c02747a4aa12440551a3b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &480568806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480568803} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &560037646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560037650} + - component: {fileID: 560037649} + - component: {fileID: 560037648} + - component: {fileID: 560037647} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &560037647 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560037646} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 5, z: 10} + m_Center: {x: 0, y: -2.5, z: 0} +--- !u!23 &560037648 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560037646} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &560037649 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560037646} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &560037650 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560037646} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &738106958 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1875394544442156, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_Name + value: QuadCopter + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4943211950449684, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114101639218931136, guid: f63bf11bc2a9a7146a4375d511e1425c, + type: 3} + propertyPath: vehicleName + value: Drone1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} +--- !u!1 &1864850015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1864850018} + - component: {fileID: 1864850017} + - component: {fileID: 1864850016} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1864850016 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1864850015} + m_Enabled: 1 +--- !u!20 &1864850017 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1864850015} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1864850018 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1864850015} + m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} + m_LocalPosition: {x: 0, y: 15, z: -25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0} diff --git a/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity.meta b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity.meta new file mode 100644 index 0000000000..f813c475e3 --- /dev/null +++ b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df7823065d92e2948a9a715a3a586cb2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From aae7f5446b431a68e3da0d9c350ad5c7d572db24 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 21:07:24 +0100 Subject: [PATCH 07/54] start thread per vehicle --- .../AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index 16bc64c73e..ad476ec90b 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -147,7 +147,7 @@ void SimModeBase::startApiServer() api_server_ = createApiServer(); #endif try { - api_server_->start(false, 4); //TODO: set thread for vehicle count + api_server_->start(false, vehicle_sim_apis_.size() + 4); //TODO: set thread for vehicle count } catch (std::exception& ex) { PrintLogMessage("Cannot start RpcLib Server", ex.what(), "", ErrorLogSeverity::Error); From cdbb2babad23c8143679e32c6859bf91bad99937 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 4 Nov 2020 21:34:34 +0100 Subject: [PATCH 08/54] code style changes --- AirLib/include/common/AirSimSettings.hpp | 9 +++------ .../AirsimWrapper/Source/SimMode/SimModeBase.cpp | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index d94b7ebe04..cee9bebdd3 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -775,8 +775,7 @@ struct AirSimSettings { //NOTE: Do not set defaults for vehicle type here. If you do then make sure //to sync code in createVehicleSetting() as well. - if (simmode_name == "Multirotor") - { + if (simmode_name == "Multirotor") { //create simple flight as default multirotor auto simple_flight_setting = std::unique_ptr(new VehicleSetting()); simple_flight_setting->vehicle_name = "SimpleFlight"; @@ -786,16 +785,14 @@ struct AirSimSettings { simple_flight_setting->rc.remote_control_id = 0; vehicles[simple_flight_setting->vehicle_name] = std::move(simple_flight_setting); } - else if (simmode_name == "Car") - { + else if (simmode_name == "Car") { //create default car vehicle auto physx_car_setting = std::unique_ptr(new VehicleSetting()); physx_car_setting->vehicle_name = "PhysXCar"; physx_car_setting->vehicle_type = kVehicleTypePhysXCar; vehicles[physx_car_setting->vehicle_name] = std::move(physx_car_setting); } - else - { + else { //create default computer vision vehicle auto cv_setting = std::unique_ptr(new VehicleSetting()); cv_setting->vehicle_name = "ComputerVision"; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index ad476ec90b..6bc978d05e 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -202,8 +202,7 @@ void SimModeBase::setupVehiclesAndCamera() { //determine camera director camera default pose and spawn it const auto& camera_director_setting = getSettings().camera_director; - for (auto const& vehicle_setting_pair : getSettings().vehicles) - { + for (auto const& vehicle_setting_pair : getSettings().vehicles) { const auto& vehicle_setting = *vehicle_setting_pair.second; const std::string& vehicle_name = vehicle_setting.vehicle_name; @@ -218,9 +217,8 @@ void SimModeBase::setupVehiclesAndCamera() getApiProvider()->insert_or_assign(vehicle_name, vehicle_Api, vehicle_sim_api_p); if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name != "") - { getApiProvider()->makeDefaultVehicle(vehicle_name); - } + vehicle_sim_apis_.push_back(std::move(vehicle_sim_api)); } } From e1e9aba7268a2048162df705bbc1d84ec6955c3f Mon Sep 17 00:00:00 2001 From: Tiago Chaves Date: Mon, 8 Feb 2021 16:42:23 -0300 Subject: [PATCH 09/54] Update car_env.py Added some small simplifications to the code: - Removed double entry for `self.state["collision"]` - Changed `transform_obs` to receive a single image response (and not a list) - Used `Vector3r`'s built-in `.to_numpy_array()` method - Made constants used in the reward function upper-case --- .../airgym/envs/car_env.py | 51 +++++++++---------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/PythonClient/reinforcement_learning/airgym/envs/car_env.py b/PythonClient/reinforcement_learning/airgym/envs/car_env.py index 7a0487f070..9542fc22b3 100644 --- a/PythonClient/reinforcement_learning/airgym/envs/car_env.py +++ b/PythonClient/reinforcement_learning/airgym/envs/car_env.py @@ -18,8 +18,10 @@ def __init__(self, ip_address, image_shape): self.state = { "position": np.zeros(3), - "collision": False, "prev_position": np.zeros(3), + "pose": None, + "prev_pose": None, + "collision": False, } self.car = airsim.CarClient(ip=ip_address) @@ -32,10 +34,6 @@ def __init__(self, ip_address, image_shape): self.car_controls = airsim.CarControls() self.car_state = None - self.state["pose"] = None - self.state["prev_pose"] = None - self.state["collision"] = None - def _setup_car(self): self.car.reset() self.car.enableApiControl(True) @@ -48,6 +46,7 @@ def __del__(self): def _do_action(self, action): self.car_controls.brake = 0 self.car_controls.throttle = 1 + if action == 0: self.car_controls.throttle = 0 self.car_controls.brake = 1 @@ -65,10 +64,10 @@ def _do_action(self, action): self.car.setCarControls(self.car_controls) time.sleep(1) - def transform_obs(self, responses): - img1d = np.array(responses[0].image_data_float, dtype=np.float) + def transform_obs(self, response): + img1d = np.array(response.image_data_float, dtype=np.float) img1d = 255 / np.maximum(np.ones(img1d.size), img1d) - img2d = np.reshape(img1d, (responses[0].height, responses[0].width)) + img2d = np.reshape(img1d, (response.height, response.width)) from PIL import Image @@ -79,51 +78,47 @@ def transform_obs(self, responses): def _get_obs(self): responses = self.car.simGetImages([self.image_request]) - image = self.transform_obs(responses) + image = self.transform_obs(responses[0]) self.car_state = self.car.getCarState() - collision = self.car.simGetCollisionInfo().has_collided self.state["prev_pose"] = self.state["pose"] self.state["pose"] = self.car_state.kinematics_estimated - self.state["collision"] = collision + self.state["collision"] = self.car.simGetCollisionInfo().has_collided return image def _compute_reward(self): MAX_SPEED = 300 MIN_SPEED = 10 - thresh_dist = 3.5 - beta = 3 + THRESH_DIST = 3.5 + BETA = 3 - z = 0 pts = [ - np.array([0, -1, z]), - np.array([130, -1, z]), - np.array([130, 125, z]), - np.array([0, 125, z]), - np.array([0, -1, z]), - np.array([130, -1, z]), - np.array([130, -128, z]), - np.array([0, -128, z]), - np.array([0, -1, z]), + np.array([x, y, 0]) + for x, y in [ + (0, -1), (130, -1), (130, 125), (0, 125), + (0, -1), (130, -1), (130, -128), (0, -128), + (0, -1), + ] ] - pd = self.state["pose"].position - car_pt = np.array([pd.x_val, pd.y_val, pd.z_val]) + car_pt = self.state["pose"].position.to_numpy_array() dist = 10000000 for i in range(0, len(pts) - 1): dist = min( dist, - np.linalg.norm(np.cross((car_pt - pts[i]), (car_pt - pts[i + 1]))) + np.linalg.norm( + np.cross((car_pt - pts[i]), (car_pt - pts[i + 1])) + ) / np.linalg.norm(pts[i] - pts[i + 1]), ) # print(dist) - if dist > thresh_dist: + if dist > THRESH_DIST: reward = -3 else: - reward_dist = math.exp(-beta * dist) - 0.5 + reward_dist = math.exp(-BETA * dist) - 0.5 reward_speed = ( (self.car_state.speed - MIN_SPEED) / (MAX_SPEED - MIN_SPEED) ) - 0.5 From 3979e6a9faac1cd904151041c36bc8c887374dea Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Fri, 4 Jun 2021 20:26:59 +0200 Subject: [PATCH 10/54] apply style from clang-format --- .clang-format | 56 + AirLib/include/common/AirSimSettings.hpp | 2267 +++++++++-------- .../AirsimWrapper/Source/PInvokeWrapper.cpp | 121 +- .../AirsimWrapper/Source/PInvokeWrapper.h | 86 +- .../AirsimWrapper/Source/SimHUD/SimHUD.cpp | 142 +- .../AirsimWrapper/Source/SimHUD/SimHUD.h | 46 +- .../Source/SimMode/SimModeBase.cpp | 266 +- .../Source/SimMode/SimModeBase.h | 110 +- .../Source/SimMode/SimModeWorldBase.cpp | 120 +- .../Source/SimMode/SimModeWorldBase.h | 50 +- .../Source/UnityToAirSimCalls.cpp | 4 +- .../AirsimWrapper/Source/UnityToAirSimCalls.h | 56 +- .../Source/Vehicles/Car/CarPawnSimApi.cpp | 237 +- .../Source/Vehicles/Car/SimModeCar.cpp | 76 +- .../Source/Vehicles/Car/SimModeCar.h | 50 +- .../Multirotor/SimModeWorldMultiRotor.cpp | 124 +- .../Multirotor/SimModeWorldMultiRotor.h | 26 +- .../AirsimWrapper/Source/WorldSimApi.cpp | 101 +- .../AirsimWrapper/Source/WorldSimApi.h | 32 +- 19 files changed, 2020 insertions(+), 1950 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000..74f44951ab --- /dev/null +++ b/.clang-format @@ -0,0 +1,56 @@ +--- +# clang-format documentation +# http://clang.llvm.org/docs/ClangFormat.html +# http://clang.llvm.org/docs/ClangFormatStyleOptions.html + +# Preexisting formats: +# LLVM +# Google +# Chromium +# Mozilla +# WebKit + +Language: Cpp +BasedOnStyle: Mozilla + +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignTrailingComments: false +AllowShortBlocksOnASingleLine: false +AllowShortFunctionsOnASingleLine: Inline +AllowShortIfStatementsOnASingleLine: true +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +BinPackArguments: false +BinPackParameters: true +BreakBeforeBraces: Custom +BraceWrapping: + AfterClass: true + AfterControlStatement: false + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: true + BeforeCatch: true + BeforeElse: true + IndentBraces: false +ContinuationIndentWidth: 4 +ConstructorInitializerIndentWidth: 4 +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ColumnLimit: 0 +Cpp11BracedListStyle: false +IndentWidth: 4 +IndentCaseLabels: false +# KeepEmptyLinesAtTheStartOfBlocks: false +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: Inner +ReflowComments: false +PenaltyBreakBeforeFirstCallParameter: 100000 +PenaltyBreakComment: 100000 +SortIncludes: false +SpaceAfterTemplateKeyword: true +# Standard: Cpp11 # Broken +UseTab: Never +... diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index cee9bebdd3..22b9991aa5 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -15,1317 +15,1338 @@ #include "ImageCaptureBase.hpp" #include "sensors/SensorBase.hpp" -namespace msr { namespace airlib { - -struct AirSimSettings { -private: - typedef common_utils::Utils Utils; - typedef ImageCaptureBase::ImageType ImageType; - -public: //types - static constexpr int kSubwindowCount = 3; //must be >= 3 for now - static constexpr char const * kVehicleTypePX4 = "px4multirotor"; - static constexpr char const * kVehicleTypeArduCopterSolo = "arducoptersolo"; - static constexpr char const * kVehicleTypeSimpleFlight = "simpleflight"; - static constexpr char const * kVehicleTypeArduCopter = "arducopter"; - static constexpr char const * kVehicleTypePhysXCar = "physxcar"; - static constexpr char const * kVehicleTypeArduRover = "ardurover"; - static constexpr char const * kVehicleTypeComputerVision = "computervision"; - - static constexpr char const * kVehicleInertialFrame = "VehicleInertialFrame"; - static constexpr char const * kSensorLocalFrame = "SensorLocalFrame"; - - struct SubwindowSetting { - int window_index; - ImageType image_type; - bool visible; - std::string camera_name; - std::string vehicle_name; - - SubwindowSetting(int window_index_val = 0, ImageType image_type_val = ImageType::Scene, - bool visible_val = false, const std::string& camera_name_val = "", const std::string& vehicle_name_val = "") - : window_index(window_index_val), image_type(image_type_val), - visible(visible_val), camera_name(camera_name_val), vehicle_name(vehicle_name_val) - { - } - }; +namespace msr +{ +namespace airlib +{ - struct RecordingSetting { - bool record_on_move; - float record_interval; - - std::vector requests; - - RecordingSetting(bool record_on_move_val = false, float record_interval_val = 0.05f) - : record_on_move(record_on_move_val), record_interval(record_interval_val) + struct AirSimSettings + { + private: + typedef common_utils::Utils Utils; + typedef ImageCaptureBase::ImageType ImageType; + + public: //types + static constexpr int kSubwindowCount = 3; //must be >= 3 for now + static constexpr char const* kVehicleTypePX4 = "px4multirotor"; + static constexpr char const* kVehicleTypeArduCopterSolo = "arducoptersolo"; + static constexpr char const* kVehicleTypeSimpleFlight = "simpleflight"; + static constexpr char const* kVehicleTypeArduCopter = "arducopter"; + static constexpr char const* kVehicleTypePhysXCar = "physxcar"; + static constexpr char const* kVehicleTypeArduRover = "ardurover"; + static constexpr char const* kVehicleTypeComputerVision = "computervision"; + + static constexpr char const* kVehicleInertialFrame = "VehicleInertialFrame"; + static constexpr char const* kSensorLocalFrame = "SensorLocalFrame"; + + struct SubwindowSetting { - } - }; - - struct PawnPath { - std::string pawn_bp; - std::string slippery_mat; - std::string non_slippery_mat; + int window_index; + ImageType image_type; + bool visible; + std::string camera_name; + std::string vehicle_name; + + SubwindowSetting(int window_index_val = 0, ImageType image_type_val = ImageType::Scene, + bool visible_val = false, const std::string& camera_name_val = "", const std::string& vehicle_name_val = "") + : window_index(window_index_val), image_type(image_type_val), visible(visible_val), camera_name(camera_name_val), vehicle_name(vehicle_name_val) + { + } + }; - PawnPath(const std::string& pawn_bp_val = "", - const std::string& slippery_mat_val = "/AirSim/VehicleAdv/PhysicsMaterials/Slippery.Slippery", - const std::string& non_slippery_mat_val = "/AirSim/VehicleAdv/PhysicsMaterials/NonSlippery.NonSlippery") - : pawn_bp(pawn_bp_val), slippery_mat(slippery_mat_val), non_slippery_mat(non_slippery_mat_val) + struct RecordingSetting { - } - }; + bool record_on_move; + float record_interval; - struct RCSettings { - int remote_control_id = -1; - bool allow_api_when_disconnected = false; - }; + std::vector requests; - struct Rotation { - float yaw = 0; - float pitch = 0; - float roll = 0; + RecordingSetting(bool record_on_move_val = false, float record_interval_val = 0.05f) + : record_on_move(record_on_move_val), record_interval(record_interval_val) + { + } + }; - Rotation() + struct PawnPath { - } + std::string pawn_bp; + std::string slippery_mat; + std::string non_slippery_mat; + + PawnPath(const std::string& pawn_bp_val = "", + const std::string& slippery_mat_val = "/AirSim/VehicleAdv/PhysicsMaterials/Slippery.Slippery", + const std::string& non_slippery_mat_val = "/AirSim/VehicleAdv/PhysicsMaterials/NonSlippery.NonSlippery") + : pawn_bp(pawn_bp_val), slippery_mat(slippery_mat_val), non_slippery_mat(non_slippery_mat_val) + { + } + }; - Rotation(float yaw_val, float pitch_val, float roll_val) - : yaw(yaw_val), pitch(pitch_val), roll(roll_val) + struct RCSettings { - } + int remote_control_id = -1; + bool allow_api_when_disconnected = false; + }; - static Rotation nanRotation() + struct Rotation { - static const Rotation val(Utils::nan(), Utils::nan(), Utils::nan()); - return val; - } - }; - - - struct GimbalSetting { - float stabilization = 0; - //bool is_world_frame = false; - Rotation rotation = Rotation::nanRotation(); - }; - - struct CaptureSetting { - //below settings_json are obtained by using Unreal console command (press ~): - // ShowFlag.VisualizeHDR 1. - //to replicate camera settings_json to SceneCapture2D - //TODO: should we use UAirBlueprintLib::GetDisplayGamma()? - typedef msr::airlib::Utils Utils; - static constexpr float kSceneTargetGamma = 1.4f; - - int image_type = 0; - - unsigned int width = 256, height = 144; //960 X 540 - float fov_degrees = Utils::nan(); //90.0f - int auto_exposure_method = -1; //histogram - float auto_exposure_speed = Utils::nan(); // 100.0f; - float auto_exposure_bias = Utils::nan(); // 0; - float auto_exposure_max_brightness = Utils::nan(); // 0.64f; - float auto_exposure_min_brightness = Utils::nan(); // 0.03f; - float auto_exposure_low_percent = Utils::nan(); // 80.0f; - float auto_exposure_high_percent = Utils::nan(); // 98.3f; - float auto_exposure_histogram_log_min = Utils::nan(); // -8; - float auto_exposure_histogram_log_max = Utils::nan(); // 4; - float motion_blur_amount = Utils::nan(); - float target_gamma = Utils::nan(); //1.0f; //This would be reset to kSceneTargetGamma for scene as default - int projection_mode = 0; // ECameraProjectionMode::Perspective - float ortho_width = Utils::nan(); - }; + float yaw = 0; + float pitch = 0; + float roll = 0; - struct NoiseSetting { - int ImageType = 0; - - bool Enabled = false; - - float RandContrib = 0.2f; - float RandSpeed = 100000.0f; - float RandSize = 500.0f; - float RandDensity = 2.0f; - - float HorzWaveContrib = 0.03f; - float HorzWaveStrength = 0.08f; - float HorzWaveVertSize = 1.0f; - float HorzWaveScreenSize = 1.0f; - - float HorzNoiseLinesContrib = 1.0f; - float HorzNoiseLinesDensityY = 0.01f; - float HorzNoiseLinesDensityXY = 0.5f; - - float HorzDistortionContrib = 1.0f; - float HorzDistortionStrength = 0.002f; - }; + Rotation() + { + } - struct CameraSetting { - //nan means keep the default values set in components - Vector3r position = VectorMath::nanVector(); - Rotation rotation = Rotation::nanRotation(); + Rotation(float yaw_val, float pitch_val, float roll_val) + : yaw(yaw_val), pitch(pitch_val), roll(roll_val) + { + } - GimbalSetting gimbal; - std::map capture_settings; - std::map noise_settings; + static Rotation nanRotation() + { + static const Rotation val(Utils::nan(), Utils::nan(), Utils::nan()); + return val; + } + }; - CameraSetting() + struct GimbalSetting { - initializeCaptureSettings(capture_settings); - initializeNoiseSettings(noise_settings); - } - }; - - struct CameraDirectorSetting { - Vector3r position = VectorMath::nanVector(); - Rotation rotation = Rotation::nanRotation(); - float follow_distance = Utils::nan(); - }; + float stabilization = 0; + //bool is_world_frame = false; + Rotation rotation = Rotation::nanRotation(); + }; - struct SensorSetting { - SensorBase::SensorType sensor_type; - std::string sensor_name; - bool enabled; - }; + struct CaptureSetting + { + //below settings_json are obtained by using Unreal console command (press ~): + // ShowFlag.VisualizeHDR 1. + //to replicate camera settings_json to SceneCapture2D + //TODO: should we use UAirBlueprintLib::GetDisplayGamma()? + typedef msr::airlib::Utils Utils; + static constexpr float kSceneTargetGamma = 1.4f; + + int image_type = 0; + + unsigned int width = 256, height = 144; //960 X 540 + float fov_degrees = Utils::nan(); //90.0f + int auto_exposure_method = -1; //histogram + float auto_exposure_speed = Utils::nan(); // 100.0f; + float auto_exposure_bias = Utils::nan(); // 0; + float auto_exposure_max_brightness = Utils::nan(); // 0.64f; + float auto_exposure_min_brightness = Utils::nan(); // 0.03f; + float auto_exposure_low_percent = Utils::nan(); // 80.0f; + float auto_exposure_high_percent = Utils::nan(); // 98.3f; + float auto_exposure_histogram_log_min = Utils::nan(); // -8; + float auto_exposure_histogram_log_max = Utils::nan(); // 4; + float motion_blur_amount = Utils::nan(); + float target_gamma = Utils::nan(); //1.0f; //This would be reset to kSceneTargetGamma for scene as default + int projection_mode = 0; // ECameraProjectionMode::Perspective + float ortho_width = Utils::nan(); + }; - struct BarometerSetting : SensorSetting { - }; + struct NoiseSetting + { + int ImageType = 0; - struct ImuSetting : SensorSetting { - }; + bool Enabled = false; - struct GpsSetting : SensorSetting { - }; + float RandContrib = 0.2f; + float RandSpeed = 100000.0f; + float RandSize = 500.0f; + float RandDensity = 2.0f; - struct MagnetometerSetting : SensorSetting { - }; + float HorzWaveContrib = 0.03f; + float HorzWaveStrength = 0.08f; + float HorzWaveVertSize = 1.0f; + float HorzWaveScreenSize = 1.0f; - struct DistanceSetting : SensorSetting { - // shared defaults - real_T min_distance = 20.0f / 100; //m - real_T max_distance = 4000.0f / 100; //m - Vector3r position = VectorMath::nanVector(); - Rotation rotation = Rotation::nanRotation(); - bool draw_debug_points = false; - }; + float HorzNoiseLinesContrib = 1.0f; + float HorzNoiseLinesDensityY = 0.01f; + float HorzNoiseLinesDensityXY = 0.5f; - struct LidarSetting : SensorSetting { + float HorzDistortionContrib = 1.0f; + float HorzDistortionStrength = 0.002f; + }; - // shared defaults - uint number_of_channels = 16; - real_T range = 10000.0f / 100; // meters - uint points_per_second = 100000; - uint horizontal_rotation_frequency = 10; // rotations/sec - float horizontal_FOV_start = 0; // degrees - float horizontal_FOV_end = 359; // degrees + struct CameraSetting + { + //nan means keep the default values set in components + Vector3r position = VectorMath::nanVector(); + Rotation rotation = Rotation::nanRotation(); - // defaults specific to a mode - float vertical_FOV_upper = Utils::nan(); // drones -15, car +10 - float vertical_FOV_lower = Utils::nan(); // drones -45, car -10 - Vector3r position = VectorMath::nanVector(); - Rotation rotation = Rotation::nanRotation(); + GimbalSetting gimbal; + std::map capture_settings; + std::map noise_settings; - bool draw_debug_points = false; - std::string data_frame = AirSimSettings::kVehicleInertialFrame; - }; + CameraSetting() + { + initializeCaptureSettings(capture_settings); + initializeNoiseSettings(noise_settings); + } + }; - struct VehicleSetting { - //required - std::string vehicle_name; - std::string vehicle_type; - - //optional - std::string default_vehicle_state; - std::string pawn_path; - bool allow_api_always = true; - bool auto_create = true; - bool enable_collision_passthrough = false; - bool enable_trace = false; - bool enable_collisions = true; - bool is_fpv_vehicle = false; - - //nan means use player start - Vector3r position = VectorMath::nanVector(); //in global NED - Rotation rotation = Rotation::nanRotation(); - - std::map cameras; - std::map> sensors; - - RCSettings rc; - }; + struct CameraDirectorSetting + { + Vector3r position = VectorMath::nanVector(); + Rotation rotation = Rotation::nanRotation(); + float follow_distance = Utils::nan(); + }; - struct MavLinkConnectionInfo { - /* Default values are requires so uninitialized instance doesn't have random values */ + struct SensorSetting + { + SensorBase::SensorType sensor_type; + std::string sensor_name; + bool enabled; + }; - bool use_serial = true; // false means use UDP or TCP instead + struct BarometerSetting : SensorSetting + { + }; - //Used to connect via HITL: needed only if use_serial = true - std::string serial_port = "*"; - int baud_rate = 115200; + struct ImuSetting : SensorSetting + { + }; - // Used to connect to drone over UDP: needed only if use_serial = false and use_tcp == false - std::string udp_address = "127.0.0.1"; - int udp_port = 14560; + struct GpsSetting : SensorSetting + { + }; - // Used to accept connections from drone over TCP: needed only if use_tcp = true - bool use_tcp = false; - int tcp_port = 4560; + struct MagnetometerSetting : SensorSetting + { + }; - // The PX4 SITL app requires receiving drone commands over a different mavlink channel called - // the "ground control station" channel. - // So set this to empty string to disable this separate command channel. - std::string control_ip_address = "127.0.0.1"; - int control_port = 14580; + struct DistanceSetting : SensorSetting + { + // shared defaults + real_T min_distance = 20.0f / 100; //m + real_T max_distance = 4000.0f / 100; //m + Vector3r position = VectorMath::nanVector(); + Rotation rotation = Rotation::nanRotation(); + bool draw_debug_points = false; + }; - // The log viewer can be on a different machine, so you can configure it's ip address and port here. - int logviewer_ip_port = 14388; - int logviewer_ip_sport = 14389; // for logging all messages we send to the vehicle. - std::string logviewer_ip_address = ""; + struct LidarSetting : SensorSetting + { - // The QGroundControl app can be on a different machine, and AirSim can act as a proxy to forward - // the mavlink stream over to that machine if you configure it's ip address and port here. - int qgc_ip_port = 0; - std::string qgc_ip_address = ""; + // shared defaults + uint number_of_channels = 16; + real_T range = 10000.0f / 100; // meters + uint points_per_second = 100000; + uint horizontal_rotation_frequency = 10; // rotations/sec + float horizontal_FOV_start = 0; // degrees + float horizontal_FOV_end = 359; // degrees + + // defaults specific to a mode + float vertical_FOV_upper = Utils::nan(); // drones -15, car +10 + float vertical_FOV_lower = Utils::nan(); // drones -45, car -10 + Vector3r position = VectorMath::nanVector(); + Rotation rotation = Rotation::nanRotation(); + + bool draw_debug_points = false; + std::string data_frame = AirSimSettings::kVehicleInertialFrame; + }; - // mavlink vehicle identifiers - uint8_t sim_sysid = 142; - int sim_compid = 42; - uint8_t offboard_sysid = 134; - int offboard_compid = 1; - uint8_t vehicle_sysid = 135; - int vehicle_compid = 1; + struct VehicleSetting + { + //required + std::string vehicle_name; + std::string vehicle_type; + + //optional + std::string default_vehicle_state; + std::string pawn_path; + bool allow_api_always = true; + bool auto_create = true; + bool enable_collision_passthrough = false; + bool enable_trace = false; + bool enable_collisions = true; + bool is_fpv_vehicle = false; + + //nan means use player start + Vector3r position = VectorMath::nanVector(); //in global NED + Rotation rotation = Rotation::nanRotation(); + + std::map cameras; + std::map> sensors; + + RCSettings rc; + }; - // if you want to select a specific local network adapter so you can reach certain remote machines (e.g. wifi versus ethernet) - // then you will want to change the LocalHostIp accordingly. This default only works when log viewer and QGC are also on the - // same machine. Whatever network you choose it has to be the same one for external - std::string local_host_ip = "127.0.0.1"; + struct MavLinkConnectionInfo + { + /* Default values are requires so uninitialized instance doesn't have random values */ + + bool use_serial = true; // false means use UDP or TCP instead + + //Used to connect via HITL: needed only if use_serial = true + std::string serial_port = "*"; + int baud_rate = 115200; + + // Used to connect to drone over UDP: needed only if use_serial = false and use_tcp == false + std::string udp_address = "127.0.0.1"; + int udp_port = 14560; + + // Used to accept connections from drone over TCP: needed only if use_tcp = true + bool use_tcp = false; + int tcp_port = 4560; + + // The PX4 SITL app requires receiving drone commands over a different mavlink channel called + // the "ground control station" channel. + // So set this to empty string to disable this separate command channel. + std::string control_ip_address = "127.0.0.1"; + int control_port = 14580; + + // The log viewer can be on a different machine, so you can configure it's ip address and port here. + int logviewer_ip_port = 14388; + int logviewer_ip_sport = 14389; // for logging all messages we send to the vehicle. + std::string logviewer_ip_address = ""; + + // The QGroundControl app can be on a different machine, and AirSim can act as a proxy to forward + // the mavlink stream over to that machine if you configure it's ip address and port here. + int qgc_ip_port = 0; + std::string qgc_ip_address = ""; + + // mavlink vehicle identifiers + uint8_t sim_sysid = 142; + int sim_compid = 42; + uint8_t offboard_sysid = 134; + int offboard_compid = 1; + uint8_t vehicle_sysid = 135; + int vehicle_compid = 1; + + // if you want to select a specific local network adapter so you can reach certain remote machines (e.g. wifi versus ethernet) + // then you will want to change the LocalHostIp accordingly. This default only works when log viewer and QGC are also on the + // same machine. Whatever network you choose it has to be the same one for external + std::string local_host_ip = "127.0.0.1"; + + std::string model = "Generic"; + + std::map params; + }; - std::string model = "Generic"; + struct MavLinkVehicleSetting : public VehicleSetting + { + MavLinkConnectionInfo connection_info; + }; - std::map params; - }; + struct SegmentationSetting + { + enum class InitMethodType + { + None, + CommonObjectsRandomIDs + }; - struct MavLinkVehicleSetting : public VehicleSetting { - MavLinkConnectionInfo connection_info; - }; + enum class MeshNamingMethodType + { + OwnerName, + StaticMeshName + }; - struct SegmentationSetting { - enum class InitMethodType { - None, CommonObjectsRandomIDs + InitMethodType init_method = InitMethodType::CommonObjectsRandomIDs; + bool override_existing = false; + MeshNamingMethodType mesh_naming_method = MeshNamingMethodType::OwnerName; }; - enum class MeshNamingMethodType { - OwnerName, StaticMeshName + struct TimeOfDaySetting + { + bool enabled = false; + std::string start_datetime = ""; //format: %Y-%m-%d %H:%M:%S + bool is_start_datetime_dst = false; + float celestial_clock_speed = 1; + float update_interval_secs = 60; + bool move_sun = true; }; - InitMethodType init_method = InitMethodType::CommonObjectsRandomIDs; - bool override_existing = false; - MeshNamingMethodType mesh_naming_method = MeshNamingMethodType::OwnerName; - }; + private: //fields + float settings_version_actual; + float settings_version_minimum = 1.2f; + + public: //fields + std::string simmode_name = ""; + std::string level_name = ""; + + std::vector subwindow_settings; + RecordingSetting recording_setting; + SegmentationSetting segmentation_setting; + TimeOfDaySetting tod_setting; + + std::vector warning_messages; + std::vector error_messages; + + bool is_record_ui_visible = false; + int initial_view_mode = 2; //ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FLY_WITH_ME + bool enable_rpc = true; + std::string api_server_address = ""; + int api_port = RpcLibPort; + std::string physics_engine_name = ""; + + std::string clock_type = ""; + float clock_speed = 1.0f; + bool engine_sound = false; + bool log_messages_visible = true; + HomeGeoPoint origin_geopoint{ GeoPoint(47.641468, -122.140165, 122) }; //The geo-coordinate assigned to Unreal coordinate 0,0,0 + std::map pawn_paths; //path for pawn blueprint + std::map> vehicles; + CameraSetting camera_defaults; + CameraDirectorSetting camera_director; + float speed_unit_factor = 1.0f; + std::string speed_unit_label = "m\\s"; + std::map> sensor_defaults; + Vector3r wind = Vector3r::Zero(); + + public: //methods + static AirSimSettings& singleton() + { + static AirSimSettings instance; + return instance; + } - struct TimeOfDaySetting { - bool enabled = false; - std::string start_datetime = ""; //format: %Y-%m-%d %H:%M:%S - bool is_start_datetime_dst = false; - float celestial_clock_speed = 1; - float update_interval_secs = 60; - bool move_sun = true; - }; + AirSimSettings() + { + initializeSubwindowSettings(subwindow_settings); + initializePawnPaths(pawn_paths); + //initializeVehicleSettings(vehicles); + } -private: //fields - float settings_version_actual; - float settings_version_minimum = 1.2f; - -public: //fields - std::string simmode_name = ""; - std::string level_name = ""; - - std::vector subwindow_settings; - RecordingSetting recording_setting; - SegmentationSetting segmentation_setting; - TimeOfDaySetting tod_setting; - - std::vector warning_messages; - std::vector error_messages; - - bool is_record_ui_visible = false; - int initial_view_mode = 2; //ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FLY_WITH_ME - bool enable_rpc = true; - std::string api_server_address = ""; - int api_port = RpcLibPort; - std::string physics_engine_name = ""; - - std::string clock_type = ""; - float clock_speed = 1.0f; - bool engine_sound = false; - bool log_messages_visible = true; - HomeGeoPoint origin_geopoint{ GeoPoint(47.641468, -122.140165, 122) }; //The geo-coordinate assigned to Unreal coordinate 0,0,0 - std::map pawn_paths; //path for pawn blueprint - std::map> vehicles; - CameraSetting camera_defaults; - CameraDirectorSetting camera_director; - float speed_unit_factor = 1.0f; - std::string speed_unit_label = "m\\s"; - std::map> sensor_defaults; - Vector3r wind = Vector3r::Zero(); - -public: //methods - static AirSimSettings& singleton() - { - static AirSimSettings instance; - return instance; - } + //returns number of warnings + void load(std::function simmode_getter) + { + warning_messages.clear(); + error_messages.clear(); + const Settings& settings_json = Settings::singleton(); + checkSettingsVersion(settings_json); + + loadCoreSimModeSettings(settings_json, simmode_getter); + loadLevelSettings(settings_json); + loadDefaultCameraSetting(settings_json, camera_defaults); + loadCameraDirectorSetting(settings_json, camera_director, simmode_name); + loadSubWindowsSettings(settings_json, subwindow_settings); + loadViewModeSettings(settings_json); + loadRecordingSetting(settings_json, recording_setting); + loadSegmentationSetting(settings_json, segmentation_setting); + loadPawnPaths(settings_json, pawn_paths); + loadOtherSettings(settings_json); + loadDefaultSensorSettings(simmode_name, settings_json, sensor_defaults); + loadVehicleSettings(simmode_name, settings_json, vehicles); + + //this should be done last because it depends on type of vehicles we have + loadClockSettings(settings_json); + } - AirSimSettings() - { - initializeSubwindowSettings(subwindow_settings); - initializePawnPaths(pawn_paths); - //initializeVehicleSettings(vehicles); - } + static void initializeSettings(const std::string& json_settings_text) + { + Settings& settings_json = Settings::loadJSonString(json_settings_text); + if (!settings_json.isLoadSuccess()) + throw std::invalid_argument("Cannot parse JSON settings_json string."); + } - //returns number of warnings - void load(std::function simmode_getter) - { - warning_messages.clear(); - error_messages.clear(); - const Settings& settings_json = Settings::singleton(); - checkSettingsVersion(settings_json); - - loadCoreSimModeSettings(settings_json, simmode_getter); - loadLevelSettings(settings_json); - loadDefaultCameraSetting(settings_json, camera_defaults); - loadCameraDirectorSetting(settings_json, camera_director, simmode_name); - loadSubWindowsSettings(settings_json, subwindow_settings); - loadViewModeSettings(settings_json); - loadRecordingSetting(settings_json, recording_setting); - loadSegmentationSetting(settings_json, segmentation_setting); - loadPawnPaths(settings_json, pawn_paths); - loadOtherSettings(settings_json); - loadDefaultSensorSettings(simmode_name, settings_json, sensor_defaults); - loadVehicleSettings(simmode_name, settings_json, vehicles); - - //this should be done last because it depends on type of vehicles we have - loadClockSettings(settings_json); - } - - static void initializeSettings(const std::string& json_settings_text) - { - Settings& settings_json = Settings::loadJSonString(json_settings_text); - if (! settings_json.isLoadSuccess()) - throw std::invalid_argument("Cannot parse JSON settings_json string."); - } + static void createDefaultSettingsFile() + { + std::string settings_filename = Settings::getUserDirectoryFullPath("settings.json"); + Settings& settings_json = Settings::loadJSonString("{}"); + //write some settings_json in new file otherwise the string "null" is written if all settings_json are empty + settings_json.setString("SeeDocsAt", "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md"); + settings_json.setDouble("SettingsVersion", 1.2); + + //TODO: there is a crash in Linux due to settings_json.saveJSonString(). Remove this workaround after we only support Unreal 4.17 + //https://answers.unrealengine.com/questions/664905/unreal-crashes-on-two-lines-of-extremely-simple-st.html + settings_json.saveJSonFile(settings_filename); + } - static void createDefaultSettingsFile() - { - std::string settings_filename = Settings::getUserDirectoryFullPath("settings.json"); - Settings& settings_json = Settings::loadJSonString("{}"); - //write some settings_json in new file otherwise the string "null" is written if all settings_json are empty - settings_json.setString("SeeDocsAt", "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md"); - settings_json.setDouble("SettingsVersion", 1.2); - - //TODO: there is a crash in Linux due to settings_json.saveJSonString(). Remove this workaround after we only support Unreal 4.17 - //https://answers.unrealengine.com/questions/664905/unreal-crashes-on-two-lines-of-extremely-simple-st.html - settings_json.saveJSonFile(settings_filename); - } - - const VehicleSetting* getVehicleSetting(const std::string& vehicle_name) const - { - auto it = vehicles.find(vehicle_name); - if (it == vehicles.end()) - throw std::invalid_argument(Utils::stringf("VehicleSetting for vehicle name %s was requested but not found", - vehicle_name.c_str()).c_str()); - else - return it->second.get(); - } - -private: - void checkSettingsVersion(const Settings& settings_json) - { - bool has_default_settings = hasDefaultSettings(settings_json, settings_version_actual); - bool upgrade_required = settings_version_actual < settings_version_minimum; - if (upgrade_required) { - bool auto_upgrade = false; - - //if we have default setting file not modified by user then we will - //just auto-upgrade it - if (has_default_settings) { - auto_upgrade = true; - } - else { - //check if auto-upgrade is possible - if (settings_version_actual == 1) { - const std::vector all_changed_keys = { - "AdditionalCameras", "CaptureSettings", "NoiseSettings", - "UsageScenario", "SimpleFlight", "PX4" - }; - std::stringstream detected_keys_ss; - for (const auto& changed_key : all_changed_keys) { - if (settings_json.hasKey(changed_key)) - detected_keys_ss << changed_key << ","; - } - std::string detected_keys = detected_keys_ss.str(); - if (detected_keys.length()) { - std::string error_message = - "You are using newer version of AirSim with older version of settings.json. " - "You can either delete your settings.json and restart AirSim or use the upgrade " - "instructions at https://git.io/vjefh. \n\n" - "Following keys in your settings.json needs updating: " - ; - - error_messages.push_back(error_message + detected_keys); + const VehicleSetting* getVehicleSetting(const std::string& vehicle_name) const + { + auto it = vehicles.find(vehicle_name); + if (it == vehicles.end()) + throw std::invalid_argument(Utils::stringf("VehicleSetting for vehicle name %s was requested but not found", + vehicle_name.c_str()) + .c_str()); + else + return it->second.get(); + } + + private: + void checkSettingsVersion(const Settings& settings_json) + { + bool has_default_settings = hasDefaultSettings(settings_json, settings_version_actual); + bool upgrade_required = settings_version_actual < settings_version_minimum; + if (upgrade_required) { + bool auto_upgrade = false; + + //if we have default setting file not modified by user then we will + //just auto-upgrade it + if (has_default_settings) { + auto_upgrade = true; + } + else { + //check if auto-upgrade is possible + if (settings_version_actual == 1) { + const std::vector all_changed_keys = { + "AdditionalCameras", "CaptureSettings", "NoiseSettings", "UsageScenario", "SimpleFlight", "PX4" + }; + std::stringstream detected_keys_ss; + for (const auto& changed_key : all_changed_keys) { + if (settings_json.hasKey(changed_key)) + detected_keys_ss << changed_key << ","; + } + std::string detected_keys = detected_keys_ss.str(); + if (detected_keys.length()) { + std::string error_message = + "You are using newer version of AirSim with older version of settings.json. " + "You can either delete your settings.json and restart AirSim or use the upgrade " + "instructions at https://git.io/vjefh. \n\n" + "Following keys in your settings.json needs updating: "; + + error_messages.push_back(error_message + detected_keys); + } + else + auto_upgrade = true; } else auto_upgrade = true; } - else - auto_upgrade = true; - } - if (auto_upgrade) { - warning_messages.push_back( - "You are using newer version of AirSim with older version of settings.json. " - "You should delete your settings.json file and restart AirSim."); + if (auto_upgrade) { + warning_messages.push_back( + "You are using newer version of AirSim with older version of settings.json. " + "You should delete your settings.json file and restart AirSim."); + } } + //else no action necessary } - //else no action necessary - } - bool hasDefaultSettings(const Settings& settings_json, float& version) - { - //if empty settings file - bool has_default = settings_json.size() == 0; + bool hasDefaultSettings(const Settings& settings_json, float& version) + { + //if empty settings file + bool has_default = settings_json.size() == 0; + + bool has_docs = settings_json.getString("SeeDocsAt", "") != "" || settings_json.getString("see_docs_at", "") != ""; + //we had spelling mistake so we are currently supporting SettingsVersion or SettingdVersion :( + version = settings_json.getFloat("SettingsVersion", settings_json.getFloat("SettingdVersion", 0)); - bool has_docs = settings_json.getString("SeeDocsAt", "") != "" - || settings_json.getString("see_docs_at", "") != ""; - //we had spelling mistake so we are currently supporting SettingsVersion or SettingdVersion :( - version = settings_json.getFloat("SettingsVersion", settings_json.getFloat("SettingdVersion", 0)); + //If we have pre-V1 settings and only element is docs link + has_default |= settings_json.size() == 1 && has_docs; - //If we have pre-V1 settings and only element is docs link - has_default |= settings_json.size() == 1 && has_docs; + //if we have V1 settings and only elements are docs link and version + has_default |= settings_json.size() == 2 && has_docs && version > 0; - //if we have V1 settings and only elements are docs link and version - has_default |= settings_json.size() == 2 && has_docs && version > 0; + return has_default; + } - return has_default; - } + void loadCoreSimModeSettings(const Settings& settings_json, std::function simmode_getter) + { + //get the simmode from user if not specified + simmode_name = settings_json.getString("SimMode", ""); + if (simmode_name == "") { + if (simmode_getter) + simmode_name = simmode_getter(); + else + throw std::invalid_argument("simmode_name is not expected empty in SimModeBase"); + } - void loadCoreSimModeSettings(const Settings& settings_json, std::function simmode_getter) - { - //get the simmode from user if not specified - simmode_name = settings_json.getString("SimMode", ""); - if (simmode_name == "") { - if (simmode_getter) - simmode_name = simmode_getter(); - else - throw std::invalid_argument("simmode_name is not expected empty in SimModeBase"); + physics_engine_name = settings_json.getString("PhysicsEngineName", ""); + if (physics_engine_name == "") { + if (simmode_name == "Multirotor") + physics_engine_name = "FastPhysicsEngine"; + else + physics_engine_name = "PhysX"; //this value is only informational for now + } } - physics_engine_name = settings_json.getString("PhysicsEngineName", ""); - if (physics_engine_name == "") { - if (simmode_name == "Multirotor") - physics_engine_name = "FastPhysicsEngine"; - else - physics_engine_name = "PhysX"; //this value is only informational for now + void loadLevelSettings(const Settings& settings_json) + { + level_name = settings_json.getString("Default Environment", ""); } - } - - void loadLevelSettings(const Settings& settings_json) - { - level_name = settings_json.getString("Default Environment", ""); - } - void loadViewModeSettings(const Settings& settings_json) - { - std::string view_mode_string = settings_json.getString("ViewMode", ""); + void loadViewModeSettings(const Settings& settings_json) + { + std::string view_mode_string = settings_json.getString("ViewMode", ""); + + if (view_mode_string == "") { + if (simmode_name == "Multirotor") + view_mode_string = "FlyWithMe"; + else if (simmode_name == "ComputerVision") + view_mode_string = "Fpv"; + else + view_mode_string = "SpringArmChase"; + } - if (view_mode_string == "") { - if (simmode_name == "Multirotor") - view_mode_string = "FlyWithMe"; - else if (simmode_name == "ComputerVision") - view_mode_string = "Fpv"; + if (view_mode_string == "Fpv") + initial_view_mode = 0; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FPV; + else if (view_mode_string == "GroundObserver") + initial_view_mode = 1; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_GROUND_OBSERVER; + else if (view_mode_string == "FlyWithMe") + initial_view_mode = 2; //ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FLY_WITH_ME; + else if (view_mode_string == "Manual") + initial_view_mode = 3; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_MANUAL; + else if (view_mode_string == "SpringArmChase") + initial_view_mode = 4; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_SPRINGARM_CHASE; + else if (view_mode_string == "Backup") + initial_view_mode = 5; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_BACKUP; + else if (view_mode_string == "NoDisplay") + initial_view_mode = 6; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_NODISPLAY; + else if (view_mode_string == "Front") + initial_view_mode = 7; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_FRONT; else - view_mode_string = "SpringArmChase"; + error_messages.push_back("ViewMode setting is not recognized: " + view_mode_string); } - if (view_mode_string == "Fpv") - initial_view_mode = 0; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FPV; - else if (view_mode_string == "GroundObserver") - initial_view_mode = 1; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_GROUND_OBSERVER; - else if (view_mode_string == "FlyWithMe") - initial_view_mode = 2; //ECameraDirectorMode::CAMERA_DIRECTOR_MODE_FLY_WITH_ME; - else if (view_mode_string == "Manual") - initial_view_mode = 3; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_MANUAL; - else if (view_mode_string == "SpringArmChase") - initial_view_mode = 4; // ECameraDirectorMode::CAMERA_DIRECTOR_MODE_SPRINGARM_CHASE; - else if (view_mode_string == "Backup") - initial_view_mode = 5; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_BACKUP; - else if (view_mode_string == "NoDisplay") - initial_view_mode = 6; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_NODISPLAY; - else if (view_mode_string == "Front") - initial_view_mode = 7; // ECameraDirectorMode::CAMREA_DIRECTOR_MODE_FRONT; - else - error_messages.push_back("ViewMode setting is not recognized: " + view_mode_string); - } - - static void loadRCSetting(const std::string& simmode_name, const Settings& settings_json, RCSettings& rc_setting) - { - Settings rc_json; - if (settings_json.getChild("RC", rc_json)) { - rc_setting.remote_control_id = rc_json.getInt("RemoteControlID", - simmode_name == "Multirotor" ? 0 : -1); - rc_setting.allow_api_when_disconnected = rc_json.getBool("AllowAPIWhenDisconnected", - rc_setting.allow_api_when_disconnected); + static void loadRCSetting(const std::string& simmode_name, const Settings& settings_json, RCSettings& rc_setting) + { + Settings rc_json; + if (settings_json.getChild("RC", rc_json)) { + rc_setting.remote_control_id = rc_json.getInt("RemoteControlID", + simmode_name == "Multirotor" ? 0 : -1); + rc_setting.allow_api_when_disconnected = rc_json.getBool("AllowAPIWhenDisconnected", + rc_setting.allow_api_when_disconnected); + } } - } - static std::string getCameraName(const Settings& settings_json) - { - return settings_json.getString("CameraName", - //TODO: below exist only due to legacy reason and can be replaced by "" in future - std::to_string(settings_json.getInt("CameraID", 0))); - } + static std::string getCameraName(const Settings& settings_json) + { + return settings_json.getString("CameraName", + //TODO: below exist only due to legacy reason and can be replaced by "" in future + std::to_string(settings_json.getInt("CameraID", 0))); + } - static void loadRecordingSetting(const Settings& settings_json, RecordingSetting& recording_setting) - { - Settings recording_json; - if (settings_json.getChild("Recording", recording_json)) { - recording_setting.record_on_move = recording_json.getBool("RecordOnMove", recording_setting.record_on_move); - recording_setting.record_interval = recording_json.getFloat("RecordInterval", recording_setting.record_interval); - - Settings req_cameras_settings; - if (recording_json.getChild("Cameras", req_cameras_settings)) { - for (size_t child_index = 0; child_index < req_cameras_settings.size(); ++child_index) { - Settings req_camera_settings; - if (req_cameras_settings.getChild(child_index, req_camera_settings)) { - std::string camera_name = getCameraName(req_camera_settings); - ImageType image_type = - Utils::toEnum( - req_camera_settings.getInt("ImageType", 0)); - bool compress = req_camera_settings.getBool("Compress", true); - bool pixels_as_float = req_camera_settings.getBool("PixelsAsFloat", false); - - recording_setting.requests.push_back(msr::airlib::ImageCaptureBase::ImageRequest( - camera_name, image_type, pixels_as_float, compress)); + static void loadRecordingSetting(const Settings& settings_json, RecordingSetting& recording_setting) + { + Settings recording_json; + if (settings_json.getChild("Recording", recording_json)) { + recording_setting.record_on_move = recording_json.getBool("RecordOnMove", recording_setting.record_on_move); + recording_setting.record_interval = recording_json.getFloat("RecordInterval", recording_setting.record_interval); + + Settings req_cameras_settings; + if (recording_json.getChild("Cameras", req_cameras_settings)) { + for (size_t child_index = 0; child_index < req_cameras_settings.size(); ++child_index) { + Settings req_camera_settings; + if (req_cameras_settings.getChild(child_index, req_camera_settings)) { + std::string camera_name = getCameraName(req_camera_settings); + ImageType image_type = + Utils::toEnum( + req_camera_settings.getInt("ImageType", 0)); + bool compress = req_camera_settings.getBool("Compress", true); + bool pixels_as_float = req_camera_settings.getBool("PixelsAsFloat", false); + + recording_setting.requests.push_back(msr::airlib::ImageCaptureBase::ImageRequest( + camera_name, image_type, pixels_as_float, compress)); + } } } } + if (recording_setting.requests.size() == 0) + recording_setting.requests.push_back(msr::airlib::ImageCaptureBase::ImageRequest( + "", ImageType::Scene, false, true)); } - if (recording_setting.requests.size() == 0) - recording_setting.requests.push_back(msr::airlib::ImageCaptureBase::ImageRequest( - "", ImageType::Scene, false, true)); - } - static void initializeCaptureSettings(std::map& capture_settings) - { - capture_settings.clear(); - for (int i = -1; i < Utils::toNumeric(ImageType::Count); ++i) { - capture_settings[i] = CaptureSetting(); + static void initializeCaptureSettings(std::map& capture_settings) + { + capture_settings.clear(); + for (int i = -1; i < Utils::toNumeric(ImageType::Count); ++i) { + capture_settings[i] = CaptureSetting(); + } + capture_settings.at(Utils::toNumeric(ImageType::Scene)).target_gamma = CaptureSetting::kSceneTargetGamma; } - capture_settings.at(Utils::toNumeric(ImageType::Scene)).target_gamma = CaptureSetting::kSceneTargetGamma; - } - static void loadCaptureSettings(const Settings& settings_json, std::map& capture_settings) - { - initializeCaptureSettings(capture_settings); - - Settings json_parent; - if (settings_json.getChild("CaptureSettings", json_parent)) { - for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { - Settings json_settings_child; - if (json_parent.getChild(child_index, json_settings_child)) { - CaptureSetting capture_setting; - createCaptureSettings(json_settings_child, capture_setting); - capture_settings[capture_setting.image_type] = capture_setting; + static void loadCaptureSettings(const Settings& settings_json, std::map& capture_settings) + { + initializeCaptureSettings(capture_settings); + + Settings json_parent; + if (settings_json.getChild("CaptureSettings", json_parent)) { + for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { + Settings json_settings_child; + if (json_parent.getChild(child_index, json_settings_child)) { + CaptureSetting capture_setting; + createCaptureSettings(json_settings_child, capture_setting); + capture_settings[capture_setting.image_type] = capture_setting; + } } } } - } - static std::unique_ptr createMavLinkVehicleSetting(const Settings& settings_json) - { - //these settings_json are expected in same section, not in another child - std::unique_ptr vehicle_setting_p = std::unique_ptr(new MavLinkVehicleSetting()); - MavLinkVehicleSetting* vehicle_setting = static_cast(vehicle_setting_p.get()); + static std::unique_ptr createMavLinkVehicleSetting(const Settings& settings_json) + { + //these settings_json are expected in same section, not in another child + std::unique_ptr vehicle_setting_p = std::unique_ptr(new MavLinkVehicleSetting()); + MavLinkVehicleSetting* vehicle_setting = static_cast(vehicle_setting_p.get()); - //TODO: we should be selecting remote if available else keyboard - //currently keyboard is not supported so use rc as default - vehicle_setting->rc.remote_control_id = 0; + //TODO: we should be selecting remote if available else keyboard + //currently keyboard is not supported so use rc as default + vehicle_setting->rc.remote_control_id = 0; - MavLinkConnectionInfo &connection_info = vehicle_setting->connection_info; - connection_info.sim_sysid = static_cast(settings_json.getInt("SimSysID", connection_info.sim_sysid)); - connection_info.sim_compid = settings_json.getInt("SimCompID", connection_info.sim_compid); + MavLinkConnectionInfo& connection_info = vehicle_setting->connection_info; + connection_info.sim_sysid = static_cast(settings_json.getInt("SimSysID", connection_info.sim_sysid)); + connection_info.sim_compid = settings_json.getInt("SimCompID", connection_info.sim_compid); - connection_info.vehicle_sysid = static_cast(settings_json.getInt("VehicleSysID", connection_info.vehicle_sysid)); - connection_info.vehicle_compid = settings_json.getInt("VehicleCompID", connection_info.vehicle_compid); + connection_info.vehicle_sysid = static_cast(settings_json.getInt("VehicleSysID", connection_info.vehicle_sysid)); + connection_info.vehicle_compid = settings_json.getInt("VehicleCompID", connection_info.vehicle_compid); - connection_info.offboard_sysid = static_cast(settings_json.getInt("OffboardSysID", connection_info.offboard_sysid)); - connection_info.offboard_compid = settings_json.getInt("OffboardCompID", connection_info.offboard_compid); + connection_info.offboard_sysid = static_cast(settings_json.getInt("OffboardSysID", connection_info.offboard_sysid)); + connection_info.offboard_compid = settings_json.getInt("OffboardCompID", connection_info.offboard_compid); - connection_info.logviewer_ip_address = settings_json.getString("LogViewerHostIp", connection_info.logviewer_ip_address); - connection_info.logviewer_ip_port = settings_json.getInt("LogViewerPort", connection_info.logviewer_ip_port); - connection_info.logviewer_ip_sport = settings_json.getInt("LogViewerSendPort", connection_info.logviewer_ip_sport); + connection_info.logviewer_ip_address = settings_json.getString("LogViewerHostIp", connection_info.logviewer_ip_address); + connection_info.logviewer_ip_port = settings_json.getInt("LogViewerPort", connection_info.logviewer_ip_port); + connection_info.logviewer_ip_sport = settings_json.getInt("LogViewerSendPort", connection_info.logviewer_ip_sport); - connection_info.qgc_ip_address = settings_json.getString("QgcHostIp", connection_info.qgc_ip_address); - connection_info.qgc_ip_port = settings_json.getInt("QgcPort", connection_info.qgc_ip_port); + connection_info.qgc_ip_address = settings_json.getString("QgcHostIp", connection_info.qgc_ip_address); + connection_info.qgc_ip_port = settings_json.getInt("QgcPort", connection_info.qgc_ip_port); - connection_info.control_ip_address = settings_json.getString("ControlIp", connection_info.control_ip_address); - connection_info.control_port = settings_json.getInt("ControlPort", connection_info.control_port); + connection_info.control_ip_address = settings_json.getString("ControlIp", connection_info.control_ip_address); + connection_info.control_port = settings_json.getInt("ControlPort", connection_info.control_port); - std::string sitlip = settings_json.getString("SitlIp", connection_info.control_ip_address); - if (sitlip.size() > 0 && connection_info.control_ip_address.size() == 0) + std::string sitlip = settings_json.getString("SitlIp", connection_info.control_ip_address); + if (sitlip.size() > 0 && connection_info.control_ip_address.size() == 0) { + // backwards compat + connection_info.control_ip_address = sitlip; + } + if (settings_json.hasKey("SitlPort")) { + // backwards compat + connection_info.control_port = settings_json.getInt("SitlPort", connection_info.control_port); + } + + connection_info.local_host_ip = settings_json.getString("LocalHostIp", connection_info.local_host_ip); + + connection_info.use_serial = settings_json.getBool("UseSerial", connection_info.use_serial); + connection_info.udp_address = settings_json.getString("UdpIp", connection_info.udp_address); + connection_info.udp_port = settings_json.getInt("UdpPort", connection_info.udp_port); + connection_info.use_tcp = settings_json.getBool("UseTcp", connection_info.use_tcp); + connection_info.tcp_port = settings_json.getInt("TcpPort", connection_info.tcp_port); + connection_info.serial_port = settings_json.getString("SerialPort", connection_info.serial_port); + connection_info.baud_rate = settings_json.getInt("SerialBaudRate", connection_info.baud_rate); + connection_info.model = settings_json.getString("Model", connection_info.model); + + Settings params; + if (settings_json.getChild("Parameters", params)) { + std::vector keys; + params.getChildNames(keys); + for (auto key : keys) { + connection_info.params[key] = params.getFloat(key, 0); + } + } + + return vehicle_setting_p; + } + + static Vector3r createVectorSetting(const Settings& settings_json, const Vector3r& default_vec) { - // backwards compat - connection_info.control_ip_address = sitlip; + return Vector3r(settings_json.getFloat("X", default_vec.x()), + settings_json.getFloat("Y", default_vec.y()), + settings_json.getFloat("Z", default_vec.z())); } - if (settings_json.hasKey("SitlPort")) + static Rotation createRotationSetting(const Settings& settings_json, const Rotation& default_rot) { - // backwards compat - connection_info.control_port = settings_json.getInt("SitlPort", connection_info.control_port); + return Rotation(settings_json.getFloat("Yaw", default_rot.yaw), + settings_json.getFloat("Pitch", default_rot.pitch), + settings_json.getFloat("Roll", default_rot.roll)); } - connection_info.local_host_ip = settings_json.getString("LocalHostIp", connection_info.local_host_ip); - - connection_info.use_serial = settings_json.getBool("UseSerial", connection_info.use_serial); - connection_info.udp_address = settings_json.getString("UdpIp", connection_info.udp_address); - connection_info.udp_port = settings_json.getInt("UdpPort", connection_info.udp_port); - connection_info.use_tcp = settings_json.getBool("UseTcp", connection_info.use_tcp); - connection_info.tcp_port = settings_json.getInt("TcpPort", connection_info.tcp_port); - connection_info.serial_port = settings_json.getString("SerialPort", connection_info.serial_port); - connection_info.baud_rate = settings_json.getInt("SerialBaudRate", connection_info.baud_rate); - connection_info.model = settings_json.getString("Model", connection_info.model); - - Settings params; - if (settings_json.getChild("Parameters", params)) { - std::vector keys; - params.getChildNames(keys); - for (auto key: keys) - { - connection_info.params[key] = params.getFloat(key, 0); + static std::unique_ptr createVehicleSetting(const std::string& simmode_name, const Settings& settings_json, + const std::string vehicle_name) + { + auto vehicle_type = Utils::toLower(settings_json.getString("VehicleType", "")); + + std::unique_ptr vehicle_setting; + if (vehicle_type == kVehicleTypePX4 || vehicle_type == kVehicleTypeArduCopterSolo || vehicle_type == kVehicleTypeArduCopter || vehicle_type == kVehicleTypeArduRover) + vehicle_setting = createMavLinkVehicleSetting(settings_json); + //for everything else we don't need derived class yet + else { + vehicle_setting = std::unique_ptr(new VehicleSetting()); + if (vehicle_type == kVehicleTypeSimpleFlight) { + //TODO: we should be selecting remote if available else keyboard + //currently keyboard is not supported so use rc as default + vehicle_setting->rc.remote_control_id = 0; + } } + vehicle_setting->vehicle_name = vehicle_name; + + //required settings_json + vehicle_setting->vehicle_type = vehicle_type; + + //optional settings_json + vehicle_setting->pawn_path = settings_json.getString("PawnPath", ""); + vehicle_setting->default_vehicle_state = settings_json.getString("DefaultVehicleState", ""); + vehicle_setting->allow_api_always = settings_json.getBool("AllowAPIAlways", + vehicle_setting->allow_api_always); + vehicle_setting->auto_create = settings_json.getBool("AutoCreate", + vehicle_setting->auto_create); + vehicle_setting->enable_collision_passthrough = settings_json.getBool("EnableCollisionPassthrogh", + vehicle_setting->enable_collision_passthrough); + vehicle_setting->enable_trace = settings_json.getBool("EnableTrace", + vehicle_setting->enable_trace); + vehicle_setting->enable_collisions = settings_json.getBool("EnableCollisions", + vehicle_setting->enable_collisions); + vehicle_setting->is_fpv_vehicle = settings_json.getBool("IsFpvVehicle", + vehicle_setting->is_fpv_vehicle); + + loadRCSetting(simmode_name, settings_json, vehicle_setting->rc); + + vehicle_setting->position = createVectorSetting(settings_json, vehicle_setting->position); + vehicle_setting->rotation = createRotationSetting(settings_json, vehicle_setting->rotation); + + loadCameraSettings(settings_json, vehicle_setting->cameras); + loadSensorSettings(settings_json, "Sensors", vehicle_setting->sensors); + + return vehicle_setting; } - return vehicle_setting_p; - } + static void initializeVehicleSettings(const std::string& simmode_name, std::map>& vehicles) + { + vehicles.clear(); - static Vector3r createVectorSetting(const Settings& settings_json, const Vector3r& default_vec) - { - return Vector3r(settings_json.getFloat("X", default_vec.x()), - settings_json.getFloat("Y", default_vec.y()), - settings_json.getFloat("Z", default_vec.z())); - } - static Rotation createRotationSetting(const Settings& settings_json, const Rotation& default_rot) - { - return Rotation(settings_json.getFloat("Yaw", default_rot.yaw), - settings_json.getFloat("Pitch", default_rot.pitch), - settings_json.getFloat("Roll", default_rot.roll)); - } + //NOTE: Do not set defaults for vehicle type here. If you do then make sure + //to sync code in createVehicleSetting() as well. - static std::unique_ptr createVehicleSetting(const std::string& simmode_name, const Settings& settings_json, - const std::string vehicle_name) - { - auto vehicle_type = Utils::toLower(settings_json.getString("VehicleType", "")); - - std::unique_ptr vehicle_setting; - if (vehicle_type == kVehicleTypePX4 || vehicle_type == kVehicleTypeArduCopterSolo - || vehicle_type == kVehicleTypeArduCopter || vehicle_type == kVehicleTypeArduRover) - vehicle_setting = createMavLinkVehicleSetting(settings_json); - //for everything else we don't need derived class yet - else { - vehicle_setting = std::unique_ptr(new VehicleSetting()); - if (vehicle_type == kVehicleTypeSimpleFlight) { + if (simmode_name == "Multirotor") { + //create simple flight as default multirotor + auto simple_flight_setting = std::unique_ptr(new VehicleSetting()); + simple_flight_setting->vehicle_name = "SimpleFlight"; + simple_flight_setting->vehicle_type = kVehicleTypeSimpleFlight; //TODO: we should be selecting remote if available else keyboard //currently keyboard is not supported so use rc as default - vehicle_setting->rc.remote_control_id = 0; + simple_flight_setting->rc.remote_control_id = 0; + vehicles[simple_flight_setting->vehicle_name] = std::move(simple_flight_setting); + } + else if (simmode_name == "Car") { + //create default car vehicle + auto physx_car_setting = std::unique_ptr(new VehicleSetting()); + physx_car_setting->vehicle_name = "PhysXCar"; + physx_car_setting->vehicle_type = kVehicleTypePhysXCar; + vehicles[physx_car_setting->vehicle_name] = std::move(physx_car_setting); + } + else { + //create default computer vision vehicle + auto cv_setting = std::unique_ptr(new VehicleSetting()); + cv_setting->vehicle_name = "ComputerVision"; + cv_setting->vehicle_type = kVehicleTypeComputerVision; + vehicles[cv_setting->vehicle_name] = std::move(cv_setting); } } - vehicle_setting->vehicle_name = vehicle_name; - - //required settings_json - vehicle_setting->vehicle_type = vehicle_type; - - //optional settings_json - vehicle_setting->pawn_path = settings_json.getString("PawnPath", ""); - vehicle_setting->default_vehicle_state = settings_json.getString("DefaultVehicleState", ""); - vehicle_setting->allow_api_always = settings_json.getBool("AllowAPIAlways", - vehicle_setting->allow_api_always); - vehicle_setting->auto_create = settings_json.getBool("AutoCreate", - vehicle_setting->auto_create); - vehicle_setting->enable_collision_passthrough = settings_json.getBool("EnableCollisionPassthrogh", - vehicle_setting->enable_collision_passthrough); - vehicle_setting->enable_trace = settings_json.getBool("EnableTrace", - vehicle_setting->enable_trace); - vehicle_setting->enable_collisions = settings_json.getBool("EnableCollisions", - vehicle_setting->enable_collisions); - vehicle_setting->is_fpv_vehicle = settings_json.getBool("IsFpvVehicle", - vehicle_setting->is_fpv_vehicle); - - loadRCSetting(simmode_name, settings_json, vehicle_setting->rc); - - vehicle_setting->position = createVectorSetting(settings_json, vehicle_setting->position); - vehicle_setting->rotation = createRotationSetting(settings_json, vehicle_setting->rotation); - - loadCameraSettings(settings_json, vehicle_setting->cameras); - loadSensorSettings(settings_json, "Sensors", vehicle_setting->sensors); - - return vehicle_setting; - } - - static void initializeVehicleSettings(const std::string& simmode_name, std::map>& vehicles) - { - vehicles.clear(); - - //NOTE: Do not set defaults for vehicle type here. If you do then make sure - //to sync code in createVehicleSetting() as well. - - if (simmode_name == "Multirotor") { - //create simple flight as default multirotor - auto simple_flight_setting = std::unique_ptr(new VehicleSetting()); - simple_flight_setting->vehicle_name = "SimpleFlight"; - simple_flight_setting->vehicle_type = kVehicleTypeSimpleFlight; - //TODO: we should be selecting remote if available else keyboard - //currently keyboard is not supported so use rc as default - simple_flight_setting->rc.remote_control_id = 0; - vehicles[simple_flight_setting->vehicle_name] = std::move(simple_flight_setting); - } - else if (simmode_name == "Car") { - //create default car vehicle - auto physx_car_setting = std::unique_ptr(new VehicleSetting()); - physx_car_setting->vehicle_name = "PhysXCar"; - physx_car_setting->vehicle_type = kVehicleTypePhysXCar; - vehicles[physx_car_setting->vehicle_name] = std::move(physx_car_setting); - } - else { - //create default computer vision vehicle - auto cv_setting = std::unique_ptr(new VehicleSetting()); - cv_setting->vehicle_name = "ComputerVision"; - cv_setting->vehicle_type = kVehicleTypeComputerVision; - vehicles[cv_setting->vehicle_name] = std::move(cv_setting); - } - } - static void loadVehicleSettings(const std::string& simmode_name, const Settings& settings_json, - std::map>& vehicles) - { - initializeVehicleSettings(simmode_name, vehicles); + static void loadVehicleSettings(const std::string& simmode_name, const Settings& settings_json, + std::map>& vehicles) + { + initializeVehicleSettings(simmode_name, vehicles); - msr::airlib::Settings vehicles_child; - if (settings_json.getChild("Vehicles", vehicles_child)) { - std::vector keys; - vehicles_child.getChildNames(keys); + msr::airlib::Settings vehicles_child; + if (settings_json.getChild("Vehicles", vehicles_child)) { + std::vector keys; + vehicles_child.getChildNames(keys); - //remove default vehicles, if values are specified in settings - if (keys.size()) - vehicles.clear(); + //remove default vehicles, if values are specified in settings + if (keys.size()) + vehicles.clear(); - for (const auto& key : keys) { - msr::airlib::Settings child; - vehicles_child.getChild(key, child); - vehicles[key] = createVehicleSetting(simmode_name, child, key); + for (const auto& key : keys) { + msr::airlib::Settings child; + vehicles_child.getChild(key, child); + vehicles[key] = createVehicleSetting(simmode_name, child, key); + } } } - } - static void initializePawnPaths(std::map& pawn_paths) - { - pawn_paths.clear(); - pawn_paths.emplace("BareboneCar", - PawnPath("Class'/AirSim/VehicleAdv/Vehicle/VehicleAdvPawn.VehicleAdvPawn_C'")); - pawn_paths.emplace("DefaultCar", - PawnPath("Class'/AirSim/VehicleAdv/SUV/SuvCarPawn.SuvCarPawn_C'")); - pawn_paths.emplace("DefaultQuadrotor", - PawnPath("Class'/AirSim/Blueprints/BP_FlyingPawn.BP_FlyingPawn_C'")); - pawn_paths.emplace("DefaultComputerVision", - PawnPath("Class'/AirSim/Blueprints/BP_ComputerVisionPawn.BP_ComputerVisionPawn_C'")); - - } - - static void loadPawnPaths(const Settings& settings_json, std::map& pawn_paths) - { - initializePawnPaths(pawn_paths); + static void initializePawnPaths(std::map& pawn_paths) + { + pawn_paths.clear(); + pawn_paths.emplace("BareboneCar", + PawnPath("Class'/AirSim/VehicleAdv/Vehicle/VehicleAdvPawn.VehicleAdvPawn_C'")); + pawn_paths.emplace("DefaultCar", + PawnPath("Class'/AirSim/VehicleAdv/SUV/SuvCarPawn.SuvCarPawn_C'")); + pawn_paths.emplace("DefaultQuadrotor", + PawnPath("Class'/AirSim/Blueprints/BP_FlyingPawn.BP_FlyingPawn_C'")); + pawn_paths.emplace("DefaultComputerVision", + PawnPath("Class'/AirSim/Blueprints/BP_ComputerVisionPawn.BP_ComputerVisionPawn_C'")); + } + + static void loadPawnPaths(const Settings& settings_json, std::map& pawn_paths) + { + initializePawnPaths(pawn_paths); - msr::airlib::Settings pawn_paths_child; - if (settings_json.getChild("PawnPaths", pawn_paths_child)) { - std::vector keys; - pawn_paths_child.getChildNames(keys); + msr::airlib::Settings pawn_paths_child; + if (settings_json.getChild("PawnPaths", pawn_paths_child)) { + std::vector keys; + pawn_paths_child.getChildNames(keys); - for (const auto& key : keys) { - msr::airlib::Settings child; - pawn_paths_child.getChild(key, child); - pawn_paths[key] = createPathPawn(child); + for (const auto& key : keys) { + msr::airlib::Settings child; + pawn_paths_child.getChild(key, child); + pawn_paths[key] = createPathPawn(child); + } } } - } - static PawnPath createPathPawn(const Settings& settings_json) - { - auto paths = PawnPath(); - paths.pawn_bp = settings_json.getString("PawnBP", ""); - auto slippery_mat = settings_json.getString("SlipperyMat", ""); - auto non_slippery_mat = settings_json.getString("NonSlipperyMat", ""); + static PawnPath createPathPawn(const Settings& settings_json) + { + auto paths = PawnPath(); + paths.pawn_bp = settings_json.getString("PawnBP", ""); + auto slippery_mat = settings_json.getString("SlipperyMat", ""); + auto non_slippery_mat = settings_json.getString("NonSlipperyMat", ""); - if (slippery_mat != "") - paths.slippery_mat = slippery_mat; - if (non_slippery_mat != "") - paths.non_slippery_mat = non_slippery_mat; + if (slippery_mat != "") + paths.slippery_mat = slippery_mat; + if (non_slippery_mat != "") + paths.non_slippery_mat = non_slippery_mat; - return paths; - } + return paths; + } - static void loadSegmentationSetting(const Settings& settings_json, SegmentationSetting& segmentation_setting) - { - Settings json_parent; - if (settings_json.getChild("SegmentationSettings", json_parent)) { - std::string init_method = Utils::toLower(json_parent.getString("InitMethod", "")); - if (init_method == "" || init_method == "commonobjectsrandomids") - segmentation_setting.init_method = SegmentationSetting::InitMethodType::CommonObjectsRandomIDs; - else if (init_method == "none") - segmentation_setting.init_method = SegmentationSetting::InitMethodType::None; - else - //TODO: below exception doesn't actually get raised right now because of issue in Unreal Engine? - throw std::invalid_argument(std::string("SegmentationSetting init_method has invalid value in settings_json ") + init_method); + static void loadSegmentationSetting(const Settings& settings_json, SegmentationSetting& segmentation_setting) + { + Settings json_parent; + if (settings_json.getChild("SegmentationSettings", json_parent)) { + std::string init_method = Utils::toLower(json_parent.getString("InitMethod", "")); + if (init_method == "" || init_method == "commonobjectsrandomids") + segmentation_setting.init_method = SegmentationSetting::InitMethodType::CommonObjectsRandomIDs; + else if (init_method == "none") + segmentation_setting.init_method = SegmentationSetting::InitMethodType::None; + else + //TODO: below exception doesn't actually get raised right now because of issue in Unreal Engine? + throw std::invalid_argument(std::string("SegmentationSetting init_method has invalid value in settings_json ") + init_method); - segmentation_setting.override_existing = json_parent.getBool("OverrideExisting", false); + segmentation_setting.override_existing = json_parent.getBool("OverrideExisting", false); - std::string mesh_naming_method = Utils::toLower(json_parent.getString("MeshNamingMethod", "")); - if (mesh_naming_method == "" || mesh_naming_method == "ownername") - segmentation_setting.mesh_naming_method = SegmentationSetting::MeshNamingMethodType::OwnerName; - else if (mesh_naming_method == "staticmeshname") - segmentation_setting.mesh_naming_method = SegmentationSetting::MeshNamingMethodType::StaticMeshName; - else - throw std::invalid_argument(std::string("SegmentationSetting MeshNamingMethod has invalid value in settings_json ") + mesh_naming_method); + std::string mesh_naming_method = Utils::toLower(json_parent.getString("MeshNamingMethod", "")); + if (mesh_naming_method == "" || mesh_naming_method == "ownername") + segmentation_setting.mesh_naming_method = SegmentationSetting::MeshNamingMethodType::OwnerName; + else if (mesh_naming_method == "staticmeshname") + segmentation_setting.mesh_naming_method = SegmentationSetting::MeshNamingMethodType::StaticMeshName; + else + throw std::invalid_argument(std::string("SegmentationSetting MeshNamingMethod has invalid value in settings_json ") + mesh_naming_method); + } } - } - static void initializeNoiseSettings(std::map& noise_settings) - { - int image_count = Utils::toNumeric(ImageType::Count); - noise_settings.clear(); - for (int i = -1; i < image_count; ++i) - noise_settings[i] = NoiseSetting(); - } + static void initializeNoiseSettings(std::map& noise_settings) + { + int image_count = Utils::toNumeric(ImageType::Count); + noise_settings.clear(); + for (int i = -1; i < image_count; ++i) + noise_settings[i] = NoiseSetting(); + } - static void loadNoiseSettings(const Settings& settings_json, std::map& noise_settings) - { - initializeNoiseSettings(noise_settings); - - Settings json_parent; - if (settings_json.getChild("NoiseSettings", json_parent)) { - for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { - Settings json_settings_child; - if (json_parent.getChild(child_index, json_settings_child)) { - NoiseSetting noise_setting; - loadNoiseSetting(json_settings_child, noise_setting); - noise_settings[noise_setting.ImageType] = noise_setting; + static void loadNoiseSettings(const Settings& settings_json, std::map& noise_settings) + { + initializeNoiseSettings(noise_settings); + + Settings json_parent; + if (settings_json.getChild("NoiseSettings", json_parent)) { + for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { + Settings json_settings_child; + if (json_parent.getChild(child_index, json_settings_child)) { + NoiseSetting noise_setting; + loadNoiseSetting(json_settings_child, noise_setting); + noise_settings[noise_setting.ImageType] = noise_setting; + } } } } - } - - static void loadNoiseSetting(const msr::airlib::Settings& settings_json, NoiseSetting& noise_setting) - { - noise_setting.Enabled = settings_json.getBool("Enabled", noise_setting.Enabled); - noise_setting.ImageType = settings_json.getInt("ImageType", noise_setting.ImageType); - - noise_setting.HorzWaveStrength = settings_json.getFloat("HorzWaveStrength", noise_setting.HorzWaveStrength); - noise_setting.RandSpeed = settings_json.getFloat("RandSpeed", noise_setting.RandSpeed); - noise_setting.RandSize = settings_json.getFloat("RandSize", noise_setting.RandSize); - noise_setting.RandDensity = settings_json.getFloat("RandDensity", noise_setting.RandDensity); - noise_setting.RandContrib = settings_json.getFloat("RandContrib", noise_setting.RandContrib); - noise_setting.HorzWaveContrib = settings_json.getFloat("HorzWaveContrib", noise_setting.HorzWaveContrib); - noise_setting.HorzWaveVertSize = settings_json.getFloat("HorzWaveVertSize", noise_setting.HorzWaveVertSize); - noise_setting.HorzWaveScreenSize = settings_json.getFloat("HorzWaveScreenSize", noise_setting.HorzWaveScreenSize); - noise_setting.HorzNoiseLinesContrib = settings_json.getFloat("HorzNoiseLinesContrib", noise_setting.HorzNoiseLinesContrib); - noise_setting.HorzNoiseLinesDensityY = settings_json.getFloat("HorzNoiseLinesDensityY", noise_setting.HorzNoiseLinesDensityY); - noise_setting.HorzNoiseLinesDensityXY = settings_json.getFloat("HorzNoiseLinesDensityXY", noise_setting.HorzNoiseLinesDensityXY); - noise_setting.HorzDistortionStrength = settings_json.getFloat("HorzDistortionStrength", noise_setting.HorzDistortionStrength); - noise_setting.HorzDistortionContrib = settings_json.getFloat("HorzDistortionContrib", noise_setting.HorzDistortionContrib); - } - - static GimbalSetting createGimbalSetting(const Settings& settings_json) - { - GimbalSetting gimbal; - //capture_setting.gimbal.is_world_frame = settings_json.getBool("IsWorldFrame", false); - gimbal.stabilization = settings_json.getFloat("Stabilization", false); - gimbal.rotation = createRotationSetting(settings_json, gimbal.rotation); - return gimbal; - } - - static CameraSetting createCameraSetting(const Settings& settings_json) - { - CameraSetting setting; - setting.position = createVectorSetting(settings_json, setting.position); - setting.rotation = createRotationSetting(settings_json, setting.rotation); + static void loadNoiseSetting(const msr::airlib::Settings& settings_json, NoiseSetting& noise_setting) + { + noise_setting.Enabled = settings_json.getBool("Enabled", noise_setting.Enabled); + noise_setting.ImageType = settings_json.getInt("ImageType", noise_setting.ImageType); + + noise_setting.HorzWaveStrength = settings_json.getFloat("HorzWaveStrength", noise_setting.HorzWaveStrength); + noise_setting.RandSpeed = settings_json.getFloat("RandSpeed", noise_setting.RandSpeed); + noise_setting.RandSize = settings_json.getFloat("RandSize", noise_setting.RandSize); + noise_setting.RandDensity = settings_json.getFloat("RandDensity", noise_setting.RandDensity); + noise_setting.RandContrib = settings_json.getFloat("RandContrib", noise_setting.RandContrib); + noise_setting.HorzWaveContrib = settings_json.getFloat("HorzWaveContrib", noise_setting.HorzWaveContrib); + noise_setting.HorzWaveVertSize = settings_json.getFloat("HorzWaveVertSize", noise_setting.HorzWaveVertSize); + noise_setting.HorzWaveScreenSize = settings_json.getFloat("HorzWaveScreenSize", noise_setting.HorzWaveScreenSize); + noise_setting.HorzNoiseLinesContrib = settings_json.getFloat("HorzNoiseLinesContrib", noise_setting.HorzNoiseLinesContrib); + noise_setting.HorzNoiseLinesDensityY = settings_json.getFloat("HorzNoiseLinesDensityY", noise_setting.HorzNoiseLinesDensityY); + noise_setting.HorzNoiseLinesDensityXY = settings_json.getFloat("HorzNoiseLinesDensityXY", noise_setting.HorzNoiseLinesDensityXY); + noise_setting.HorzDistortionStrength = settings_json.getFloat("HorzDistortionStrength", noise_setting.HorzDistortionStrength); + noise_setting.HorzDistortionContrib = settings_json.getFloat("HorzDistortionContrib", noise_setting.HorzDistortionContrib); + } - loadCaptureSettings(settings_json, setting.capture_settings); - loadNoiseSettings(settings_json, setting.noise_settings); - Settings json_gimbal; - if (settings_json.getChild("Gimbal", json_gimbal)) - setting.gimbal = createGimbalSetting(json_gimbal); + static GimbalSetting createGimbalSetting(const Settings& settings_json) + { + GimbalSetting gimbal; + //capture_setting.gimbal.is_world_frame = settings_json.getBool("IsWorldFrame", false); + gimbal.stabilization = settings_json.getFloat("Stabilization", false); + gimbal.rotation = createRotationSetting(settings_json, gimbal.rotation); + return gimbal; + } - return setting; - } + static CameraSetting createCameraSetting(const Settings& settings_json) + { + CameraSetting setting; - static void loadCameraSettings(const Settings& settings_json, std::map& cameras) - { - cameras.clear(); + setting.position = createVectorSetting(settings_json, setting.position); + setting.rotation = createRotationSetting(settings_json, setting.rotation); - Settings json_parent; - if (settings_json.getChild("Cameras", json_parent)) { - std::vector keys; - json_parent.getChildNames(keys); + loadCaptureSettings(settings_json, setting.capture_settings); + loadNoiseSettings(settings_json, setting.noise_settings); + Settings json_gimbal; + if (settings_json.getChild("Gimbal", json_gimbal)) + setting.gimbal = createGimbalSetting(json_gimbal); - for (const auto& key : keys) { - msr::airlib::Settings child; - json_parent.getChild(key, child); - cameras[key] = createCameraSetting(child); - } + return setting; } - } - static void createCaptureSettings(const msr::airlib::Settings& settings_json, CaptureSetting& capture_setting) - { - capture_setting.width = settings_json.getInt("Width", capture_setting.width); - capture_setting.height = settings_json.getInt("Height", capture_setting.height); - capture_setting.fov_degrees = settings_json.getFloat("FOV_Degrees", capture_setting.fov_degrees); - capture_setting.auto_exposure_speed = settings_json.getFloat("AutoExposureSpeed", capture_setting.auto_exposure_speed); - capture_setting.auto_exposure_bias = settings_json.getFloat("AutoExposureBias", capture_setting.auto_exposure_bias); - capture_setting.auto_exposure_max_brightness = settings_json.getFloat("AutoExposureMaxBrightness", capture_setting.auto_exposure_max_brightness); - capture_setting.auto_exposure_min_brightness = settings_json.getFloat("AutoExposureMinBrightness", capture_setting.auto_exposure_min_brightness); - capture_setting.motion_blur_amount = settings_json.getFloat("MotionBlurAmount", capture_setting.motion_blur_amount); - capture_setting.image_type = settings_json.getInt("ImageType", 0); - capture_setting.target_gamma = settings_json.getFloat("TargetGamma", - capture_setting.image_type == 0 ? CaptureSetting::kSceneTargetGamma : Utils::nan()); - - std::string projection_mode = Utils::toLower(settings_json.getString("ProjectionMode", "")); - if (projection_mode == "" || projection_mode == "perspective") - capture_setting.projection_mode = 0; // Perspective - else if (projection_mode == "orthographic") - capture_setting.projection_mode = 1; // Orthographic - else - throw std::invalid_argument(std::string("CaptureSettings projection_mode has invalid value in settings_json ") + projection_mode); - - capture_setting.ortho_width = settings_json.getFloat("OrthoWidth", capture_setting.ortho_width); - } - - static void loadSubWindowsSettings(const Settings& settings_json, std::vector& subwindow_settings) - { - //load default subwindows - initializeSubwindowSettings(subwindow_settings); - - Settings json_parent; - if (settings_json.getChild("SubWindows", json_parent)) { - for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { - Settings json_settings_child; - if (json_parent.getChild(child_index, json_settings_child)) { - int window_index = json_settings_child.getInt("WindowID", 0); - SubwindowSetting& subwindow_setting = subwindow_settings.at(window_index); - subwindow_setting.window_index = window_index; - subwindow_setting.image_type = Utils::toEnum( - json_settings_child.getInt("ImageType", 0)); - subwindow_setting.visible = json_settings_child.getBool("Visible", false); - subwindow_setting.camera_name = getCameraName(json_settings_child); - subwindow_setting.vehicle_name = json_settings_child.getString("VehicleName", ""); + static void loadCameraSettings(const Settings& settings_json, std::map& cameras) + { + cameras.clear(); + + Settings json_parent; + if (settings_json.getChild("Cameras", json_parent)) { + std::vector keys; + json_parent.getChildNames(keys); + + for (const auto& key : keys) { + msr::airlib::Settings child; + json_parent.getChild(key, child); + cameras[key] = createCameraSetting(child); } } } - } - static void initializeSubwindowSettings(std::vector& subwindow_settings) - { - subwindow_settings.clear(); - subwindow_settings.push_back(SubwindowSetting(0, ImageType::DepthVis, false, "", "")); //depth - subwindow_settings.push_back(SubwindowSetting(1, ImageType::Segmentation, false, "", "")); //seg - subwindow_settings.push_back(SubwindowSetting(2, ImageType::Scene, false, "", "")); //vis - } + static void createCaptureSettings(const msr::airlib::Settings& settings_json, CaptureSetting& capture_setting) + { + capture_setting.width = settings_json.getInt("Width", capture_setting.width); + capture_setting.height = settings_json.getInt("Height", capture_setting.height); + capture_setting.fov_degrees = settings_json.getFloat("FOV_Degrees", capture_setting.fov_degrees); + capture_setting.auto_exposure_speed = settings_json.getFloat("AutoExposureSpeed", capture_setting.auto_exposure_speed); + capture_setting.auto_exposure_bias = settings_json.getFloat("AutoExposureBias", capture_setting.auto_exposure_bias); + capture_setting.auto_exposure_max_brightness = settings_json.getFloat("AutoExposureMaxBrightness", capture_setting.auto_exposure_max_brightness); + capture_setting.auto_exposure_min_brightness = settings_json.getFloat("AutoExposureMinBrightness", capture_setting.auto_exposure_min_brightness); + capture_setting.motion_blur_amount = settings_json.getFloat("MotionBlurAmount", capture_setting.motion_blur_amount); + capture_setting.image_type = settings_json.getInt("ImageType", 0); + capture_setting.target_gamma = settings_json.getFloat("TargetGamma", + capture_setting.image_type == 0 ? CaptureSetting::kSceneTargetGamma : Utils::nan()); + + std::string projection_mode = Utils::toLower(settings_json.getString("ProjectionMode", "")); + if (projection_mode == "" || projection_mode == "perspective") + capture_setting.projection_mode = 0; // Perspective + else if (projection_mode == "orthographic") + capture_setting.projection_mode = 1; // Orthographic + else + throw std::invalid_argument(std::string("CaptureSettings projection_mode has invalid value in settings_json ") + projection_mode); - void loadOtherSettings(const Settings& settings_json) - { - //by default we spawn server at local endpoint. Do not use 127.0.0.1 as default below - //because for docker container default is 0.0.0.0 and people get really confused why things - //don't work - api_server_address = settings_json.getString("LocalHostIp", ""); - api_port = settings_json.getInt("ApiServerPort", RpcLibPort); - is_record_ui_visible = settings_json.getBool("RecordUIVisible", true); - engine_sound = settings_json.getBool("EngineSound", false); - enable_rpc = settings_json.getBool("EnableRpc", enable_rpc); - speed_unit_factor = settings_json.getFloat("SpeedUnitFactor", 1.0f); - speed_unit_label = settings_json.getString("SpeedUnitLabel", "m\\s"); - log_messages_visible = settings_json.getBool("LogMessagesVisible", true); - - { //load origin geopoint - Settings origin_geopoint_json; - if (settings_json.getChild("OriginGeopoint", origin_geopoint_json)) { - GeoPoint origin = origin_geopoint.home_geo_point; - origin.latitude = origin_geopoint_json.getDouble("Latitude", origin.latitude); - origin.longitude = origin_geopoint_json.getDouble("Longitude", origin.longitude); - origin.altitude = origin_geopoint_json.getFloat("Altitude", origin.altitude); - origin_geopoint.initialize(origin); - } + capture_setting.ortho_width = settings_json.getFloat("OrthoWidth", capture_setting.ortho_width); } - { //time of day settings_json - Settings tod_settings_json; - if (settings_json.getChild("TimeOfDay", tod_settings_json)) { - tod_setting.enabled = tod_settings_json.getBool("Enabled", tod_setting.enabled); - tod_setting.start_datetime = tod_settings_json.getString("StartDateTime", tod_setting.start_datetime); - tod_setting.celestial_clock_speed = tod_settings_json.getFloat("CelestialClockSpeed", tod_setting.celestial_clock_speed); - tod_setting.is_start_datetime_dst = tod_settings_json.getBool("StartDateTimeDst", tod_setting.is_start_datetime_dst); - tod_setting.update_interval_secs = tod_settings_json.getFloat("UpdateIntervalSecs", tod_setting.update_interval_secs); - tod_setting.move_sun = tod_settings_json.getBool("MoveSun", tod_setting.move_sun); + static void loadSubWindowsSettings(const Settings& settings_json, std::vector& subwindow_settings) + { + //load default subwindows + initializeSubwindowSettings(subwindow_settings); + + Settings json_parent; + if (settings_json.getChild("SubWindows", json_parent)) { + for (size_t child_index = 0; child_index < json_parent.size(); ++child_index) { + Settings json_settings_child; + if (json_parent.getChild(child_index, json_settings_child)) { + int window_index = json_settings_child.getInt("WindowID", 0); + SubwindowSetting& subwindow_setting = subwindow_settings.at(window_index); + subwindow_setting.window_index = window_index; + subwindow_setting.image_type = Utils::toEnum( + json_settings_child.getInt("ImageType", 0)); + subwindow_setting.visible = json_settings_child.getBool("Visible", false); + subwindow_setting.camera_name = getCameraName(json_settings_child); + subwindow_setting.vehicle_name = json_settings_child.getString("VehicleName", ""); + } + } } } + static void initializeSubwindowSettings(std::vector& subwindow_settings) { - // Wind Settings - Settings child_json; - if (settings_json.getChild("Wind", child_json)) { - wind = createVectorSetting(child_json, wind); - } + subwindow_settings.clear(); + subwindow_settings.push_back(SubwindowSetting(0, ImageType::DepthVis, false, "", "")); //depth + subwindow_settings.push_back(SubwindowSetting(1, ImageType::Segmentation, false, "", "")); //seg + subwindow_settings.push_back(SubwindowSetting(2, ImageType::Scene, false, "", "")); //vis } - } - static void loadDefaultCameraSetting(const Settings& settings_json, CameraSetting& camera_defaults) - { - Settings child_json; - if (settings_json.getChild("CameraDefaults", child_json)) { - camera_defaults = createCameraSetting(child_json); - } - } + void loadOtherSettings(const Settings& settings_json) + { + //by default we spawn server at local endpoint. Do not use 127.0.0.1 as default below + //because for docker container default is 0.0.0.0 and people get really confused why things + //don't work + api_server_address = settings_json.getString("LocalHostIp", ""); + api_port = settings_json.getInt("ApiServerPort", RpcLibPort); + is_record_ui_visible = settings_json.getBool("RecordUIVisible", true); + engine_sound = settings_json.getBool("EngineSound", false); + enable_rpc = settings_json.getBool("EnableRpc", enable_rpc); + speed_unit_factor = settings_json.getFloat("SpeedUnitFactor", 1.0f); + speed_unit_label = settings_json.getString("SpeedUnitLabel", "m\\s"); + log_messages_visible = settings_json.getBool("LogMessagesVisible", true); + + { //load origin geopoint + Settings origin_geopoint_json; + if (settings_json.getChild("OriginGeopoint", origin_geopoint_json)) { + GeoPoint origin = origin_geopoint.home_geo_point; + origin.latitude = origin_geopoint_json.getDouble("Latitude", origin.latitude); + origin.longitude = origin_geopoint_json.getDouble("Longitude", origin.longitude); + origin.altitude = origin_geopoint_json.getFloat("Altitude", origin.altitude); + origin_geopoint.initialize(origin); + } + } - static void loadCameraDirectorSetting(const Settings& settings_json, - CameraDirectorSetting& camera_director, const std::string& simmode_name) - { - camera_director = CameraDirectorSetting(); + { //time of day settings_json + Settings tod_settings_json; + if (settings_json.getChild("TimeOfDay", tod_settings_json)) { + tod_setting.enabled = tod_settings_json.getBool("Enabled", tod_setting.enabled); + tod_setting.start_datetime = tod_settings_json.getString("StartDateTime", tod_setting.start_datetime); + tod_setting.celestial_clock_speed = tod_settings_json.getFloat("CelestialClockSpeed", tod_setting.celestial_clock_speed); + tod_setting.is_start_datetime_dst = tod_settings_json.getBool("StartDateTimeDst", tod_setting.is_start_datetime_dst); + tod_setting.update_interval_secs = tod_settings_json.getFloat("UpdateIntervalSecs", tod_setting.update_interval_secs); + tod_setting.move_sun = tod_settings_json.getBool("MoveSun", tod_setting.move_sun); + } + } - Settings child_json; - if (settings_json.getChild("CameraDirector", child_json)) { - camera_director.position = createVectorSetting(settings_json, camera_director.position); - camera_director.rotation = createRotationSetting(settings_json, camera_director.rotation); - camera_director.follow_distance = child_json.getFloat("FollowDistance", camera_director.follow_distance); + { + // Wind Settings + Settings child_json; + if (settings_json.getChild("Wind", child_json)) { + wind = createVectorSetting(child_json, wind); + } + } } - if (std::isnan(camera_director.follow_distance)) { - if (simmode_name == "Car") - camera_director.follow_distance = -8; - else - camera_director.follow_distance = -3; - } - if (std::isnan(camera_director.position.x())) - camera_director.position.x() = camera_director.follow_distance; - if (std::isnan(camera_director.position.y())) - camera_director.position.y() = 0; - if (std::isnan(camera_director.position.z())) { - if (simmode_name == "Car") - camera_director.position.z() = -4; - else - camera_director.position.z() = -2; + static void loadDefaultCameraSetting(const Settings& settings_json, CameraSetting& camera_defaults) + { + Settings child_json; + if (settings_json.getChild("CameraDefaults", child_json)) { + camera_defaults = createCameraSetting(child_json); + } } - } - void loadClockSettings(const Settings& settings_json) - { - clock_type = settings_json.getString("ClockType", ""); + static void loadCameraDirectorSetting(const Settings& settings_json, + CameraDirectorSetting& camera_director, const std::string& simmode_name) + { + camera_director = CameraDirectorSetting(); - if (clock_type == "") { - //default value - clock_type = "ScalableClock"; + Settings child_json; + if (settings_json.getChild("CameraDirector", child_json)) { + camera_director.position = createVectorSetting(settings_json, camera_director.position); + camera_director.rotation = createRotationSetting(settings_json, camera_director.rotation); + camera_director.follow_distance = child_json.getFloat("FollowDistance", camera_director.follow_distance); + } - //override if multirotor simmode with simple_flight - if (simmode_name == "Multirotor") { - //TODO: this won't work if simple_flight and PX4 is combined together! - - //for multirotors we select steppable fixed interval clock unless we have - //PX4 enabled vehicle - clock_type = "SteppableClock"; - for (auto const& vehicle : vehicles) - { - if (vehicle.second->auto_create && - vehicle.second->vehicle_type == kVehicleTypePX4) { - clock_type = "ScalableClock"; - break; + if (std::isnan(camera_director.follow_distance)) { + if (simmode_name == "Car") + camera_director.follow_distance = -8; + else + camera_director.follow_distance = -3; + } + if (std::isnan(camera_director.position.x())) + camera_director.position.x() = camera_director.follow_distance; + if (std::isnan(camera_director.position.y())) + camera_director.position.y() = 0; + if (std::isnan(camera_director.position.z())) { + if (simmode_name == "Car") + camera_director.position.z() = -4; + else + camera_director.position.z() = -2; + } + } + + void loadClockSettings(const Settings& settings_json) + { + clock_type = settings_json.getString("ClockType", ""); + + if (clock_type == "") { + //default value + clock_type = "ScalableClock"; + + //override if multirotor simmode with simple_flight + if (simmode_name == "Multirotor") { + //TODO: this won't work if simple_flight and PX4 is combined together! + + //for multirotors we select steppable fixed interval clock unless we have + //PX4 enabled vehicle + clock_type = "SteppableClock"; + for (auto const& vehicle : vehicles) { + if (vehicle.second->auto_create && + vehicle.second->vehicle_type == kVehicleTypePX4) { + clock_type = "ScalableClock"; + break; + } } } } - } - clock_speed = settings_json.getFloat("ClockSpeed", 1.0f); - } + clock_speed = settings_json.getFloat("ClockSpeed", 1.0f); + } - static void initializeBarometerSetting(BarometerSetting& barometer_setting, const Settings& settings_json) - { - unused(barometer_setting); - unused(settings_json); + static void initializeBarometerSetting(BarometerSetting& barometer_setting, const Settings& settings_json) + { + unused(barometer_setting); + unused(settings_json); - //TODO: set from json as needed - } + //TODO: set from json as needed + } - static void initializeImuSetting(ImuSetting& imu_setting, const Settings& settings_json) - { - unused(imu_setting); - unused(settings_json); + static void initializeImuSetting(ImuSetting& imu_setting, const Settings& settings_json) + { + unused(imu_setting); + unused(settings_json); - //TODO: set from json as needed - } + //TODO: set from json as needed + } - static void initializeGpsSetting(GpsSetting& gps_setting, const Settings& settings_json) - { - unused(gps_setting); - unused(settings_json); + static void initializeGpsSetting(GpsSetting& gps_setting, const Settings& settings_json) + { + unused(gps_setting); + unused(settings_json); - //TODO: set from json as needed - } + //TODO: set from json as needed + } - static void initializeMagnetometerSetting(MagnetometerSetting& magnetometer_setting, const Settings& settings_json) - { - unused(magnetometer_setting); - unused(settings_json); + static void initializeMagnetometerSetting(MagnetometerSetting& magnetometer_setting, const Settings& settings_json) + { + unused(magnetometer_setting); + unused(settings_json); - //TODO: set from json as needed - } + //TODO: set from json as needed + } - static void initializeDistanceSetting(DistanceSetting& distance_setting, const Settings& settings_json) - { - distance_setting.min_distance = settings_json.getFloat("MinDistance", distance_setting.min_distance); - distance_setting.max_distance = settings_json.getFloat("MaxDistance", distance_setting.max_distance); - distance_setting.draw_debug_points = settings_json.getBool("DrawDebugPoints", distance_setting.draw_debug_points); + static void initializeDistanceSetting(DistanceSetting& distance_setting, const Settings& settings_json) + { + distance_setting.min_distance = settings_json.getFloat("MinDistance", distance_setting.min_distance); + distance_setting.max_distance = settings_json.getFloat("MaxDistance", distance_setting.max_distance); + distance_setting.draw_debug_points = settings_json.getBool("DrawDebugPoints", distance_setting.draw_debug_points); - distance_setting.position = createVectorSetting(settings_json, distance_setting.position); - distance_setting.rotation = createRotationSetting(settings_json, distance_setting.rotation); - } + distance_setting.position = createVectorSetting(settings_json, distance_setting.position); + distance_setting.rotation = createRotationSetting(settings_json, distance_setting.rotation); + } - static void initializeLidarSetting(LidarSetting& lidar_setting, const Settings& settings_json) - { - lidar_setting.number_of_channels = settings_json.getInt("NumberOfChannels", lidar_setting.number_of_channels); - lidar_setting.range = settings_json.getFloat("Range", lidar_setting.range); - lidar_setting.points_per_second = settings_json.getInt("PointsPerSecond", lidar_setting.points_per_second); - lidar_setting.horizontal_rotation_frequency = settings_json.getInt("RotationsPerSecond", lidar_setting.horizontal_rotation_frequency); - lidar_setting.draw_debug_points = settings_json.getBool("DrawDebugPoints", lidar_setting.draw_debug_points); - lidar_setting.data_frame = settings_json.getString("DataFrame", lidar_setting.data_frame); - - lidar_setting.vertical_FOV_upper = settings_json.getFloat("VerticalFOVUpper", lidar_setting.vertical_FOV_upper); - lidar_setting.vertical_FOV_lower = settings_json.getFloat("VerticalFOVLower", lidar_setting.vertical_FOV_lower); - lidar_setting.horizontal_FOV_start = settings_json.getFloat("HorizontalFOVStart", lidar_setting.horizontal_FOV_start); - lidar_setting.horizontal_FOV_end = settings_json.getFloat("HorizontalFOVEnd", lidar_setting.horizontal_FOV_end); - - lidar_setting.position = createVectorSetting(settings_json, lidar_setting.position); - lidar_setting.rotation = createRotationSetting(settings_json, lidar_setting.rotation); - } - - static std::unique_ptr createSensorSetting( - SensorBase::SensorType sensor_type, const std::string& sensor_name, - bool enabled) - { - std::unique_ptr sensor_setting; - - switch (sensor_type) { - case SensorBase::SensorType::Barometer: - sensor_setting = std::unique_ptr(new BarometerSetting()); - break; - case SensorBase::SensorType::Imu: - sensor_setting = std::unique_ptr(new ImuSetting()); - break; - case SensorBase::SensorType::Gps: - sensor_setting = std::unique_ptr(new GpsSetting()); - break; - case SensorBase::SensorType::Magnetometer: - sensor_setting = std::unique_ptr(new MagnetometerSetting()); - break; - case SensorBase::SensorType::Distance: - sensor_setting = std::unique_ptr(new DistanceSetting()); - break; - case SensorBase::SensorType::Lidar: - sensor_setting = std::unique_ptr(new LidarSetting()); - break; - default: - throw std::invalid_argument("Unexpected sensor type"); + static void initializeLidarSetting(LidarSetting& lidar_setting, const Settings& settings_json) + { + lidar_setting.number_of_channels = settings_json.getInt("NumberOfChannels", lidar_setting.number_of_channels); + lidar_setting.range = settings_json.getFloat("Range", lidar_setting.range); + lidar_setting.points_per_second = settings_json.getInt("PointsPerSecond", lidar_setting.points_per_second); + lidar_setting.horizontal_rotation_frequency = settings_json.getInt("RotationsPerSecond", lidar_setting.horizontal_rotation_frequency); + lidar_setting.draw_debug_points = settings_json.getBool("DrawDebugPoints", lidar_setting.draw_debug_points); + lidar_setting.data_frame = settings_json.getString("DataFrame", lidar_setting.data_frame); + + lidar_setting.vertical_FOV_upper = settings_json.getFloat("VerticalFOVUpper", lidar_setting.vertical_FOV_upper); + lidar_setting.vertical_FOV_lower = settings_json.getFloat("VerticalFOVLower", lidar_setting.vertical_FOV_lower); + lidar_setting.horizontal_FOV_start = settings_json.getFloat("HorizontalFOVStart", lidar_setting.horizontal_FOV_start); + lidar_setting.horizontal_FOV_end = settings_json.getFloat("HorizontalFOVEnd", lidar_setting.horizontal_FOV_end); + + lidar_setting.position = createVectorSetting(settings_json, lidar_setting.position); + lidar_setting.rotation = createRotationSetting(settings_json, lidar_setting.rotation); } - sensor_setting->sensor_type = sensor_type; - sensor_setting->sensor_name = sensor_name; - sensor_setting->enabled = enabled; + static std::unique_ptr createSensorSetting( + SensorBase::SensorType sensor_type, const std::string& sensor_name, + bool enabled) + { + std::unique_ptr sensor_setting; + + switch (sensor_type) { + case SensorBase::SensorType::Barometer: + sensor_setting = std::unique_ptr(new BarometerSetting()); + break; + case SensorBase::SensorType::Imu: + sensor_setting = std::unique_ptr(new ImuSetting()); + break; + case SensorBase::SensorType::Gps: + sensor_setting = std::unique_ptr(new GpsSetting()); + break; + case SensorBase::SensorType::Magnetometer: + sensor_setting = std::unique_ptr(new MagnetometerSetting()); + break; + case SensorBase::SensorType::Distance: + sensor_setting = std::unique_ptr(new DistanceSetting()); + break; + case SensorBase::SensorType::Lidar: + sensor_setting = std::unique_ptr(new LidarSetting()); + break; + default: + throw std::invalid_argument("Unexpected sensor type"); + } - return sensor_setting; - } + sensor_setting->sensor_type = sensor_type; + sensor_setting->sensor_name = sensor_name; + sensor_setting->enabled = enabled; - static void initializeSensorSetting(SensorSetting* sensor_setting, const Settings& settings_json) - { - sensor_setting->enabled = settings_json.getBool("Enabled", sensor_setting->enabled); - - switch (sensor_setting->sensor_type) { - case SensorBase::SensorType::Barometer: - initializeBarometerSetting(*static_cast(sensor_setting), settings_json); - break; - case SensorBase::SensorType::Imu: - initializeImuSetting(*static_cast(sensor_setting), settings_json); - break; - case SensorBase::SensorType::Gps: - initializeGpsSetting(*static_cast(sensor_setting), settings_json); - break; - case SensorBase::SensorType::Magnetometer: - initializeMagnetometerSetting(*static_cast(sensor_setting), settings_json); - break; - case SensorBase::SensorType::Distance: - initializeDistanceSetting(*static_cast(sensor_setting), settings_json); - break; - case SensorBase::SensorType::Lidar: - initializeLidarSetting(*static_cast(sensor_setting), settings_json); - break; - default: - throw std::invalid_argument("Unexpected sensor type"); + return sensor_setting; } - } - // creates and intializes sensor settings from json - static void loadSensorSettings( const Settings& settings_json, const std::string& collectionName, - std::map>& sensors) - { - msr::airlib::Settings sensors_child; - if (settings_json.getChild(collectionName, sensors_child)) { - std::vector keys; - sensors_child.getChildNames(keys); + static void initializeSensorSetting(SensorSetting* sensor_setting, const Settings& settings_json) + { + sensor_setting->enabled = settings_json.getBool("Enabled", sensor_setting->enabled); + + switch (sensor_setting->sensor_type) { + case SensorBase::SensorType::Barometer: + initializeBarometerSetting(*static_cast(sensor_setting), settings_json); + break; + case SensorBase::SensorType::Imu: + initializeImuSetting(*static_cast(sensor_setting), settings_json); + break; + case SensorBase::SensorType::Gps: + initializeGpsSetting(*static_cast(sensor_setting), settings_json); + break; + case SensorBase::SensorType::Magnetometer: + initializeMagnetometerSetting(*static_cast(sensor_setting), settings_json); + break; + case SensorBase::SensorType::Distance: + initializeDistanceSetting(*static_cast(sensor_setting), settings_json); + break; + case SensorBase::SensorType::Lidar: + initializeLidarSetting(*static_cast(sensor_setting), settings_json); + break; + default: + throw std::invalid_argument("Unexpected sensor type"); + } + } + + // creates and intializes sensor settings from json + static void loadSensorSettings(const Settings& settings_json, const std::string& collectionName, + std::map>& sensors) + { + msr::airlib::Settings sensors_child; + if (settings_json.getChild(collectionName, sensors_child)) { + std::vector keys; + sensors_child.getChildNames(keys); - for (const auto& key : keys) { - msr::airlib::Settings child; - sensors_child.getChild(key, child); + for (const auto& key : keys) { + msr::airlib::Settings child; + sensors_child.getChild(key, child); - auto sensor_type = Utils::toEnum(child.getInt("SensorType", 0)); - auto enabled = child.getBool("Enabled", false); + auto sensor_type = Utils::toEnum(child.getInt("SensorType", 0)); + auto enabled = child.getBool("Enabled", false); - sensors[key] = createSensorSetting(sensor_type, key, enabled); - initializeSensorSetting(sensors[key].get(), child); + sensors[key] = createSensorSetting(sensor_type, key, enabled); + initializeSensorSetting(sensors[key].get(), child); + } } } - } - // creates default sensor list when none specified in json - static void createDefaultSensorSettings(const std::string& simmode_name, - std::map>& sensors) - { - if (simmode_name == "Multirotor") { - sensors["imu"] = createSensorSetting(SensorBase::SensorType::Imu, "imu", true); - sensors["magnetometer"] = createSensorSetting(SensorBase::SensorType::Magnetometer, "magnetometer", true); - sensors["gps"] = createSensorSetting(SensorBase::SensorType::Gps, "gps", true); - sensors["barometer"] = createSensorSetting(SensorBase::SensorType::Barometer, "barometer", true); - } - else if (simmode_name == "Car") { - sensors["gps"] = createSensorSetting(SensorBase::SensorType::Gps, "gps", true); + // creates default sensor list when none specified in json + static void createDefaultSensorSettings(const std::string& simmode_name, + std::map>& sensors) + { + if (simmode_name == "Multirotor") { + sensors["imu"] = createSensorSetting(SensorBase::SensorType::Imu, "imu", true); + sensors["magnetometer"] = createSensorSetting(SensorBase::SensorType::Magnetometer, "magnetometer", true); + sensors["gps"] = createSensorSetting(SensorBase::SensorType::Gps, "gps", true); + sensors["barometer"] = createSensorSetting(SensorBase::SensorType::Barometer, "barometer", true); + } + else if (simmode_name == "Car") { + sensors["gps"] = createSensorSetting(SensorBase::SensorType::Gps, "gps", true); + } + else { + // no sensors added for other modes + } } - else { - // no sensors added for other modes + + // loads or creates default sensor list + static void loadDefaultSensorSettings(const std::string& simmode_name, + const Settings& settings_json, + std::map>& sensors) + { + msr::airlib::Settings sensors_child; + if (settings_json.getChild("DefaultSensors", sensors_child)) + loadSensorSettings(settings_json, "DefaultSensors", sensors); + else + createDefaultSensorSettings(simmode_name, sensors); } - } + }; - // loads or creates default sensor list - static void loadDefaultSensorSettings(const std::string& simmode_name, - const Settings& settings_json, - std::map>& sensors) - { - msr::airlib::Settings sensors_child; - if (settings_json.getChild("DefaultSensors", sensors_child)) - loadSensorSettings(settings_json, "DefaultSensors", sensors); - else - createDefaultSensorSettings(simmode_name, sensors); - } -}; - -}} //namespace +} +} //namespace #endif diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp index 44a38393b9..0c338c604f 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.cpp @@ -1,68 +1,67 @@ #include "PInvokeWrapper.h" //Function pointers to hold the addresses of the functions that are defined in Unity -bool(*SetPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName); -AirSimPose(*GetPose)(const char* vehicleName); -AirSimCollisionInfo(*GetCollisionInfo)(const char* vehicleName); -AirSimRCData(*GetRCData)(const char* vehicleName); -AirSimImageResponse(*GetSimImages)(AirSimImageRequest request, const char* vehicleName); -bool(*SetRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName); -bool(*SetEnableApi)(bool enableApi, const char* vehicleName); -bool(*SetCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName); -AirSimCarState(*GetCarState)(const char* vehicleName); -AirSimCameraInfo(*GetCameraInfo)(const char* cameraName, const char* vehicleName); -bool(*SetCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName); -bool(*SetCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName); -bool(*SetSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex); -int(*GetSegmentationObjectId)(const char* meshName); -bool(*PrintLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity); -UnityTransform(*GetTransformFromUnity)(const char* vehicleName); -bool(*Reset)(); -AirSimVector(*GetVelocity)(const char* vehicleName); -RayCastHitResult(*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); -bool(*Pause)(float timeScale); +bool (*SetPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName); +AirSimPose (*GetPose)(const char* vehicleName); +AirSimCollisionInfo (*GetCollisionInfo)(const char* vehicleName); +AirSimRCData (*GetRCData)(const char* vehicleName); +AirSimImageResponse (*GetSimImages)(AirSimImageRequest request, const char* vehicleName); +bool (*SetRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName); +bool (*SetEnableApi)(bool enableApi, const char* vehicleName); +bool (*SetCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName); +AirSimCarState (*GetCarState)(const char* vehicleName); +AirSimCameraInfo (*GetCameraInfo)(const char* cameraName, const char* vehicleName); +bool (*SetCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName); +bool (*SetCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName); +bool (*SetSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex); +int (*GetSegmentationObjectId)(const char* meshName); +bool (*PrintLogMessage)(const char* message, const char* messageParam, const char* vehicleName, int severity); +UnityTransform (*GetTransformFromUnity)(const char* vehicleName); +bool (*Reset)(); +AirSimVector (*GetVelocity)(const char* vehicleName); +RayCastHitResult (*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); +bool (*Pause)(float timeScale); void InitVehicleManager( - bool(*setPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName), - AirSimPose(*getPose)(const char* vehicleName), - AirSimCollisionInfo(*getCollisionInfo)(const char* vehicleName), - AirSimRCData(*getDroneRCData)(const char* vehicleName), - AirSimImageResponse(*getSimImages)(AirSimImageRequest request, const char* vehicleName), - bool(*setRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName), - bool(*setEnableApi)(bool enableApi, const char* vehicleName), - bool(*setCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName), - AirSimCarState(*getCarState)(const char* vehicleName), - AirSimCameraInfo(*getCameraInfo)(const char* cameraName, const char* vehicleName), - bool(*setCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName), - bool(*setCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName), - bool(*setSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex), - int(*getSegmentationObjectId)(const char* meshName), - bool(*printLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity), - UnityTransform(*getTransformFromUnity)(const char* vehicleName), - bool(*reset)(), - AirSimVector(*getVelocity)(const char* vehicleName), - RayCastHitResult(*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), - bool(*pause)(float timeScale) -) + bool (*setPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName), + AirSimPose (*getPose)(const char* vehicleName), + AirSimCollisionInfo (*getCollisionInfo)(const char* vehicleName), + AirSimRCData (*getDroneRCData)(const char* vehicleName), + AirSimImageResponse (*getSimImages)(AirSimImageRequest request, const char* vehicleName), + bool (*setRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName), + bool (*setEnableApi)(bool enableApi, const char* vehicleName), + bool (*setCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName), + AirSimCarState (*getCarState)(const char* vehicleName), + AirSimCameraInfo (*getCameraInfo)(const char* cameraName, const char* vehicleName), + bool (*setCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName), + bool (*setCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName), + bool (*setSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex), + int (*getSegmentationObjectId)(const char* meshName), + bool (*printLogMessage)(const char* message, const char* messageParam, const char* vehicleName, int severity), + UnityTransform (*getTransformFromUnity)(const char* vehicleName), + bool (*reset)(), + AirSimVector (*getVelocity)(const char* vehicleName), + RayCastHitResult (*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), + bool (*pause)(float timeScale)) { - SetPose = setPose; - GetPose = getPose; - GetCollisionInfo = getCollisionInfo; - GetRCData = getDroneRCData; - GetSimImages = getSimImages; - SetRotorSpeed = setRotorSpeed; - SetEnableApi = setEnableApi; - SetCarApiControls = setCarApiControls; - GetCarState = getCarState; - GetCameraInfo = getCameraInfo; - SetCameraPose = setCameraPose; - SetCameraFoV = setCameraFoV; - SetSegmentationObjectId = setSegmentationObjectId; - GetSegmentationObjectId = getSegmentationObjectId; - PrintLogMessage = printLogMessage; - GetTransformFromUnity = getTransformFromUnity; - Reset = reset; - GetVelocity = getVelocity; - GetRayCastHit = getRayCastHit; - Pause = pause; + SetPose = setPose; + GetPose = getPose; + GetCollisionInfo = getCollisionInfo; + GetRCData = getDroneRCData; + GetSimImages = getSimImages; + SetRotorSpeed = setRotorSpeed; + SetEnableApi = setEnableApi; + SetCarApiControls = setCarApiControls; + GetCarState = getCarState; + GetCameraInfo = getCameraInfo; + SetCameraPose = setCameraPose; + SetCameraFoV = setCameraFoV; + SetSegmentationObjectId = setSegmentationObjectId; + GetSegmentationObjectId = getSegmentationObjectId; + PrintLogMessage = printLogMessage; + GetTransformFromUnity = getTransformFromUnity; + Reset = reset; + GetVelocity = getVelocity; + GetRayCastHit = getRayCastHit; + Pause = pause; } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h index 9638ddf5f5..b89c921a7e 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/PInvokeWrapper.h @@ -4,59 +4,57 @@ #include "UnityImageCapture.h" #include "vehicles/car/api/CarApiBase.hpp" - #ifdef _WIN32 - #define EXPORT __declspec(dllexport) +#define EXPORT __declspec(dllexport) #elif defined(__linux__) || defined(__APPLE__) - #define EXPORT __attribute__((visibility("default"))) +#define EXPORT __attribute__((visibility("default"))) #endif /* * Defines all the functions that can be called into Unity */ //Function pointers to hold the addresses of the functions that are defined in Unity -extern bool(*SetPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName); -extern AirSimPose(*GetPose)(const char* vehicleName); -extern AirSimCollisionInfo(*GetCollisionInfo)(const char* vehicleName); -extern AirSimRCData(*GetRCData)(const char* vehicleName); -extern AirSimImageResponse(*GetSimImages)(AirSimImageRequest request, const char* vehicleName); -extern bool(*SetRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName); -extern bool(*SetEnableApi)(bool enableApi, const char* vehicleName); -extern bool(*SetCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName); -extern AirSimCarState(*GetCarState)(const char* vehicleName); -extern AirSimCameraInfo(*GetCameraInfo)(const char* cameraName, const char* vehicleName); -extern bool(*SetCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName); -extern bool(*SetCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName); -extern bool(*SetSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex); -extern int(*GetSegmentationObjectId)(const char* meshName); -extern bool(*PrintLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity); -extern UnityTransform(*GetTransformFromUnity)(const char* vehicleName); -extern bool(*Reset)(); -extern AirSimVector(*GetVelocity)(const char* vehicleName); -extern RayCastHitResult(*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); -extern bool(*Pause)(float timeScale); +extern bool (*SetPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName); +extern AirSimPose (*GetPose)(const char* vehicleName); +extern AirSimCollisionInfo (*GetCollisionInfo)(const char* vehicleName); +extern AirSimRCData (*GetRCData)(const char* vehicleName); +extern AirSimImageResponse (*GetSimImages)(AirSimImageRequest request, const char* vehicleName); +extern bool (*SetRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName); +extern bool (*SetEnableApi)(bool enableApi, const char* vehicleName); +extern bool (*SetCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName); +extern AirSimCarState (*GetCarState)(const char* vehicleName); +extern AirSimCameraInfo (*GetCameraInfo)(const char* cameraName, const char* vehicleName); +extern bool (*SetCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName); +extern bool (*SetCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName); +extern bool (*SetSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex); +extern int (*GetSegmentationObjectId)(const char* meshName); +extern bool (*PrintLogMessage)(const char* message, const char* messageParam, const char* vehicleName, int severity); +extern UnityTransform (*GetTransformFromUnity)(const char* vehicleName); +extern bool (*Reset)(); +extern AirSimVector (*GetVelocity)(const char* vehicleName); +extern RayCastHitResult (*GetRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName); +extern bool (*Pause)(float timeScale); // PInvoke call to initialize the function pointers. This function is called from Unity. extern "C" EXPORT void InitVehicleManager( - bool(*setPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName), - AirSimPose(*getPose)(const char* vehicleName), - AirSimCollisionInfo(*getCollisionInfo)(const char* vehicleName), - AirSimRCData(*getDroneRCData)(const char* vehicleName), - AirSimImageResponse(*getSimImages)(AirSimImageRequest request, const char* vehicleName), - bool(*setRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName), - bool(*setEnableApi)(bool enableApi, const char* vehicleName), - bool(*setCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName), - AirSimCarState(*getCarState)(const char* vehicleName), - AirSimCameraInfo(*getCameraInfo)(const char* cameraName, const char* vehicleName), - bool(*setCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName), - bool(*setCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName), - bool(*setSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex), - int(*getSegmentationObjectId)(const char* meshName), - bool(*printLogMessage) (const char* message, const char* messageParam, const char* vehicleName, int severity), - UnityTransform(*getTransformFromUnity)(const char* vehicleName), - bool(*reset)(), - AirSimVector(*getVelocity)(const char* vehicleName), - RayCastHitResult(*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), - bool(*pause)(float timeScale) -); + bool (*setPose)(AirSimPose pose, bool ignoreCollision, const char* vehicleName), + AirSimPose (*getPose)(const char* vehicleName), + AirSimCollisionInfo (*getCollisionInfo)(const char* vehicleName), + AirSimRCData (*getDroneRCData)(const char* vehicleName), + AirSimImageResponse (*getSimImages)(AirSimImageRequest request, const char* vehicleName), + bool (*setRotorSpeed)(int rotorIndex, RotorInfo rotorInfo, const char* vehicleName), + bool (*setEnableApi)(bool enableApi, const char* vehicleName), + bool (*setCarApiControls)(msr::airlib::CarApiBase::CarControls controls, const char* vehicleName), + AirSimCarState (*getCarState)(const char* vehicleName), + AirSimCameraInfo (*getCameraInfo)(const char* cameraName, const char* vehicleName), + bool (*setCameraPose)(const char* cameraName, AirSimPose pose, const char* vehicleName), + bool (*setCameraFoV)(const char* cameraName, const float fov_degrees, const char* vehicleName), + bool (*setSegmentationObjectId)(const char* meshName, int objectId, bool isNameRegex), + int (*getSegmentationObjectId)(const char* meshName), + bool (*printLogMessage)(const char* message, const char* messageParam, const char* vehicleName, int severity), + UnityTransform (*getTransformFromUnity)(const char* vehicleName), + bool (*reset)(), + AirSimVector (*getVelocity)(const char* vehicleName), + RayCastHitResult (*getRayCastHit)(AirSimVector startVec, AirSimVector endVec, const char* vehicleName), + bool (*pause)(float timeScale)); diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp index b4e9d6534d..3e3e46d4f4 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.cpp @@ -3,148 +3,142 @@ #include "../Vehicles/Car/SimModeCar.h" #include "../Vehicles/Multirotor/SimModeWorldMultiRotor.h" -SimHUD::SimHUD(std::string sim_mode_name, int port_number) : - sim_mode_name_(sim_mode_name), port_number_(port_number) +SimHUD::SimHUD(std::string sim_mode_name, int port_number) + : sim_mode_name_(sim_mode_name), port_number_(port_number) { - server_started_Successfully_ = false; + server_started_Successfully_ = false; } void SimHUD::BeginPlay() { - try { - initializeSettings(); - createSimMode(); - if (simmode_) - simmode_->startApiServer(); - - server_started_Successfully_ = true; - } - catch (std::exception& ex) - { - PrintLogMessage("Error at startup: ", ex.what(), "", ErrorLogSeverity::Error); - } + try { + initializeSettings(); + createSimMode(); + if (simmode_) + simmode_->startApiServer(); + + server_started_Successfully_ = true; + } + catch (std::exception& ex) { + PrintLogMessage("Error at startup: ", ex.what(), "", ErrorLogSeverity::Error); + } } void SimHUD::Tick(float DeltaSeconds) { - if (simmode_) - { - simmode_->Tick(DeltaSeconds); - } + if (simmode_) { + simmode_->Tick(DeltaSeconds); + } } void SimHUD::EndPlay() { - if (simmode_) - { - simmode_->EndPlay(); - simmode_->stopApiServer(); - } - if (simmode_) { - delete simmode_; - simmode_ = nullptr; - } + if (simmode_) { + simmode_->EndPlay(); + simmode_->stopApiServer(); + } + if (simmode_) { + delete simmode_; + simmode_ = nullptr; + } } SimHUD::ImageType SimHUD::getSubwindowCameraType(int window_index) { - //TODO: index check - return getSubWindowSettings().at(window_index).image_type; + //TODO: index check + return getSubWindowSettings().at(window_index).image_type; } void SimHUD::setSubwindowCameraType(int window_index, ImageType type) { - getSubWindowSettings().at(window_index).image_type = type; + getSubWindowSettings().at(window_index).image_type = type; } bool SimHUD::getSubwindowVisible(int window_index) { - return getSubWindowSettings().at(window_index).visible; + return getSubWindowSettings().at(window_index).visible; } void SimHUD::setSubwindowVisible(int window_index, bool is_visible) { - getSubWindowSettings().at(window_index).visible = is_visible; + getSubWindowSettings().at(window_index).visible = is_visible; } void SimHUD::initializeSettings() { - std::string settingsText; - if (getSettingsText(settingsText)) - AirSimSettings::initializeSettings(settingsText); - else - AirSimSettings::createDefaultSettingsFile(); + std::string settingsText; + if (getSettingsText(settingsText)) + AirSimSettings::initializeSettings(settingsText); + else + AirSimSettings::createDefaultSettingsFile(); - AirSimSettings::singleton().load(std::bind(&SimHUD::getSimModeFromUser, this)); + AirSimSettings::singleton().load(std::bind(&SimHUD::getSimModeFromUser, this)); - for (const auto& warning : AirSimSettings::singleton().warning_messages) { - PrintLogMessage(warning.c_str(), "LogDebugLevel::Failure", "", ErrorLogSeverity::Error); - } - for (const auto& error : AirSimSettings::singleton().error_messages) { - PrintLogMessage(error.c_str(), "settings.json", "", ErrorLogSeverity::Error); - } + for (const auto& warning : AirSimSettings::singleton().warning_messages) { + PrintLogMessage(warning.c_str(), "LogDebugLevel::Failure", "", ErrorLogSeverity::Error); + } + for (const auto& error : AirSimSettings::singleton().error_messages) { + PrintLogMessage(error.c_str(), "settings.json", "", ErrorLogSeverity::Error); + } } const std::vector& SimHUD::getSubWindowSettings() const { - return AirSimSettings::singleton().subwindow_settings; + return AirSimSettings::singleton().subwindow_settings; } std::vector& SimHUD::getSubWindowSettings() { - return AirSimSettings::singleton().subwindow_settings; + return AirSimSettings::singleton().subwindow_settings; } SimModeBase* SimHUD::GetSimMode() { - return simmode_; + return simmode_; } std::string SimHUD::getSimModeFromUser() { - return sim_mode_name_; + return sim_mode_name_; } void SimHUD::createSimMode() { - std::string simmode_name = AirSimSettings::singleton().simmode_name; + std::string simmode_name = AirSimSettings::singleton().simmode_name; - if (simmode_name == "Multirotor") - simmode_ = new SimModeWorldMultiRotor(port_number_); - else if (simmode_name == "Car") - simmode_ = new SimModeCar(port_number_); + if (simmode_name == "Multirotor") + simmode_ = new SimModeWorldMultiRotor(port_number_); + else if (simmode_name == "Car") + simmode_ = new SimModeCar(port_number_); - simmode_->BeginPlay(); + simmode_->BeginPlay(); } // Attempts to parse the settings text from one of multiple locations. // First, check the command line for settings provided via "-s" or "--settings" arguments // Next, check the executable's working directory for the settings file. -// Finally, check the user's documents folder. +// Finally, check the user's documents folder. // If the settings file cannot be read, throw an exception bool SimHUD::getSettingsText(std::string& settingsText) { - return ( - readSettingsTextFromFile(msr::airlib::Settings::getExecutableFullPath("settings.json"), settingsText) - || - readSettingsTextFromFile(msr::airlib::Settings::Settings::getUserDirectoryFullPath("settings.json"), settingsText)); + return ( + readSettingsTextFromFile(msr::airlib::Settings::getExecutableFullPath("settings.json"), settingsText) || + readSettingsTextFromFile(msr::airlib::Settings::Settings::getUserDirectoryFullPath("settings.json"), settingsText)); } bool SimHUD::readSettingsTextFromFile(std::string settingsFilepath, std::string& settingsText) { - std::ifstream file(settingsFilepath); - if (!file.fail()) - { - std::stringstream buffer; - buffer << file.rdbuf(); - settingsText = buffer.str(); - PrintLogMessage("Loaded settings from ", settingsFilepath.c_str(), "", ErrorLogSeverity::Information); - return true; - } - else - { - PrintLogMessage("Cannot read settings file ", settingsFilepath.c_str(), "", ErrorLogSeverity::Error); - } - return false; + std::ifstream file(settingsFilepath); + if (!file.fail()) { + std::stringstream buffer; + buffer << file.rdbuf(); + settingsText = buffer.str(); + PrintLogMessage("Loaded settings from ", settingsFilepath.c_str(), "", ErrorLogSeverity::Information); + return true; + } + else { + PrintLogMessage("Cannot read settings file ", settingsFilepath.c_str(), "", ErrorLogSeverity::Error); + } + return false; } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h index 2ef6edabed..b6178273ae 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimHUD/SimHUD.h @@ -5,35 +5,35 @@ class SimHUD { public: - typedef msr::airlib::ImageCaptureBase::ImageType ImageType; - typedef msr::airlib::AirSimSettings AirSimSettings; + typedef msr::airlib::ImageCaptureBase::ImageType ImageType; + typedef msr::airlib::AirSimSettings AirSimSettings; private: - void createSimMode(); - void initializeSettings(); - const std::vector& getSubWindowSettings() const; - std::vector& getSubWindowSettings(); - bool getSettingsText(std::string& settingsText); - bool readSettingsTextFromFile(std::string fileName, std::string& settingsText); - std::string getSimModeFromUser(); + void createSimMode(); + void initializeSettings(); + const std::vector& getSubWindowSettings() const; + std::vector& getSubWindowSettings(); + bool getSettingsText(std::string& settingsText); + bool readSettingsTextFromFile(std::string fileName, std::string& settingsText); + std::string getSimModeFromUser(); public: - SimHUD(std::string sime_mode_name, int port_number); - SimModeBase* GetSimMode(); - ImageType getSubwindowCameraType(int window_index); - void setSubwindowCameraType(int window_index, ImageType type); - bool getSubwindowVisible(int window_index); - void setSubwindowVisible(int window_index, bool is_visible); - virtual void BeginPlay(); - virtual void EndPlay(); - virtual void Tick(float DeltaSeconds); + SimHUD(std::string sime_mode_name, int port_number); + SimModeBase* GetSimMode(); + ImageType getSubwindowCameraType(int window_index); + void setSubwindowCameraType(int window_index, ImageType type); + bool getSubwindowVisible(int window_index); + void setSubwindowVisible(int window_index, bool is_visible); + virtual void BeginPlay(); + virtual void EndPlay(); + virtual void Tick(float DeltaSeconds); private: - typedef common_utils::Utils Utils; - SimModeBase* simmode_; - std::string sim_mode_name_; - int port_number_; + typedef common_utils::Utils Utils; + SimModeBase* simmode_; + std::string sim_mode_name_; + int port_number_; public: - bool server_started_Successfully_; + bool server_started_Successfully_; }; \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index 6bc978d05e..7326472065 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -5,86 +5,86 @@ #include "../PInvokeWrapper.h" #include "../WorldSimApi.h" -SimModeBase::SimModeBase(int port_number) : - port_number_(port_number) +SimModeBase::SimModeBase(int port_number) + : port_number_(port_number) { } void SimModeBase::BeginPlay() { - debug_reporter_.initialize(false); - debug_reporter_.reset(); - global_ned_transform_.reset(new NedTransform(GetVehicleStartTransform())); - world_sim_api_.reset(new WorldSimApi(this)); - api_provider_.reset(new msr::airlib::ApiProvider(world_sim_api_.get())); - setupClockSpeed(); - record_tick_count = 0; - setupVehiclesAndCamera(); + debug_reporter_.initialize(false); + debug_reporter_.reset(); + global_ned_transform_.reset(new NedTransform(GetVehicleStartTransform())); + world_sim_api_.reset(new WorldSimApi(this)); + api_provider_.reset(new msr::airlib::ApiProvider(world_sim_api_.get())); + setupClockSpeed(); + record_tick_count = 0; + setupVehiclesAndCamera(); } void SimModeBase::Tick(float DeltaSeconds) { - for (auto& api : getApiProvider()->getVehicleSimApis()) - static_cast(api)->pawnTick(DeltaSeconds); - showClockStats(); - updateDebugReport(debug_reporter_); + for (auto& api : getApiProvider()->getVehicleSimApis()) + static_cast(api)->pawnTick(DeltaSeconds); + showClockStats(); + updateDebugReport(debug_reporter_); } void SimModeBase::showClockStats() { - float clock_speed = getSettings().clock_speed; - if (clock_speed != 1) - { - PrintLogMessage("ClockSpeed config, actual: ", - Utils::stringf("%f, %f", clock_speed, ClockFactory::get()->getTrueScaleWrtWallClock()).c_str(), - "", ErrorLogSeverity::Information); - } + float clock_speed = getSettings().clock_speed; + if (clock_speed != 1) { + PrintLogMessage("ClockSpeed config, actual: ", + Utils::stringf("%f, %f", clock_speed, ClockFactory::get()->getTrueScaleWrtWallClock()).c_str(), + "", + ErrorLogSeverity::Information); + } } const NedTransform& SimModeBase::getGlobalNedTransform() { - return *global_ned_transform_; + return *global_ned_transform_; } void SimModeBase::EndPlay() { - world_sim_api_.reset(); - api_provider_.reset(); - api_server_.reset(); - global_ned_transform_.reset(); - vehicle_sim_apis_.clear(); + world_sim_api_.reset(); + api_provider_.reset(); + api_server_.reset(); + global_ned_transform_.reset(); + vehicle_sim_apis_.clear(); } bool SimModeBase::isPaused() const { - return false; + return false; } void SimModeBase::pause(bool is_paused) { - //should be overridden by derived class - unused(is_paused); - throw std::domain_error("Pause is not implemented by SimMode"); + //should be overridden by derived class + unused(is_paused); + throw std::domain_error("Pause is not implemented by SimMode"); } void SimModeBase::continueForTime(double seconds) { - //should be overridden by derived class - unused(seconds); - throw std::domain_error("continueForTime is not implemented by SimMode"); + //should be overridden by derived class + unused(seconds); + throw std::domain_error("continueForTime is not implemented by SimMode"); } void SimModeBase::setTimeOfDay(bool is_enabled, const std::string& start_datetime, bool is_start_datetime_dst, - float celestial_clock_speed, float update_interval_secs, bool move_sun) + float celestial_clock_speed, float update_interval_secs, bool move_sun) { - unused(is_enabled); - unused(start_datetime); - unused(is_start_datetime_dst); - unused(celestial_clock_speed); - unused(update_interval_secs); - unused(move_sun); - //commenting this out for now to avoid unintentional Unity startup failure - //throw std::domain_error("setTimeOfDay is not implemented by SimMode"); + unused(is_enabled); + unused(start_datetime); + unused(is_start_datetime_dst); + unused(celestial_clock_speed); + unused(update_interval_secs); + unused(move_sun); + //commenting this out for now to avoid unintentional Unity startup failure + //throw std::domain_error("setTimeOfDay is not implemented by SimMode"); } void SimModeBase::setWind(const msr::airlib::Vector3r& wind) const @@ -96,170 +96,168 @@ void SimModeBase::setWind(const msr::airlib::Vector3r& wind) const std::unique_ptr SimModeBase::createApiServer() const { - //this will be the case when compilation with RPCLIB is disabled or simmode doesn't support APIs - return nullptr; + //this will be the case when compilation with RPCLIB is disabled or simmode doesn't support APIs + return nullptr; } void SimModeBase::setupClockSpeed() { - //default setup - this should be overridden in derived modes as needed + //default setup - this should be overridden in derived modes as needed - float clock_speed = getSettings().clock_speed; + float clock_speed = getSettings().clock_speed; - //setup clock in ClockFactory - std::string clock_type = getSettings().clock_type; + //setup clock in ClockFactory + std::string clock_type = getSettings().clock_type; - if (clock_type == "ScalableClock") - ClockFactory::get(std::make_shared(clock_speed == 1 ? 1 : 1 / clock_speed)); - else if (clock_type == "SteppableClock") - ClockFactory::get(std::make_shared( - static_cast(msr::airlib::SteppableClock::DefaultStepSize * clock_speed))); - else - throw std::invalid_argument(common_utils::Utils::stringf( - "clock_type %s is not recognized", clock_type.c_str())); + if (clock_type == "ScalableClock") + ClockFactory::get(std::make_shared(clock_speed == 1 ? 1 : 1 / clock_speed)); + else if (clock_type == "SteppableClock") + ClockFactory::get(std::make_shared( + static_cast(msr::airlib::SteppableClock::DefaultStepSize * clock_speed))); + else + throw std::invalid_argument(common_utils::Utils::stringf( + "clock_type %s is not recognized", clock_type.c_str())); } void SimModeBase::reset() { - for (auto& api : getApiProvider()->getVehicleSimApis()) { - api->reset(); - } + for (auto& api : getApiProvider()->getVehicleSimApis()) { + api->reset(); + } } std::string SimModeBase::getDebugReport() { - return debug_reporter_.getOutput(); + return debug_reporter_.getOutput(); } const msr::airlib::AirSimSettings& SimModeBase::getSettings() const { - return AirSimSettings::singleton(); + return AirSimSettings::singleton(); } //API server start/stop void SimModeBase::startApiServer() { - if (getSettings().enable_rpc) { + if (getSettings().enable_rpc) { #ifdef AIRLIB_NO_RPC - api_server_.reset(); + api_server_.reset(); #else - api_server_ = createApiServer(); + api_server_ = createApiServer(); #endif - try { - api_server_->start(false, vehicle_sim_apis_.size() + 4); //TODO: set thread for vehicle count - } - catch (std::exception& ex) { - PrintLogMessage("Cannot start RpcLib Server", ex.what(), "", ErrorLogSeverity::Error); - } - } - else - PrintLogMessage("API server is disabled in settings", "", "", ErrorLogSeverity::Information); - + try { + api_server_->start(false, vehicle_sim_apis_.size() + 4); //TODO: set thread for vehicle count + } + catch (std::exception& ex) { + PrintLogMessage("Cannot start RpcLib Server", ex.what(), "", ErrorLogSeverity::Error); + } + } + else + PrintLogMessage("API server is disabled in settings", "", "", ErrorLogSeverity::Information); } void SimModeBase::stopApiServer() { - if (api_server_ != nullptr) { - api_server_->stop(); - api_server_.reset(nullptr); - } + if (api_server_ != nullptr) { + api_server_->stop(); + api_server_.reset(nullptr); + } } bool SimModeBase::isApiServerStarted() { - return api_server_ != nullptr; + return api_server_ != nullptr; } void SimModeBase::updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter) { - debug_reporter.update(); - debug_reporter.setEnable(EnableReport); - - if (debug_reporter.canReport()) { - debug_reporter.clearReport(); - - for (auto& api : getApiProvider()->getVehicleSimApis()) { - PawnSimApi* vehicle_sim_api = static_cast(api); - msr::airlib::StateReporter& reporter = *debug_reporter.getReporter(); - std::string vehicle_name = vehicle_sim_api->getVehicleName(); - - reporter.writeHeading(std::string("Vehicle: ").append( - vehicle_name == "" ? "(default)" : vehicle_name)); - - const msr::airlib::Kinematics::State* kinematics = vehicle_sim_api->getGroundTruthKinematics(); - - reporter.writeValue("Position", kinematics->pose.position); - reporter.writeValue("Orientation", kinematics->pose.orientation); - reporter.writeValue("Lin-Vel", kinematics->twist.linear); - reporter.writeValue("Lin-Accl", kinematics->accelerations.linear); - reporter.writeValue("Ang-Vel", kinematics->twist.angular); - reporter.writeValue("Ang-Accl", kinematics->accelerations.angular); - } - } + debug_reporter.update(); + debug_reporter.setEnable(EnableReport); + + if (debug_reporter.canReport()) { + debug_reporter.clearReport(); + + for (auto& api : getApiProvider()->getVehicleSimApis()) { + PawnSimApi* vehicle_sim_api = static_cast(api); + msr::airlib::StateReporter& reporter = *debug_reporter.getReporter(); + std::string vehicle_name = vehicle_sim_api->getVehicleName(); + + reporter.writeHeading(std::string("Vehicle: ").append(vehicle_name == "" ? "(default)" : vehicle_name)); + + const msr::airlib::Kinematics::State* kinematics = vehicle_sim_api->getGroundTruthKinematics(); + + reporter.writeValue("Position", kinematics->pose.position); + reporter.writeValue("Orientation", kinematics->pose.orientation); + reporter.writeValue("Lin-Vel", kinematics->twist.linear); + reporter.writeValue("Lin-Accl", kinematics->accelerations.linear); + reporter.writeValue("Ang-Vel", kinematics->twist.angular); + reporter.writeValue("Ang-Accl", kinematics->accelerations.angular); + } + } } void SimModeBase::setupVehiclesAndCamera() { - //determine camera director camera default pose and spawn it - const auto& camera_director_setting = getSettings().camera_director; - for (auto const& vehicle_setting_pair : getSettings().vehicles) { - const auto& vehicle_setting = *vehicle_setting_pair.second; - const std::string& vehicle_name = vehicle_setting.vehicle_name; + //determine camera director camera default pose and spawn it + const auto& camera_director_setting = getSettings().camera_director; + for (auto const& vehicle_setting_pair : getSettings().vehicles) { + const auto& vehicle_setting = *vehicle_setting_pair.second; + const std::string& vehicle_name = vehicle_setting.vehicle_name; - UnityPawn* vehicle_pawn = GetVehiclePawn(vehicle_name); - const auto& home_geopoint = msr::airlib::EarthUtils::nedToGeodetic(GetVehiclePosition(vehicle_name), getSettings().origin_geopoint); + UnityPawn* vehicle_pawn = GetVehiclePawn(vehicle_name); + const auto& home_geopoint = msr::airlib::EarthUtils::nedToGeodetic(GetVehiclePosition(vehicle_name), getSettings().origin_geopoint); - PawnSimApi::Params pawn_sim_api_params(vehicle_pawn, &getGlobalNedTransform(), home_geopoint, vehicle_name); - auto vehicle_sim_api = createVehicleSimApi(pawn_sim_api_params); - auto vehicle_sim_api_p = vehicle_sim_api.get(); - auto vehicle_Api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); + PawnSimApi::Params pawn_sim_api_params(vehicle_pawn, &getGlobalNedTransform(), home_geopoint, vehicle_name); + auto vehicle_sim_api = createVehicleSimApi(pawn_sim_api_params); + auto vehicle_sim_api_p = vehicle_sim_api.get(); + auto vehicle_Api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); - getApiProvider()->insert_or_assign(vehicle_name, vehicle_Api, vehicle_sim_api_p); + getApiProvider()->insert_or_assign(vehicle_name, vehicle_Api, vehicle_sim_api_p); - if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name != "") - getApiProvider()->makeDefaultVehicle(vehicle_name); + if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name != "") + getApiProvider()->makeDefaultVehicle(vehicle_name); - vehicle_sim_apis_.push_back(std::move(vehicle_sim_api)); - } + vehicle_sim_apis_.push_back(std::move(vehicle_sim_api)); + } } const msr::airlib::Vector3r SimModeBase::GetVehiclePosition(const std::string& vehicle_name) { - AirSimPose airSimPose = GetPose(vehicle_name.c_str()); - msr::airlib::Vector3r vehiclePosition(airSimPose.position.x, airSimPose.position.y, airSimPose.position.z); - return vehiclePosition; + AirSimPose airSimPose = GetPose(vehicle_name.c_str()); + msr::airlib::Vector3r vehiclePosition(airSimPose.position.x, airSimPose.position.y, airSimPose.position.z); + return vehiclePosition; } UnityPawn* SimModeBase::GetVehiclePawn(const std::string& vehicle_name) { - return nullptr; + return nullptr; } bool SimModeBase::isVehicleTypeSupported(const std::string& vehicle_type) const { - //derived class should override this method to retrieve types of pawns they support - return false; + //derived class should override this method to retrieve types of pawns they support + return false; } std::unique_ptr SimModeBase::createVehicleSimApi( - const PawnSimApi::Params& pawn_sim_api_params) const + const PawnSimApi::Params& pawn_sim_api_params) const { - unused(pawn_sim_api_params); + unused(pawn_sim_api_params); auto sim_api = std::unique_ptr(); sim_api->initialize(); return sim_api; } msr::airlib::VehicleApiBase* SimModeBase::getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, - const PawnSimApi* sim_api) const + const PawnSimApi* sim_api) const { - //derived class should override this method to retrieve types of pawns they support - return nullptr; + //derived class should override this method to retrieve types of pawns they support + return nullptr; } UnityTransform SimModeBase::GetVehicleStartTransform() { - //can we just take origin in Unity here? - UnityTransform unityTransform; - return unityTransform; + //can we just take origin in Unity here? + UnityTransform unityTransform; + return unityTransform; } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h index d749d05daf..655e79ae0b 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.h @@ -12,78 +12,78 @@ class SimModeBase { private: - typedef common_utils::Utils Utils; - typedef msr::airlib::ClockFactory ClockFactory; - typedef msr::airlib::TTimePoint TTimePoint; - typedef msr::airlib::TTimeDelta TTimeDelta; + typedef common_utils::Utils Utils; + typedef msr::airlib::ClockFactory ClockFactory; + typedef msr::airlib::TTimePoint TTimePoint; + typedef msr::airlib::TTimeDelta TTimeDelta; protected: - typedef msr::airlib::AirSimSettings AirSimSettings; + typedef msr::airlib::AirSimSettings AirSimSettings; private: - const msr::airlib::Vector3r GetVehiclePosition(const std::string& vehicle_name); - UnityTransform GetVehicleStartTransform(); - void showClockStats(); + const msr::airlib::Vector3r GetVehiclePosition(const std::string& vehicle_name); + UnityTransform GetVehicleStartTransform(); + void showClockStats(); protected: - virtual std::unique_ptr createApiServer() const; - virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const; - virtual std::unique_ptr createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const; - virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, const PawnSimApi* sim_api) const; - virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name); - virtual void setupVehiclesAndCamera(); - virtual void setupClockSpeed(); //called when SimMode should handle clock speed setting - virtual void updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter); - virtual const msr::airlib::AirSimSettings& getSettings() const; + virtual std::unique_ptr createApiServer() const; + virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const; + virtual std::unique_ptr createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const; + virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, const PawnSimApi* sim_api) const; + virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name); + virtual void setupVehiclesAndCamera(); + virtual void setupClockSpeed(); //called when SimMode should handle clock speed setting + virtual void updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter); + virtual const msr::airlib::AirSimSettings& getSettings() const; public: - SimModeBase(int port_number); - virtual void BeginPlay(); - virtual void EndPlay(); - virtual void Tick(float DeltaSeconds) = 0; - virtual void reset(); - virtual std::string getDebugReport(); - virtual bool isPaused() const; - virtual void pause(bool is_paused); - virtual void continueForTime(double seconds); + SimModeBase(int port_number); + virtual void BeginPlay(); + virtual void EndPlay(); + virtual void Tick(float DeltaSeconds) = 0; + virtual void reset(); + virtual std::string getDebugReport(); + virtual bool isPaused() const; + virtual void pause(bool is_paused); + virtual void continueForTime(double seconds); virtual void setWind(const msr::airlib::Vector3r& wind) const; - void startApiServer(); - void stopApiServer(); - bool isApiServerStarted(); - const NedTransform& getGlobalNedTransform(); + void startApiServer(); + void stopApiServer(); + bool isApiServerStarted(); + const NedTransform& getGlobalNedTransform(); virtual void setTimeOfDay(bool is_enabled, const std::string& start_datetime, bool is_start_datetime_dst, - float celestial_clock_speed, float update_interval_secs, bool move_sun); + float celestial_clock_speed, float update_interval_secs, bool move_sun); - msr::airlib::ApiProvider* getApiProvider() const - { - return api_provider_.get(); - } + msr::airlib::ApiProvider* getApiProvider() const + { + return api_provider_.get(); + } - const PawnSimApi* getVehicleSimApi(const std::string& vehicle_name = "") const - { - return static_cast(api_provider_->getVehicleSimApi(vehicle_name)); - } + const PawnSimApi* getVehicleSimApi(const std::string& vehicle_name = "") const + { + return static_cast(api_provider_->getVehicleSimApi(vehicle_name)); + } - PawnSimApi* getVehicleSimApi(const std::string& vehicle_name = "") - { - return static_cast(api_provider_->getVehicleSimApi(vehicle_name)); - } + PawnSimApi* getVehicleSimApi(const std::string& vehicle_name = "") + { + return static_cast(api_provider_->getVehicleSimApi(vehicle_name)); + } private: - TTimePoint tod_sim_clock_start_; - TTimePoint tod_last_update_; - std::time_t tod_start_time_; - std::unique_ptr global_ned_transform_; - std::unique_ptr world_sim_api_; - std::unique_ptr api_provider_; - std::unique_ptr api_server_; - msr::airlib::StateReporterWrapper debug_reporter_; - std::vector> vehicle_sim_apis_; + TTimePoint tod_sim_clock_start_; + TTimePoint tod_last_update_; + std::time_t tod_start_time_; + std::unique_ptr global_ned_transform_; + std::unique_ptr world_sim_api_; + std::unique_ptr api_provider_; + std::unique_ptr api_server_; + msr::airlib::StateReporterWrapper debug_reporter_; + std::vector> vehicle_sim_apis_; protected: - int record_tick_count; + int record_tick_count; public: - int port_number_; - bool EnableReport = false; + int port_number_; + bool EnableReport = false; }; \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp index 890214291d..b205478575 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.cpp @@ -2,96 +2,92 @@ #include "SimModeWorldBase.h" #include "../PInvokeWrapper.h" -SimModeWorldBase::SimModeWorldBase(int port_number) : - SimModeBase(port_number) +SimModeWorldBase::SimModeWorldBase(int port_number) + : SimModeBase(port_number) { } void SimModeWorldBase::BeginPlay() { - SimModeBase::BeginPlay(); + SimModeBase::BeginPlay(); } void SimModeWorldBase::initializeForPlay() { - std::vector vehicles; - for (auto& api : getApiProvider()->getVehicleSimApis()) - vehicles.push_back(api); + std::vector vehicles; + for (auto& api : getApiProvider()->getVehicleSimApis()) + vehicles.push_back(api); - std::unique_ptr physics_engine = createPhysicsEngine(); - physics_engine_ = physics_engine.get(); - physics_world_.reset(new msr::airlib::PhysicsWorld(std::move(physics_engine), - vehicles, getPhysicsLoopPeriod())); + std::unique_ptr physics_engine = createPhysicsEngine(); + physics_engine_ = physics_engine.get(); + physics_world_.reset(new msr::airlib::PhysicsWorld(std::move(physics_engine), + vehicles, + getPhysicsLoopPeriod())); } void SimModeWorldBase::EndPlay() { - //remove everything that we created in BeginPlay - physics_world_.reset(); - SimModeBase::EndPlay(); + //remove everything that we created in BeginPlay + physics_world_.reset(); + SimModeBase::EndPlay(); } void SimModeWorldBase::startAsyncUpdator() { - physics_world_->startAsyncUpdator(); + physics_world_->startAsyncUpdator(); } void SimModeWorldBase::stopAsyncUpdator() { - physics_world_->stopAsyncUpdator(); + physics_world_->stopAsyncUpdator(); } long long SimModeWorldBase::getPhysicsLoopPeriod() const //nanoseconds { - return physics_loop_period_; + return physics_loop_period_; } -void SimModeWorldBase::setPhysicsLoopPeriod(long long period) +void SimModeWorldBase::setPhysicsLoopPeriod(long long period) { - physics_loop_period_ = period; + physics_loop_period_ = period; } std::unique_ptr SimModeWorldBase::createPhysicsEngine() { - std::unique_ptr physics_engine; - std::string physics_engine_name = getSettings().physics_engine_name; - if (physics_engine_name == "") - { - physics_engine.reset(); //no physics engine - } - else if (physics_engine_name == "FastPhysicsEngine") - { - msr::airlib::Settings fast_phys_settings; - if (msr::airlib::Settings::singleton().getChild("FastPhysicsEngine", fast_phys_settings)) - { - physics_engine.reset(new msr::airlib::FastPhysicsEngine(fast_phys_settings.getBool("EnableGroundLock", true))); - } - else - { - physics_engine.reset(new msr::airlib::FastPhysicsEngine()); - } - } - else - { - physics_engine.reset(); - PrintLogMessage("Unrecognized physics engine name: ", physics_engine_name.c_str(), "", ErrorLogSeverity::Warnning); - } - return physics_engine; + std::unique_ptr physics_engine; + std::string physics_engine_name = getSettings().physics_engine_name; + if (physics_engine_name == "") { + physics_engine.reset(); //no physics engine + } + else if (physics_engine_name == "FastPhysicsEngine") { + msr::airlib::Settings fast_phys_settings; + if (msr::airlib::Settings::singleton().getChild("FastPhysicsEngine", fast_phys_settings)) { + physics_engine.reset(new msr::airlib::FastPhysicsEngine(fast_phys_settings.getBool("EnableGroundLock", true))); + } + else { + physics_engine.reset(new msr::airlib::FastPhysicsEngine()); + } + } + else { + physics_engine.reset(); + PrintLogMessage("Unrecognized physics engine name: ", physics_engine_name.c_str(), "", ErrorLogSeverity::Warnning); + } + return physics_engine; } bool SimModeWorldBase::isPaused() const { - return physics_world_->isPaused(); + return physics_world_->isPaused(); } void SimModeWorldBase::pause(bool is_paused) { - physics_world_->pause(is_paused); + physics_world_->pause(is_paused); } void SimModeWorldBase::continueForTime(double seconds) { - physics_world_->continueForTime(seconds); + physics_world_->continueForTime(seconds); } void SimModeWorldBase::setWind(const msr::airlib::Vector3r& wind) const @@ -101,38 +97,38 @@ void SimModeWorldBase::setWind(const msr::airlib::Vector3r& wind) const void SimModeWorldBase::updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter) { - unused(debug_reporter); - //we use custom debug reporting for this class + unused(debug_reporter); + //we use custom debug reporting for this class } void SimModeWorldBase::Tick(float DeltaSeconds) { - { //keep this lock as short as possible - physics_world_->lock(); + { //keep this lock as short as possible + physics_world_->lock(); - physics_world_->enableStateReport(EnableReport); - physics_world_->updateStateReport(); + physics_world_->enableStateReport(EnableReport); + physics_world_->updateStateReport(); - for (auto& api : getApiProvider()->getVehicleSimApis()) - api->updateRenderedState(DeltaSeconds); + for (auto& api : getApiProvider()->getVehicleSimApis()) + api->updateRenderedState(DeltaSeconds); - physics_world_->unlock(); - } + physics_world_->unlock(); + } - //perform any expensive rendering update outside of lock region - for (auto& api : getApiProvider()->getVehicleSimApis()) - api->updateRendering(DeltaSeconds); + //perform any expensive rendering update outside of lock region + for (auto& api : getApiProvider()->getVehicleSimApis()) + api->updateRendering(DeltaSeconds); - SimModeBase::Tick(DeltaSeconds); + SimModeBase::Tick(DeltaSeconds); } void SimModeWorldBase::reset() { - physics_world_->reset(); - //no need to call base reset because of our custom implementation + physics_world_->reset(); + //no need to call base reset because of our custom implementation } std::string SimModeWorldBase::getDebugReport() { - return physics_world_->getDebugReport(); + return physics_world_->getDebugReport(); } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h index 85100baabe..202426088c 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeWorldBase.h @@ -7,47 +7,47 @@ class SimModeWorldBase : public SimModeBase { private: - typedef msr::airlib::UpdatableObject UpdatableObject; - typedef msr::airlib::PhysicsEngineBase PhysicsEngineBase; - typedef msr::airlib::ClockFactory ClockFactory; + typedef msr::airlib::UpdatableObject UpdatableObject; + typedef msr::airlib::PhysicsEngineBase PhysicsEngineBase; + typedef msr::airlib::ClockFactory ClockFactory; private: - //create the physics engine as needed from settings - std::unique_ptr createPhysicsEngine(); + //create the physics engine as needed from settings + std::unique_ptr createPhysicsEngine(); protected: - void startAsyncUpdator(); - void stopAsyncUpdator(); - virtual void updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter) override; - long long getPhysicsLoopPeriod() const; - void setPhysicsLoopPeriod(long long period); + void startAsyncUpdator(); + void stopAsyncUpdator(); + virtual void updateDebugReport(msr::airlib::StateReporterWrapper& debug_reporter) override; + long long getPhysicsLoopPeriod() const; + void setPhysicsLoopPeriod(long long period); - //should be called by derived class once all api_provider_ is ready to use - void initializeForPlay(); + //should be called by derived class once all api_provider_ is ready to use + void initializeForPlay(); public: - SimModeWorldBase(int port_number); - virtual void BeginPlay() override; - virtual void EndPlay() override; - virtual void Tick(float DeltaSeconds) override; - virtual void reset() override; - virtual std::string getDebugReport() override; - virtual bool isPaused() const override; - virtual void pause(bool is_paused) override; - virtual void continueForTime(double seconds) override; + SimModeWorldBase(int port_number); + virtual void BeginPlay() override; + virtual void EndPlay() override; + virtual void Tick(float DeltaSeconds) override; + virtual void reset() override; + virtual std::string getDebugReport() override; + virtual bool isPaused() const override; + virtual void pause(bool is_paused) override; + virtual void continueForTime(double seconds) override; virtual void setWind(const msr::airlib::Vector3r& wind) const override; private: - std::unique_ptr physics_world_; - PhysicsEngineBase* physics_engine_; + std::unique_ptr physics_world_; + PhysicsEngineBase* physics_engine_; - /* 300Hz seems to be minimum for non-aggressive flights + /* 300Hz seems to be minimum for non-aggressive flights 400Hz is needed for moderately aggressive flights (such as high yaw rate with simultaneous back move) 500Hz is recommended for more aggressive flights Lenovo P50 high-end config laptop seems to be topping out at 400Hz. HP Z840 desktop high-end config seems to be able to go up to 500Hz. To increase freq with limited CPU power, switch Barometer to constant ref mode. */ - long long physics_loop_period_ = 3000000LL; //3ms + long long physics_loop_period_ = 3000000LL; //3ms }; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp index f2a7fb05d6..2ce52a46c8 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.cpp @@ -2,6 +2,6 @@ void StartServerThread(std::string sim_mode_name, int port_number) { - key = new SimHUD(sim_mode_name, port_number); - key->BeginPlay(); + key = new SimHUD(sim_mode_name, port_number); + key->BeginPlay(); } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h index 503f3a665b..d34f0e9eed 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/UnityToAirSimCalls.h @@ -6,9 +6,9 @@ #include "Logger.h" #ifdef _WIN32 - #define EXPORT __declspec(dllexport) +#define EXPORT __declspec(dllexport) #else - #define EXPORT __attribute__((visibility("default"))) +#define EXPORT __attribute__((visibility("default"))) #endif static SimHUD* key = nullptr; @@ -17,44 +17,40 @@ void StartServerThread(std::string sim_mode_name, int port_number); extern "C" EXPORT bool StartServer(char* sim_mode_name, int port_number) { - LOGGER->WriteLog("Starting server for : " + std::string(sim_mode_name)); - std::thread server_thread(StartServerThread, sim_mode_name, port_number); - server_thread.detach(); - int waitCounter = 25; // waiting for maximum 5 seconds to start a server. - while ((key == nullptr || !key->server_started_Successfully_) && waitCounter > 0) - { - std::this_thread::sleep_for(std::chrono::milliseconds(200)); - waitCounter--; - } - return key->server_started_Successfully_; + LOGGER->WriteLog("Starting server for : " + std::string(sim_mode_name)); + std::thread server_thread(StartServerThread, sim_mode_name, port_number); + server_thread.detach(); + int waitCounter = 25; // waiting for maximum 5 seconds to start a server. + while ((key == nullptr || !key->server_started_Successfully_) && waitCounter > 0) { + std::this_thread::sleep_for(std::chrono::milliseconds(200)); + waitCounter--; + } + return key->server_started_Successfully_; } extern "C" EXPORT void StopServer() { - key->EndPlay(); - if (key != nullptr) - { - delete key; - key = nullptr; - } - LOGGER->WriteLog("Server stopped"); + key->EndPlay(); + if (key != nullptr) { + delete key; + key = nullptr; + } + LOGGER->WriteLog("Server stopped"); } extern "C" EXPORT void CallTick(float deltaSeconds) { - key->Tick(deltaSeconds); + key->Tick(deltaSeconds); } extern "C" EXPORT void InvokeCollisionDetection(char* vehicle_name, AirSimUnity::AirSimCollisionInfo collision_info) { - auto simMode = key->GetSimMode(); - if (simMode) - { - auto vehicleApi = simMode->getVehicleSimApi(vehicle_name); - if (vehicleApi) - { - msr::airlib::CollisionInfo collisionInfo = UnityUtilities::Convert_to_AirSimCollisioinInfo(collision_info); - vehicleApi->OnCollision(collisionInfo); - } - } + auto simMode = key->GetSimMode(); + if (simMode) { + auto vehicleApi = simMode->getVehicleSimApi(vehicle_name); + if (vehicleApi) { + msr::airlib::CollisionInfo collisionInfo = UnityUtilities::Convert_to_AirSimCollisioinInfo(collision_info); + vehicleApi->OnCollision(collisionInfo); + } + } } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp index d8c2873af9..e715d861c5 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp @@ -6,14 +6,12 @@ #include "../../UnityUtilities.hpp" #include "../../UnitySensors/UnitySensorFactory.h" - CarPawnSimApi::CarPawnSimApi(const Params& params, - const msr::airlib::CarApiBase::CarControls& keyboard_controls, std::string car_name) - : PawnSimApi(params), params_(params), - keyboard_controls_(keyboard_controls), car_name_(car_name) + const msr::airlib::CarApiBase::CarControls& keyboard_controls, std::string car_name) + : PawnSimApi(params), params_(params), keyboard_controls_(keyboard_controls), car_name_(car_name) { - createVehicleApi(static_cast(params.pawn), params.home_geopoint); - joystick_controls_ = msr::airlib::CarApiBase::CarControls(); + createVehicleApi(static_cast(params.pawn), params.home_geopoint); + joystick_controls_ = msr::airlib::CarApiBase::CarControls(); } void CarPawnSimApi::initialize() @@ -30,155 +28,146 @@ void CarPawnSimApi::createVehicleApi(CarPawn* pawn, const msr::airlib::GeoPoint& { std::shared_ptr sensor_factory = std::make_shared(car_name_, &getNedTransform()); - vehicle_api_ = CarApiFactory::createApi(getVehicleSetting(), sensor_factory, (*getGroundTruthKinematics()), - (*getGroundTruthEnvironment()), home_geopoint); + vehicle_api_ = CarApiFactory::createApi(getVehicleSetting(), sensor_factory, (*getGroundTruthKinematics()), (*getGroundTruthEnvironment()), home_geopoint); pawn_api_ = std::unique_ptr(new CarPawnApi(pawn, getGroundTruthKinematics(), car_name_, vehicle_api_.get())); } std::string CarPawnSimApi::getRecordFileLine(bool is_header_line) const { - std::string common_line = PawnSimApi::getRecordFileLine(is_header_line); - if (is_header_line) - { - return common_line + - "Throttle\tSteering\tBrake\tGear\tHandbrake\tRPM\tSpeed\t"; - } - - const msr::airlib::Kinematics::State* kinematics = getGroundTruthKinematics(); - const auto state = pawn_api_->getCarState(); - - common_line - .append(std::to_string(current_controls_.throttle)).append("\t") - .append(std::to_string(current_controls_.steering)).append("\t") - .append(std::to_string(current_controls_.brake)).append("\t") - .append(std::to_string(state.gear)).append("\t") - .append(std::to_string(state.handbrake)).append("\t") - .append(std::to_string(state.rpm)).append("\t") - .append(std::to_string(state.speed)).append("\t") - ; - - return common_line; + std::string common_line = PawnSimApi::getRecordFileLine(is_header_line); + if (is_header_line) { + return common_line + + "Throttle\tSteering\tBrake\tGear\tHandbrake\tRPM\tSpeed\t"; + } + + const msr::airlib::Kinematics::State* kinematics = getGroundTruthKinematics(); + const auto state = pawn_api_->getCarState(); + + common_line + .append(std::to_string(current_controls_.throttle)) + .append("\t") + .append(std::to_string(current_controls_.steering)) + .append("\t") + .append(std::to_string(current_controls_.brake)) + .append("\t") + .append(std::to_string(state.gear)) + .append("\t") + .append(std::to_string(state.handbrake)) + .append("\t") + .append(std::to_string(state.rpm)) + .append("\t") + .append(std::to_string(state.speed)) + .append("\t"); + + return common_line; } //these are called on render ticks void CarPawnSimApi::updateRenderedState(float dt) { - PawnSimApi::updateRenderedState(dt); + PawnSimApi::updateRenderedState(dt); - vehicle_api_->getStatusMessages(vehicle_api_messages_); + vehicle_api_->getStatusMessages(vehicle_api_messages_); - //TODO: do we need this for cars? - if (getRemoteControlID() >= 0) - vehicle_api_->setRCData(getRCData()); + //TODO: do we need this for cars? + if (getRemoteControlID() >= 0) + vehicle_api_->setRCData(getRCData()); } void CarPawnSimApi::updateRendering(float dt) { - PawnSimApi::updateRendering(dt); - updateCarControls(); - - for (auto i = 0; i < vehicle_api_messages_.size(); ++i) - { - PrintLogMessage(vehicle_api_messages_[i].c_str(), "LogDebugLevel::Success", car_name_.c_str(), ErrorLogSeverity::Information); - } - - try - { - vehicle_api_->sendTelemetry(dt); - } - catch (std::exception &e) - { - PrintLogMessage(e.what(), "LogDebugLevel::Failure", car_name_.c_str(), ErrorLogSeverity::Error); - } + PawnSimApi::updateRendering(dt); + updateCarControls(); + + for (auto i = 0; i < vehicle_api_messages_.size(); ++i) { + PrintLogMessage(vehicle_api_messages_[i].c_str(), "LogDebugLevel::Success", car_name_.c_str(), ErrorLogSeverity::Information); + } + + try { + vehicle_api_->sendTelemetry(dt); + } + catch (std::exception& e) { + PrintLogMessage(e.what(), "LogDebugLevel::Failure", car_name_.c_str(), ErrorLogSeverity::Error); + } } void CarPawnSimApi::updateCarControls() { - auto rc_data = getRCData(); - - if (rc_data.is_initialized) - { - if (!rc_data.is_valid) - { - PrintLogMessage("Control Mode: ", "[INVALID] Wheel/Joystick LogDebugLevel::Informational", car_name_.c_str(), ErrorLogSeverity::Information); - return; - } - PrintLogMessage("Control Mode: ", "Wheel/Joystick - LogDebugLevel::Informational", car_name_.c_str(), ErrorLogSeverity::Information); - - // Thrustmaster devices - if (rc_data.vendor_id == "VID_044F") { - joystick_controls_.steering = rc_data.yaw; - joystick_controls_.throttle = (-rc_data.right_z + 1) / 2; - joystick_controls_.brake = rc_data.throttle; - - auto car_state = vehicle_api_->getCarState(); - float rumble_strength = 0.66f + (car_state.rpm - / car_state.maxrpm) / 3.0f; - float auto_center = (1.0f - 1.0f / (std::abs(car_state.speed / 120) + 1.0f)) - * (rc_data.yaw / 3.0f); - } - // Anything else, typically Logitech G920 wheel - else - { - joystick_controls_.steering = (rc_data.throttle * 2 - 1) * 1.25f; - joystick_controls_.throttle = (-rc_data.roll + 1) / 2; - joystick_controls_.brake = -rc_data.right_z + 1; - } - - //Two steel levers behind wheel - joystick_controls_.handbrake = (rc_data.getSwitch(5)) | (rc_data.getSwitch(6)) ? 1 : 0; - - if ((rc_data.getSwitch(8)) | (rc_data.getSwitch(1))) - { //RSB button or B button - joystick_controls_.manual_gear = -1; - joystick_controls_.is_manual_gear = true; - joystick_controls_.gear_immediate = true; - } - else if ((rc_data.getSwitch(9)) | (rc_data.getSwitch(0))) - { //LSB button or A button - joystick_controls_.manual_gear = 0; - joystick_controls_.is_manual_gear = false; - joystick_controls_.gear_immediate = true; - } - - current_controls_ = joystick_controls_; - } - else - { - PrintLogMessage("Control Mode: ", "Keyboard", getVehicleName().c_str(), ErrorLogSeverity::Information); - current_controls_ = keyboard_controls_; - } - - //if API-client control is not active then we route keyboard/joystick control to car - if (!vehicle_api_->isApiControlEnabled()) - { - //all car controls from anywhere must be routed through API component - vehicle_api_->setCarControls(current_controls_); - pawn_api_->updateMovement(current_controls_); - } - else - { - PrintLogMessage("Control Mode: ", "API", getVehicleName().c_str(), ErrorLogSeverity::Information); - current_controls_ = vehicle_api_->getCarControls(); - pawn_api_->updateMovement(current_controls_); - } + auto rc_data = getRCData(); + + if (rc_data.is_initialized) { + if (!rc_data.is_valid) { + PrintLogMessage("Control Mode: ", "[INVALID] Wheel/Joystick LogDebugLevel::Informational", car_name_.c_str(), ErrorLogSeverity::Information); + return; + } + PrintLogMessage("Control Mode: ", "Wheel/Joystick - LogDebugLevel::Informational", car_name_.c_str(), ErrorLogSeverity::Information); + + // Thrustmaster devices + if (rc_data.vendor_id == "VID_044F") { + joystick_controls_.steering = rc_data.yaw; + joystick_controls_.throttle = (-rc_data.right_z + 1) / 2; + joystick_controls_.brake = rc_data.throttle; + + auto car_state = vehicle_api_->getCarState(); + float rumble_strength = 0.66f + (car_state.rpm / car_state.maxrpm) / 3.0f; + float auto_center = (1.0f - 1.0f / (std::abs(car_state.speed / 120) + 1.0f)) * (rc_data.yaw / 3.0f); + } + // Anything else, typically Logitech G920 wheel + else { + joystick_controls_.steering = (rc_data.throttle * 2 - 1) * 1.25f; + joystick_controls_.throttle = (-rc_data.roll + 1) / 2; + joystick_controls_.brake = -rc_data.right_z + 1; + } + + //Two steel levers behind wheel + joystick_controls_.handbrake = (rc_data.getSwitch(5)) | (rc_data.getSwitch(6)) ? 1 : 0; + + if ((rc_data.getSwitch(8)) | (rc_data.getSwitch(1))) { //RSB button or B button + joystick_controls_.manual_gear = -1; + joystick_controls_.is_manual_gear = true; + joystick_controls_.gear_immediate = true; + } + else if ((rc_data.getSwitch(9)) | (rc_data.getSwitch(0))) { //LSB button or A button + joystick_controls_.manual_gear = 0; + joystick_controls_.is_manual_gear = false; + joystick_controls_.gear_immediate = true; + } + + current_controls_ = joystick_controls_; + } + else { + PrintLogMessage("Control Mode: ", "Keyboard", getVehicleName().c_str(), ErrorLogSeverity::Information); + current_controls_ = keyboard_controls_; + } + + //if API-client control is not active then we route keyboard/joystick control to car + if (!vehicle_api_->isApiControlEnabled()) { + //all car controls from anywhere must be routed through API component + vehicle_api_->setCarControls(current_controls_); + pawn_api_->updateMovement(current_controls_); + } + else { + PrintLogMessage("Control Mode: ", "API", getVehicleName().c_str(), ErrorLogSeverity::Information); + current_controls_ = vehicle_api_->getCarControls(); + pawn_api_->updateMovement(current_controls_); + } } //*** Start: UpdatableState implementation ***// void CarPawnSimApi::resetImplementation() { - setPose(UnityUtilities::Convert_to_Pose(GetInitialPose()), false); - Reset(); + setPose(UnityUtilities::Convert_to_Pose(GetInitialPose()), false); + Reset(); - PawnSimApi::resetImplementation(); - pawn_api_->reset(); + PawnSimApi::resetImplementation(); + pawn_api_->reset(); } //physics tick void CarPawnSimApi::update() { - pawn_api_->update(); - PawnSimApi::update(); + pawn_api_->update(); + PawnSimApi::update(); } //void CarPawnSimApi::reportState(StateReporter& reporter) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp index 56d99508d0..b495dce679 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp @@ -5,99 +5,101 @@ #include "vehicles/car/api/CarRpcLibServer.hpp" #include "../../PInvokeWrapper.h" -SimModeCar::SimModeCar(int port_number) : SimModeBase(port_number) +SimModeCar::SimModeCar(int port_number) + : SimModeBase(port_number) { } void SimModeCar::BeginPlay() { - SimModeBase::BeginPlay(); - initializePauseState(); + SimModeBase::BeginPlay(); + initializePauseState(); } void SimModeCar::initializePauseState() { - pause_period_ = 0; - pause_period_start_ = 0; - pause(false); + pause_period_ = 0; + pause_period_start_ = 0; + pause(false); } bool SimModeCar::isPaused() const { - return current_clockspeed_ == 0; + return current_clockspeed_ == 0; } void SimModeCar::pause(bool is_paused) { - if (is_paused) - current_clockspeed_ = 0; - else - current_clockspeed_ = getSettings().clock_speed; + if (is_paused) + current_clockspeed_ = 0; + else + current_clockspeed_ = getSettings().clock_speed; - Pause(current_clockspeed_); + Pause(current_clockspeed_); } void SimModeCar::continueForTime(double seconds) { - pause_period_start_ = ClockFactory::get()->nowNanos(); - pause_period_ = seconds; - pause(false); + pause_period_start_ = ClockFactory::get()->nowNanos(); + pause_period_ = seconds; + pause(false); } void SimModeCar::setupClockSpeed() { - current_clockspeed_ = getSettings().clock_speed; + current_clockspeed_ = getSettings().clock_speed; } void SimModeCar::Tick(float DeltaSeconds) { - SimModeBase::Tick(DeltaSeconds); + SimModeBase::Tick(DeltaSeconds); - if (pause_period_start_ > 0) { - if (ClockFactory::get()->elapsedSince(pause_period_start_) >= pause_period_) { - if (!isPaused()) - pause(true); + if (pause_period_start_ > 0) { + if (ClockFactory::get()->elapsedSince(pause_period_start_) >= pause_period_) { + if (!isPaused()) + pause(true); - pause_period_start_ = 0; - } - } + pause_period_start_ = 0; + } + } } std::unique_ptr SimModeCar::createApiServer() const { #ifdef AIRLIB_NO_RPC - return ASimModeBase::createApiServer(); + return ASimModeBase::createApiServer(); #else - auto ptr = std::unique_ptr(new msr::airlib::CarRpcLibServer( - getApiProvider(), getSettings().api_server_address, port_number_)); + auto ptr = std::unique_ptr(new msr::airlib::CarRpcLibServer( + getApiProvider(), getSettings().api_server_address, port_number_)); - return ptr; + return ptr; #endif } bool SimModeCar::isVehicleTypeSupported(const std::string& vehicle_type) const { - return vehicle_type == AirSimSettings::kVehicleTypePhysXCar; + return vehicle_type == AirSimSettings::kVehicleTypePhysXCar; } UnityPawn* SimModeCar::GetVehiclePawn(const std::string& vehicle_name) { - return new CarPawn(vehicle_name); + return new CarPawn(vehicle_name); } std::unique_ptr SimModeCar::createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const { - auto vehicle_pawn = static_cast(pawn_sim_api_params.pawn); + auto vehicle_pawn = static_cast(pawn_sim_api_params.pawn); - auto vehicle_sim_api = std::unique_ptr(new CarPawnSimApi(pawn_sim_api_params, - vehicle_pawn->getKeyBoardControls(), pawn_sim_api_params.vehicle_name)); + auto vehicle_sim_api = std::unique_ptr(new CarPawnSimApi(pawn_sim_api_params, + vehicle_pawn->getKeyBoardControls(), + pawn_sim_api_params.vehicle_name)); vehicle_sim_api->initialize(); - vehicle_sim_api->reset(); - return vehicle_sim_api; + vehicle_sim_api->reset(); + return vehicle_sim_api; } msr::airlib::VehicleApiBase* SimModeCar::getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, const PawnSimApi* sim_api) const { - const auto car_sim_api = static_cast(sim_api); - return car_sim_api->getVehicleApi(); + const auto car_sim_api = static_cast(sim_api); + return car_sim_api->getVehicleApi(); } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h index 88652ee80a..89d27c5193 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.h @@ -7,37 +7,37 @@ class SimModeCar : public SimModeBase { private: - typedef msr::airlib::ClockFactory ClockFactory; - typedef common_utils::Utils Utils; - typedef msr::airlib::TTimePoint TTimePoint; - typedef msr::airlib::TTimeDelta TTimeDelta; - typedef CarPawn TVehiclePawn; - typedef msr::airlib::VehicleSimApiBase VehicleSimApiBase; - typedef msr::airlib::VectorMath VectorMath; - typedef msr::airlib::Vector3r Vector3r; + typedef msr::airlib::ClockFactory ClockFactory; + typedef common_utils::Utils Utils; + typedef msr::airlib::TTimePoint TTimePoint; + typedef msr::airlib::TTimeDelta TTimeDelta; + typedef CarPawn TVehiclePawn; + typedef msr::airlib::VehicleSimApiBase VehicleSimApiBase; + typedef msr::airlib::VectorMath VectorMath; + typedef msr::airlib::Vector3r Vector3r; private: - void initializePauseState(); + void initializePauseState(); protected: - virtual void setupClockSpeed() override; - virtual std::unique_ptr createApiServer() const override; - virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const override; - virtual std::unique_ptr createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const override; - virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, - const PawnSimApi* sim_api) const override; + virtual void setupClockSpeed() override; + virtual std::unique_ptr createApiServer() const override; + virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const override; + virtual std::unique_ptr createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const override; + virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, + const PawnSimApi* sim_api) const override; public: - SimModeCar(int port_number); - virtual void BeginPlay() override; - virtual void Tick(float DeltaSeconds) override; - virtual bool isPaused() const override; - virtual void pause(bool is_paused) override; - virtual void continueForTime(double seconds) override; - virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; + SimModeCar(int port_number); + virtual void BeginPlay() override; + virtual void Tick(float DeltaSeconds) override; + virtual bool isPaused() const override; + virtual void pause(bool is_paused) override; + virtual void continueForTime(double seconds) override; + virtual UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; private: - std::atomic current_clockspeed_; - std::atomic pause_period_; - std::atomic pause_period_start_; + std::atomic current_clockspeed_; + std::atomic pause_period_; + std::atomic pause_period_start_; }; \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp index 7f4185aafb..3f5bca8b86 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp @@ -3,80 +3,76 @@ #include "MultirotorPawnSimApi.h" #include "vehicles/multirotor/api/MultirotorRpcLibServer.hpp" -SimModeWorldMultiRotor::SimModeWorldMultiRotor(int port_number) : - SimModeWorldBase(port_number) +SimModeWorldMultiRotor::SimModeWorldMultiRotor(int port_number) + : SimModeWorldBase(port_number) { } void SimModeWorldMultiRotor::BeginPlay() { - SimModeWorldBase::BeginPlay(); + SimModeWorldBase::BeginPlay(); - //let base class setup physics world - initializeForPlay(); + //let base class setup physics world + initializeForPlay(); } void SimModeWorldMultiRotor::Tick(float DeltaSeconds) { - SimModeWorldBase::Tick(DeltaSeconds); + SimModeWorldBase::Tick(DeltaSeconds); } void SimModeWorldMultiRotor::EndPlay() { - //stop physics thread before we dismantle - stopAsyncUpdator(); - SimModeWorldBase::EndPlay(); + //stop physics thread before we dismantle + stopAsyncUpdator(); + SimModeWorldBase::EndPlay(); } UnityPawn* SimModeWorldMultiRotor::GetVehiclePawn(const std::string& vehicle_name) { - return new FlyingPawn(vehicle_name); + return new FlyingPawn(vehicle_name); } void SimModeWorldMultiRotor::setupClockSpeed() { - typedef msr::airlib::ClockFactory ClockFactory; - float clock_speed = getSettings().clock_speed; - - //setup clock in ClockFactory - std::string clock_type = getSettings().clock_type; - - if (clock_type == "ScalableClock") - { - //scalable clock returns interval same as wall clock but multiplied by a scale factor - ClockFactory::get(std::make_shared(clock_speed == 1 ? 1 : 1 / clock_speed)); - } - else if (clock_type == "SteppableClock") - { - //steppable clock returns interval that is a constant number irrespective of wall clock - //we can either multiply this fixed interval by scale factor to speed up/down the clock - //but that would cause vehicles like quadrotors to become unstable - //so alternative we use here is instead to scale control loop frequency. The downside is that - //depending on compute power available, we will max out control loop frequency and therefore can no longer - //get increase in clock speed - - //Approach 1: scale clock period, no longer used now due to quadrotor instability - //ClockFactory::get(std::make_shared( - //static_cast(getPhysicsLoopPeriod() * 1E-9 * clock_speed))); - - //Approach 2: scale control loop frequency if clock is speeded up - if (clock_speed >= 1) - { - ClockFactory::get(std::make_shared( - static_cast(getPhysicsLoopPeriod() * 1E-9))); //no clock_speed multiplier - - setPhysicsLoopPeriod(getPhysicsLoopPeriod() / static_cast(clock_speed)); - } - else - { - //for slowing down, this don't generate instability - ClockFactory::get(std::make_shared( - static_cast(getPhysicsLoopPeriod() * 1E-9 * clock_speed))); - } - } - else - throw std::invalid_argument(common_utils::Utils::stringf( - "clock_type %s is not recognized", clock_type.c_str())); + typedef msr::airlib::ClockFactory ClockFactory; + float clock_speed = getSettings().clock_speed; + + //setup clock in ClockFactory + std::string clock_type = getSettings().clock_type; + + if (clock_type == "ScalableClock") { + //scalable clock returns interval same as wall clock but multiplied by a scale factor + ClockFactory::get(std::make_shared(clock_speed == 1 ? 1 : 1 / clock_speed)); + } + else if (clock_type == "SteppableClock") { + //steppable clock returns interval that is a constant number irrespective of wall clock + //we can either multiply this fixed interval by scale factor to speed up/down the clock + //but that would cause vehicles like quadrotors to become unstable + //so alternative we use here is instead to scale control loop frequency. The downside is that + //depending on compute power available, we will max out control loop frequency and therefore can no longer + //get increase in clock speed + + //Approach 1: scale clock period, no longer used now due to quadrotor instability + //ClockFactory::get(std::make_shared( + //static_cast(getPhysicsLoopPeriod() * 1E-9 * clock_speed))); + + //Approach 2: scale control loop frequency if clock is speeded up + if (clock_speed >= 1) { + ClockFactory::get(std::make_shared( + static_cast(getPhysicsLoopPeriod() * 1E-9))); //no clock_speed multiplier + + setPhysicsLoopPeriod(getPhysicsLoopPeriod() / static_cast(clock_speed)); + } + else { + //for slowing down, this don't generate instability + ClockFactory::get(std::make_shared( + static_cast(getPhysicsLoopPeriod() * 1E-9 * clock_speed))); + } + } + else + throw std::invalid_argument(common_utils::Utils::stringf( + "clock_type %s is not recognized", clock_type.c_str())); } //-------------------------------- overrides -----------------------------------------------// @@ -84,33 +80,33 @@ void SimModeWorldMultiRotor::setupClockSpeed() std::unique_ptr SimModeWorldMultiRotor::createApiServer() const { #ifdef AIRLIB_NO_RPC - return ASimModeBase::createApiServer(); + return ASimModeBase::createApiServer(); #else - auto ptr = std::unique_ptr(new msr::airlib::MultirotorRpcLibServer( - getApiProvider(), getSettings().api_server_address, port_number_)); + auto ptr = std::unique_ptr(new msr::airlib::MultirotorRpcLibServer( + getApiProvider(), getSettings().api_server_address, port_number_)); - return ptr; + return ptr; #endif } bool SimModeWorldMultiRotor::isVehicleTypeSupported(const std::string& vehicle_type) const { - return ((vehicle_type == AirSimSettings::kVehicleTypeSimpleFlight) || - (vehicle_type == AirSimSettings::kVehicleTypePX4)); + return ((vehicle_type == AirSimSettings::kVehicleTypeSimpleFlight) || + (vehicle_type == AirSimSettings::kVehicleTypePX4)); } std::unique_ptr SimModeWorldMultiRotor::createVehicleSimApi( - const PawnSimApi::Params& pawn_sim_api_params) const + const PawnSimApi::Params& pawn_sim_api_params) const { - auto vehicle_sim_api = std::unique_ptr(new MultirotorPawnSimApi(pawn_sim_api_params)); + auto vehicle_sim_api = std::unique_ptr(new MultirotorPawnSimApi(pawn_sim_api_params)); vehicle_sim_api->initialize(); //For multirotors the vehicle_sim_api are in PhysicsWOrld container and then get reseted when world gets reseted - return vehicle_sim_api; + return vehicle_sim_api; } msr::airlib::VehicleApiBase* SimModeWorldMultiRotor::getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, - const PawnSimApi* sim_api) const + const PawnSimApi* sim_api) const { - const auto multirotor_sim_api = static_cast(sim_api); - return multirotor_sim_api->getVehicleApi(); + const auto multirotor_sim_api = static_cast(sim_api); + return multirotor_sim_api->getVehicleApi(); } \ No newline at end of file diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h index 3f781efc66..672e8a3805 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.h @@ -6,21 +6,21 @@ class SimModeWorldMultiRotor : public SimModeWorldBase { protected: - virtual void setupClockSpeed() override; - virtual std::unique_ptr createApiServer() const override; - virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const override; - virtual std::unique_ptr createVehicleSimApi( - const PawnSimApi::Params& pawn_sim_api_params) const override; - virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, - const PawnSimApi* sim_api) const override; + virtual void setupClockSpeed() override; + virtual std::unique_ptr createApiServer() const override; + virtual bool isVehicleTypeSupported(const std::string& vehicle_type) const override; + virtual std::unique_ptr createVehicleSimApi( + const PawnSimApi::Params& pawn_sim_api_params) const override; + virtual msr::airlib::VehicleApiBase* getVehicleApi(const PawnSimApi::Params& pawn_sim_api_params, + const PawnSimApi* sim_api) const override; public: - SimModeWorldMultiRotor(int port_number); - virtual void BeginPlay() override; - virtual void EndPlay() override; - void Tick(float DeltaSeconds) override; - UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; + SimModeWorldMultiRotor(int port_number); + virtual void BeginPlay() override; + virtual void EndPlay() override; + void Tick(float DeltaSeconds) override; + UnityPawn* GetVehiclePawn(const std::string& vehicle_name) override; private: - typedef FlyingPawn TVehiclePawn; + typedef FlyingPawn TVehiclePawn; }; diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp index c02a5e4edf..8922e9f71e 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp @@ -4,90 +4,103 @@ #include "UnityUtilities.hpp" WorldSimApi::WorldSimApi(SimModeBase* simmode) - : simmode_(simmode) -{} + : simmode_(simmode) +{ +} WorldSimApi::~WorldSimApi() -{} +{ +} bool WorldSimApi::isPaused() const { - return simmode_->isPaused(); + return simmode_->isPaused(); } void WorldSimApi::reset() { - simmode_->reset(); + simmode_->reset(); } void WorldSimApi::pause(bool is_paused) { - simmode_->pause(is_paused); + simmode_->pause(is_paused); } void WorldSimApi::continueForTime(double seconds) { - simmode_->continueForTime(seconds); + simmode_->continueForTime(seconds); } void WorldSimApi::setTimeOfDay(bool is_enabled, const std::string& start_datetime, bool is_start_datetime_dst, - float celestial_clock_speed, float update_interval_secs, bool move_sun) + float celestial_clock_speed, float update_interval_secs, bool move_sun) { - simmode_->setTimeOfDay(is_enabled, start_datetime, is_start_datetime_dst, - celestial_clock_speed, update_interval_secs, move_sun); + simmode_->setTimeOfDay(is_enabled, start_datetime, is_start_datetime_dst, celestial_clock_speed, update_interval_secs, move_sun); } bool WorldSimApi::setSegmentationObjectID(const std::string& mesh_name, int object_id, bool is_name_regex) { - return SetSegmentationObjectId(mesh_name.c_str(), object_id, is_name_regex); + return SetSegmentationObjectId(mesh_name.c_str(), object_id, is_name_regex); } int WorldSimApi::getSegmentationObjectID(const std::string& mesh_name) const { - return GetSegmentationObjectId(mesh_name.c_str()); + return GetSegmentationObjectId(mesh_name.c_str()); } void WorldSimApi::printLogMessage(const std::string& message, const std::string& message_param, unsigned char severity) { - PrintLogMessage(message.c_str(), message_param.c_str(), "", severity); + PrintLogMessage(message.c_str(), message_param.c_str(), "", severity); } std::unique_ptr> WorldSimApi::swapTextures(const std::string& tag, int tex_id, int component_id, int material_id) { std::unique_ptr> result; throw std::invalid_argument(common_utils::Utils::stringf( - "swapTextures is not supported on unity").c_str()); + "swapTextures is not supported on unity") + .c_str()); return result; } std::vector WorldSimApi::listSceneObjects(const std::string& name_regex) const { - std::vector result; - throw std::invalid_argument(common_utils::Utils::stringf( - "simListSceneObject is not supported on unity").c_str()); - return result; + std::vector result; + throw std::invalid_argument(common_utils::Utils::stringf( + "simListSceneObject is not supported on unity") + .c_str()); + return result; } WorldSimApi::Pose WorldSimApi::getObjectPose(const std::string& object_name) const { - AirSimUnity::AirSimPose airSimPose = GetPose(object_name.c_str()); - return UnityUtilities::Convert_to_Pose(airSimPose); + AirSimUnity::AirSimPose airSimPose = GetPose(object_name.c_str()); + return UnityUtilities::Convert_to_Pose(airSimPose); } -msr::airlib::Vector3r WorldSimApi::getObjectScale(const std::string& object_name) const { return Vector3r(); } -msr::airlib::Vector3r WorldSimApi::getObjectScaleInternal(const std::string& object_name) const { return Vector3r(); } -bool WorldSimApi::setObjectScale(const std::string& object_name, const Vector3r& scale) { return false; } +msr::airlib::Vector3r WorldSimApi::getObjectScale(const std::string& object_name) const +{ + return Vector3r(); +} +msr::airlib::Vector3r WorldSimApi::getObjectScaleInternal(const std::string& object_name) const +{ + return Vector3r(); +} +bool WorldSimApi::setObjectScale(const std::string& object_name, const Vector3r& scale) +{ + return false; +} bool WorldSimApi::setObjectPose(const std::string& object_name, const WorldSimApi::Pose& pose, bool teleport) { - AirSimUnity::AirSimPose airSimPose = UnityUtilities::Convert_to_AirSimPose(pose); - return SetPose(airSimPose, false, object_name.c_str()); + AirSimUnity::AirSimPose airSimPose = UnityUtilities::Convert_to_AirSimPose(pose); + return SetPose(airSimPose, false, object_name.c_str()); } bool WorldSimApi::runConsoleCommand(const std::string& command) { throw std::invalid_argument(common_utils::Utils::stringf( - "simrunConsoleCommand is not supported on unity").c_str()); + "simrunConsoleCommand is not supported on unity") + .c_str()); return false; } @@ -107,56 +120,65 @@ void WorldSimApi::setWeatherParameter(WeatherParameter param, float val) void WorldSimApi::simFlushPersistentMarkers() { throw std::invalid_argument(common_utils::Utils::stringf( - "simFlushPersistentMarkers is not supported on unity").c_str()); + "simFlushPersistentMarkers is not supported on unity") + .c_str()); } void WorldSimApi::simPlotPoints(const std::vector& points, const std::vector& color_rgba, float size, float duration, bool is_persistent) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotPoints is not supported on unity").c_str()); + "simPlotPoints is not supported on unity") + .c_str()); } void WorldSimApi::simPlotLineStrip(const std::vector& points, const std::vector& color_rgba, float thickness, float duration, bool is_persistent) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotLineStrip is not supported on unity").c_str()); + "simPlotLineStrip is not supported on unity") + .c_str()); } void WorldSimApi::simPlotLineList(const std::vector& points, const std::vector& color_rgba, float thickness, float duration, bool is_persistent) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotLineList is not supported on unity").c_str()); + "simPlotLineList is not supported on unity") + .c_str()); } void WorldSimApi::simPlotArrows(const std::vector& points_start, const std::vector& points_end, const std::vector& color_rgba, float thickness, float arrow_size, float duration, bool is_persistent) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotArrows is not supported on unity").c_str()); + "simPlotArrows is not supported on unity") + .c_str()); } void WorldSimApi::simPlotStrings(const std::vector& strings, const std::vector& positions, float scale, const std::vector& color_rgba, float duration) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotStrings is not supported on unity").c_str()); + "simPlotStrings is not supported on unity") + .c_str()); } void WorldSimApi::simPlotTransforms(const std::vector& poses, float scale, float thickness, float duration, bool is_persistent) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotTransforms is not supported on unity").c_str()); + "simPlotTransforms is not supported on unity") + .c_str()); } void WorldSimApi::simPlotTransformsWithNames(const std::vector& poses, const std::vector& names, float tf_scale, float tf_thickness, float text_scale, const std::vector& text_color_rgba, float duration) { throw std::invalid_argument(common_utils::Utils::stringf( - "simPlotTransformsWithNames is not supported on unity").c_str()); + "simPlotTransformsWithNames is not supported on unity") + .c_str()); } std::vector WorldSimApi::getMeshPositionVertexBuffers() const { std::vector result; throw std::invalid_argument(common_utils::Utils::stringf( - "getMeshPositionVertexBuffers is not supported on unity").c_str()); + "getMeshPositionVertexBuffers is not supported on unity") + .c_str()); return result; } @@ -164,19 +186,22 @@ std::vector WorldSimApi::getMesh void WorldSimApi::startRecording() { throw std::invalid_argument(common_utils::Utils::stringf( - "startRecording is not supported on unity").c_str()); + "startRecording is not supported on unity") + .c_str()); } void WorldSimApi::stopRecording() { throw std::invalid_argument(common_utils::Utils::stringf( - "stopRecording is not supported on unity").c_str()); + "stopRecording is not supported on unity") + .c_str()); } bool WorldSimApi::isRecording() const { throw std::invalid_argument(common_utils::Utils::stringf( - "isRecording is not supported on unity").c_str()); + "isRecording is not supported on unity") + .c_str()); return false; } diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h index ebd0c19f50..9ccc84abb2 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.h @@ -7,40 +7,40 @@ class WorldSimApi : public msr::airlib::WorldSimApiBase { public: - typedef msr::airlib::Pose Pose; + typedef msr::airlib::Pose Pose; typedef msr::airlib::Vector3r Vector3r; typedef msr::airlib::MeshPositionVertexBuffersResponse MeshPositionVertexBuffersResponse; - WorldSimApi(SimModeBase* simmode); - virtual ~WorldSimApi(); + WorldSimApi(SimModeBase* simmode); + virtual ~WorldSimApi(); // ------ Level setting apis ----- // virtual bool loadLevel(const std::string& level_name) { return false; }; virtual std::string spawnObject(std::string& object_name, const std::string& load_component, const Pose& pose, const Vector3r& scale, bool physics_enabled) { return ""; }; virtual bool destroyObject(const std::string& object_name) { return false; }; - virtual bool isPaused() const override; - virtual void reset() override; - virtual void pause(bool is_paused) override; - virtual void continueForTime(double seconds) override; + virtual bool isPaused() const override; + virtual void reset() override; + virtual void pause(bool is_paused) override; + virtual void continueForTime(double seconds) override; virtual void setTimeOfDay(bool is_enabled, const std::string& start_datetime, bool is_start_datetime_dst, - float celestial_clock_speed, float update_interval_secs, bool move_sun) override; + float celestial_clock_speed, float update_interval_secs, bool move_sun) override; virtual void enableWeather(bool enable) override; virtual void setWeatherParameter(WeatherParameter param, float val) override; - virtual bool setSegmentationObjectID(const std::string& mesh_name, int object_id, bool is_name_regex = false) override; - virtual int getSegmentationObjectID(const std::string& mesh_name) const override; - virtual void printLogMessage(const std::string& message, - const std::string& message_param = "", unsigned char severity = 0) override; + virtual bool setSegmentationObjectID(const std::string& mesh_name, int object_id, bool is_name_regex = false) override; + virtual int getSegmentationObjectID(const std::string& mesh_name) const override; + virtual void printLogMessage(const std::string& message, + const std::string& message_param = "", unsigned char severity = 0) override; virtual std::unique_ptr> swapTextures(const std::string& tag, int tex_id = 0, int component_id = 0, int material_id = 0) override; - virtual std::vector listSceneObjects(const std::string& name_regex) const override; - virtual Pose getObjectPose(const std::string& object_name) const override; + virtual std::vector listSceneObjects(const std::string& name_regex) const override; + virtual Pose getObjectPose(const std::string& object_name) const override; virtual Vector3r getObjectScale(const std::string& object_name) const override; Vector3r getObjectScaleInternal(const std::string& object_name) const; - virtual bool setObjectPose(const std::string& object_name, const Pose& pose, bool teleport) override; + virtual bool setObjectPose(const std::string& object_name, const Pose& pose, bool teleport) override; virtual bool setObjectScale(const std::string& object_name, const Vector3r& scale) override; virtual bool runConsoleCommand(const std::string& command) override; @@ -64,5 +64,5 @@ class WorldSimApi : public msr::airlib::WorldSimApiBase virtual void setWind(const Vector3r& wind) const override; private: - SimModeBase * simmode_; + SimModeBase* simmode_; }; From 5c5929d9b0a1d63c4b42e45c7443555a59f7fbc4 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Tue, 29 Jun 2021 23:56:10 +0530 Subject: [PATCH 11/54] Add small helper methods for GeodeticConverter --- AirLib/include/common/GeodeticConverter.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/AirLib/include/common/GeodeticConverter.hpp b/AirLib/include/common/GeodeticConverter.hpp index 30d27b0f41..cffd886625 100644 --- a/AirLib/include/common/GeodeticConverter.hpp +++ b/AirLib/include/common/GeodeticConverter.hpp @@ -20,6 +20,11 @@ namespace airlib setHome(home_latitude, home_longitude, home_altitude); } + GeodeticConverter(const GeoPoint& home_geopoint) + { + setHome(home_geopoint); + } + void setHome(double home_latitude, double home_longitude, float home_altitude) { home_latitude_ = home_latitude; @@ -40,6 +45,11 @@ namespace airlib ned_to_ecef_matrix_ = nRe(home_latitude_rad_, home_longitude_rad_).transpose(); } + void setHome(const GeoPoint& home_geopoint) + { + setHome(home_geopoint.latitude, home_geopoint.longitude, home_geopoint.altitude); + } + void getHome(double* latitude, double* longitude, float* altitude) { *latitude = home_latitude_; @@ -139,6 +149,11 @@ namespace airlib *altitude = home_altitude_ - down; } + void ned2Geodetic(const Vector3r& ned_pos, GeoPoint& geopoint) + { + ned2Geodetic(ned_pos[0], ned_pos[1], ned_pos[2], &geopoint.latitude, &geopoint.longitude, &geopoint.altitude); + } + void geodetic2Enu(const double latitude, const double longitude, const double altitude, double* east, double* north, double* up) { From 059277e55253d2ddcc526d83567984a98c37cff2 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 28 Jul 2021 21:18:40 +0200 Subject: [PATCH 12/54] remove stale code --- AirLib/include/common/AirSimSettings.hpp | 3 --- .../AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp | 2 -- 2 files changed, 5 deletions(-) diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index b8701c8dc7..a54334bc9f 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -692,9 +692,6 @@ namespace airlib } } } - if (recording_setting.requests.size() == 0) - recording_setting.requests.push_back(msr::airlib::ImageCaptureBase::ImageRequest( - "", ImageType::Scene, false, true)); } static void initializeCaptureSettings(std::map& capture_settings) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp index a9636c9974..391253ef51 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/SimModeCar.cpp @@ -88,8 +88,6 @@ UnityPawn* SimModeCar::GetVehiclePawn(const std::string& vehicle_name) std::unique_ptr SimModeCar::createVehicleSimApi(const PawnSimApi::Params& pawn_sim_api_params) const { - auto vehicle_pawn = static_cast(pawn_sim_api_params.pawn); - auto vehicle_sim_api = std::unique_ptr(new CarPawnSimApi(pawn_sim_api_params, pawn_sim_api_params.vehicle_name)); vehicle_sim_api->initialize(); From 65888ffb0b54d7c05e7ee6d3b79ee0564faf7298 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 28 Jul 2021 21:41:00 +0200 Subject: [PATCH 13/54] fix vehicle name reference --- Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp index 57b4e8d8e6..eb914793cb 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp @@ -55,7 +55,7 @@ int WorldSimApi::getSegmentationObjectID(const std::string& mesh_name) const void WorldSimApi::printLogMessage(const std::string& message, const std::string& message_param, unsigned char severity) { - PrintLogMessage(message.c_str(), message_param.c_str(), vehicle_name_.c_str(), severity); + PrintLogMessage(message.c_str(), message_param.c_str(), "", severity); } std::unique_ptr> WorldSimApi::swapTextures(const std::string& tag, int tex_id, int component_id, int material_id) From ddb57dc8f4ce32f83609077f2a06aa250c6f77e1 Mon Sep 17 00:00:00 2001 From: Yvo Keuter Date: Wed, 28 Jul 2021 23:02:59 +0200 Subject: [PATCH 14/54] add AirSimGlobal to multi drone demo scene --- .../Assets/Scenes/MultiDroneDemo.unity | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity index 0a6fe4eeab..9cc659950a 100644 --- a/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity +++ b/Unity/UnityDemo/Assets/Scenes/MultiDroneDemo.unity @@ -183,6 +183,75 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f63bf11bc2a9a7146a4375d511e1425c, type: 3} +--- !u!1001 &84582270 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8816652036562285266, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_Name + value: AirSimGlobal + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8816652036562285271, guid: b565de1eeeb33764b9c78ef5dccaa49d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b565de1eeeb33764b9c78ef5dccaa49d, type: 3} --- !u!1 &175834421 GameObject: m_ObjectHideFlags: 0 From f836327819347d2b51336a99914811059fef5349 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sun, 1 Aug 2021 21:45:56 +0530 Subject: [PATCH 15/54] Docs: Add page on modifying the recording data --- docs/apis.md | 2 +- docs/modify_recording_data.md | 62 +++++++++++++++++++++++++++++++++++ docs/settings.md | 4 ++- mkdocs.yml | 1 + 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 docs/modify_recording_data.md diff --git a/docs/apis.md b/docs/apis.md index 01e15f8e33..9defa6cc9e 100644 --- a/docs/apis.md +++ b/docs/apis.md @@ -196,7 +196,7 @@ Similarly, to stop recording, use `client.stopRecording()`. To check whether Rec This API works alongwith toggling Recording using R button, therefore if it's enabled using R key, `isRecording()` will return `True`, and recording can be stopped via API using `stopRecording()`. Similarly, recording started using API will be stopped if R key is pressed in Viewport. LogMessage will also appear in the top-left of the viewport if recording is started or stopped using API. -Note that this will only save the data as specfied in the settings. For full freedom in storing data such as certain sensor information, or in a different format or layout, use the other APIs to fetch the data and save as desired. +Note that this will only save the data as specfied in the settings. For full freedom in storing data such as certain sensor information, or in a different format or layout, use the other APIs to fetch the data and save as desired. Check out [Modifying Recording Data](modify_recording_data.md) for details on how to modify the kinematics data being recorded. ### Wind API diff --git a/docs/modify_recording_data.md b/docs/modify_recording_data.md new file mode 100644 index 0000000000..3b5d6ce9a3 --- /dev/null +++ b/docs/modify_recording_data.md @@ -0,0 +1,62 @@ +# Modifying Recording Data + +AirSim has a [Recording feature](settings.md#recording) to easily collect data and images. The [Recording APIs](apis.md#recording-apis) also allows starting and stopping the recording using API. + +However, the data recorded by default might not be sufficient for your use cases, and it might be preferable to record additional data such as IMU, GPS sensors, Rotor speed for copters, etc. You can use the existing Python and C++ APIs to get the information and store it as required, especially for Lidar. Another option for adding small fields such as GPS or internal data such as Unreal position or something else is possible through modifying the recording methods inside AirSim. This page describes the specific methods which you might need to change. + +The recorded data is written in a `airsim_rec.txt` file in a tab-separated format, with images in an `images/` folder. The entire folder is by default present in the `Documents` folder (or specified in settings) with the timestamp of when the recording started in `%Y-%M-%D-%H-%M-%S` format. + +Car vehicle records the following fields - + +```text +VehicleName TimeStamp POS_X POS_Y POS_Z Q_W Q_X Q_Y Q_Z Throttle Steering Brake Gear Handbrake RPM Speed ImageFile +``` + +For Multirotor - + +```text +VehicleName TimeStamp POS_X POS_Y POS_Z Q_W Q_X Q_Y Q_Z ImageFile +``` + +## Code Changes + +Note that this requires building and using AirSim from source. You can compile a binary yourself after modifying if needed. + +The primary method which fills the data to be stored is [`PawnSimApi::getRecordFileLine`](https://github.com/microsoft/AirSim/blob/880c5541fd4824ee2cd9bb82ca5f611eb1ab236a/Unreal/Plugins/AirSim/Source/PawnSimApi.cpp#L544), it's the base method for all the vehicles, and Car overrides it to log additional data, as can be seen in [`CarPawnSimApi::getRecordFileLine`](https://github.com/microsoft/AirSim/blob/880c5541fd4824ee2cd9bb82ca5f611eb1ab236a/Unreal/Plugins/AirSim/Source/Vehicles/Car/CarPawnSimApi.cpp#L34). + +To record additional data for multirotor, you can add a similar method in [MultirotorPawnSimApi.cpp/h](https://github.com/microsoft/AirSim/tree/master/Unreal/Plugins/AirSim/Source/Vehicles/Multirotor) files which overrides the base class implementation and append other data. The currently logged data can also be modified and removed as needed. + +E.g. recording GPS, IMU and Barometer data also for multirotor - + +```cpp +// MultirotorPawnSimApi.cpp +std::string MultirotorPawnSimApi::getRecordFileLine(bool is_header_line) const +{ + std::string common_line = PawnSimApi::getRecordFileLine(is_header_line); + if (is_header_line) { + return common_line + + "Latitude\tLongitude\tAltitude\tPressure\tAccX\tAccY\tAccZ\t"; + } + + const auto& state = vehicle_api_->getMultirotorState(); + const auto& bar_data = vehicle_api_->getBarometerData(""); + const auto& imu_data = vehicle_api_->getImuData(""); + + std::ostringstream ss; + ss << common_line; + ss << state.gps_location.latitude << "\t" << state.gps_location.longitude << "\t" + << state.gps_location.altitude << "\t"; + + ss << bar_data.pressure << "\t"; + + ss << imu_data.linear_acceleration.x() << "\t" << imu_data.linear_acceleration.y() << "\t" + << imu_data.linear_acceleration.z() << "\t"; + + return ss.str(); +} +``` + +```cpp +// MultirotorPawnSimApi.h +virtual std::string getRecordFileLine(bool is_header_line) const override; +``` diff --git a/docs/settings.md b/docs/settings.md index 3a9c8fee99..5ab5926423 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -274,7 +274,9 @@ For example, the `Cameras` element below records scene & segmentation images for { "CameraName": "0", "ImageType": 5, "PixelsAsFloat": false, "VehicleName": "Car1", "Compress": true }, { "CameraName": "0", "ImageType": 0, "PixelsAsFloat": false, "VehicleName": "Car2", "Compress": true } ] -``` +``` + +Check out [Modifying Recording Data](modify_recording_data.md) for details on how to modify the kinematics data being recorded. ## ClockSpeed This setting allows you to set the speed of simulation clock with respect to wall clock. For example, value of 5.0 would mean simulation clock has 5 seconds elapsed when wall clock has 1 second elapsed (i.e. simulation is running faster). The value of 0.1 means that simulation clock is 10X slower than wall clock. The value of 1 means simulation is running in real time. It is important to realize that quality of simulation may decrease as the simulation clock runs faster. You might see artifacts like object moving past obstacles because collision is not detected. However slowing down simulation clock (i.e. values < 1.0) generally improves the quality of simulation. diff --git a/mkdocs.yml b/mkdocs.yml index 59e4d7bb57..9e1b732fe9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -80,6 +80,7 @@ nav: - "Architecture": 'design.md' - "Code Structure": 'code_structure.md' - "Adding new APIs": 'adding_new_apis.md' + - "Modifying Recording Data": 'modify_recording_data.md' - "Coding Guidelines": 'coding_guidelines.md' - "Flight Controller": 'flight_controller.md' - "Simple Flight": 'simple_flight.md' From 29a4d1df2005c82095c961b12b3757e5cfbb2bd8 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sat, 7 Aug 2021 12:53:02 +0530 Subject: [PATCH 16/54] Add GazeboDrone compilation to Actions --- .github/workflows/test_ubuntu.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test_ubuntu.yml b/.github/workflows/test_ubuntu.yml index 320079f3ca..d0a0ee4ddd 100644 --- a/.github/workflows/test_ubuntu.yml +++ b/.github/workflows/test_ubuntu.yml @@ -31,3 +31,11 @@ jobs: source /opt/ros/*/setup.bash cd ros catkin build -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 + + - name: Build GazeboDrone + run: | + sudo apt-get install -qq libgazebo9-dev gcc-8 g++-8 + ./clean.sh && ./build.sh --gcc + cd GazeboDrone + mkdir build && cd build + cmake .. && make From 84f8468e217c017d5d11d5244b74fbdac9027d4e Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sat, 7 Aug 2021 14:05:26 +0530 Subject: [PATCH 17/54] Use GCC 8 for compiling GazeboDrone --- .github/workflows/test_ubuntu.yml | 3 ++- GazeboDrone/CMakeLists.txt | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_ubuntu.yml b/.github/workflows/test_ubuntu.yml index d0a0ee4ddd..64250abe60 100644 --- a/.github/workflows/test_ubuntu.yml +++ b/.github/workflows/test_ubuntu.yml @@ -38,4 +38,5 @@ jobs: ./clean.sh && ./build.sh --gcc cd GazeboDrone mkdir build && cd build - cmake .. && make + cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 .. + make diff --git a/GazeboDrone/CMakeLists.txt b/GazeboDrone/CMakeLists.txt index 06d85abee1..815fa21ff2 100644 --- a/GazeboDrone/CMakeLists.txt +++ b/GazeboDrone/CMakeLists.txt @@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR) project(GazeboDrone) set(AIRSIM_ROOT ..) -set(CMAKE_CXX_COMPILER /usr/bin/g++) if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) From 0f205f70113a21714516e3560d07651353802d34 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sun, 18 Jul 2021 22:21:39 +0530 Subject: [PATCH 18/54] Add image benchmark script --- .../computer_vision/image_benchmarker.py | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 PythonClient/computer_vision/image_benchmarker.py diff --git a/PythonClient/computer_vision/image_benchmarker.py b/PythonClient/computer_vision/image_benchmarker.py new file mode 100644 index 0000000000..769af97ef9 --- /dev/null +++ b/PythonClient/computer_vision/image_benchmarker.py @@ -0,0 +1,155 @@ +import setup_path +import airsim +from argparse import ArgumentParser +import time +import threading +import numpy as np +import cv2 +import tempfile +import os + + +cameraTypeMap = { + "depth": airsim.ImageType.DepthVis, + "segmentation": airsim.ImageType.Segmentation, + "seg": airsim.ImageType.Segmentation, + "scene": airsim.ImageType.Scene, + "disparity": airsim.ImageType.DisparityNormalized, + "normals": airsim.ImageType.SurfaceNormals +} + +CAM_NAME = "front_center" +DEBUG = False + +def saveImage(response, filename): + if response.pixels_as_float: + # airsim.write_pfm(os.path.normpath(filename + '.pfm'), airsim.get_pfm_array(response)) + depth = np.array(response.image_data_float, dtype=np.float64) + depth = depth.reshape((response.height, response.width, -1)) + depth = np.array(depth * 255, dtype=np.uint8) + # save pic + cv2.imwrite(os.path.normpath(filename + '.png'), depth) + + elif response.compress: #png format + airsim.write_file(os.path.normpath(filename + '.png'), response.image_data_uint8) + + else: #uncompressed array + img1d = np.fromstring(response.image_data_uint8, dtype=np.uint8) # get numpy array + img_rgb = img1d.reshape(response.height, response.width, 3) # reshape array to 3 channel image array H X W X 3 + cv2.imwrite(os.path.normpath(filename + '.png'), img_rgb) # write to png + +class ImageBenchmarker(): + def __init__(self, + img_benchmark_type = 'simGetImages', + viz_image_cv2 = False, + save_images = False, + img_type = "scene"): + self.airsim_client = airsim.VehicleClient() + self.airsim_client.confirmConnection() + self.image_benchmark_num_images = 0 + self.image_benchmark_total_time = 0.0 + self.avg_fps = 0.0 + self.image_callback_thread = None + self.viz_image_cv2 = viz_image_cv2 + self.save_images = save_images + + self.img_type = cameraTypeMap[img_type] + + if img_benchmark_type == "simGetImage": + self.image_callback_thread = threading.Thread(target=self.repeat_timer_img, args=(self.image_callback_benchmark_simGetImage, 0.001)) + if img_benchmark_type == "simGetImages": + self.image_callback_thread = threading.Thread(target=self.repeat_timer_img, args=(self.image_callback_benchmark_simGetImages, 0.001)) + self.is_image_thread_active = False + + if self.save_images: + self.tmp_dir = os.path.join(tempfile.gettempdir(), "airsim_img_bm") + print(f"Saving images to {self.tmp_dir}") + try: + os.makedirs(self.tmp_dir) + except OSError: + if not os.path.isdir(self.tmp_dir): + raise + + def start_img_benchmark_thread(self): + if not self.is_image_thread_active: + self.is_image_thread_active = True + self.benchmark_start_time = time.time() + self.image_callback_thread.start() + print("Started img image_callback thread") + + def stop_img_benchmark_thread(self): + if self.is_image_thread_active: + self.is_image_thread_active = False + self.image_callback_thread.join() + print("Stopped image callback thread.") + print(f"FPS: {self.avg_fps} for {self.image_benchmark_num_images} images") + + def repeat_timer_img(self, task, period): + while self.is_image_thread_active: + task() + time.sleep(period) + + def update_benchmark_results(self): + self.image_benchmark_total_time = time.time() - self.benchmark_start_time + self.avg_fps = self.image_benchmark_num_images / self.image_benchmark_total_time + if self.image_benchmark_num_images % 10 == 0: + print(f"Result: {self.avg_fps} avg_fps for {self.image_benchmark_num_images} images") + + def image_callback_benchmark_simGetImage(self): + self.image_benchmark_num_images += 1 + image = self.airsim_client.simGetImage(CAM_NAME, self.img_type) + np_arr = np.frombuffer(image, dtype=np.uint8) + # Change the below dimensions appropriately for the camera settings + img_rgb = np_arr.reshape(240, 512, 4) + + self.update_benchmark_results() + + if self.viz_image_cv2: + cv2.imshow("img_rgb", img_rgb) + cv2.waitKey(1) + + def image_callback_benchmark_simGetImages(self): + self.image_benchmark_num_images += 1 + request = [airsim.ImageRequest(CAM_NAME, self.img_type, False, False)] + responses = self.airsim_client.simGetImages(request) + response = responses[0] + + self.update_benchmark_results() + + if DEBUG: + if response.pixels_as_float: + print(f"Type {response.image_type}, size {len(response.image_data_float)}," + f"height {response.height}, width {response.width}") + else: + print(f"Type {response.image_type}, size {len(response.image_data_uint8)}," + f"height {response.height}, width {response.width}") + + if self.viz_image_cv2: + np_arr = np.frombuffer(response.image_data_uint8, dtype=np.uint8) + img = np_arr.reshape(response.height, response.width, -1) + cv2.imshow("img", img) + cv2.waitKey(1) + + if self.save_images: + filename = os.path.join(self.tmp_dir, str(self.image_benchmark_num_images)) + saveImage(response, filename) + + +def main(args): + image_benchmarker = ImageBenchmarker(img_benchmark_type=args.img_benchmark_type, viz_image_cv2=args.viz_image_cv2, + save_images=args.save_images, img_type=args.img_type) + + image_benchmarker.start_img_benchmark_thread() + time.sleep(args.time) + image_benchmarker.stop_img_benchmark_thread() + +if __name__ == "__main__": + parser = ArgumentParser() + parser.add_argument('--img_benchmark_type', type=str, choices=["simGetImage", "simGetImages"], default="simGetImages") + parser.add_argument('--enable_viz_image_cv2', dest='viz_image_cv2', action='store_true', default=False) + parser.add_argument('--save_images', dest='save_images', action='store_true', default=False) + parser.add_argument('--img_type', type=str, choices=cameraTypeMap.keys(), default="scene") + parser.add_argument('--time', help="Time in secs to run the benchmark for", type=int, default=30) + + args = parser.parse_args() + main(args) From 36f27750061dd400ab5951c7ee000515d4ef8bb8 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Sun, 8 Aug 2021 15:39:33 +0300 Subject: [PATCH 19/54] init has_gimbal_cmd_ in ros wrapper --- ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp b/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp index dc8ac68294..62d93c720b 100644 --- a/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp +++ b/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp @@ -27,7 +27,7 @@ const std::unordered_map AirsimROSWrapper::image_type_int_to_s AirsimROSWrapper::AirsimROSWrapper(const ros::NodeHandle& nh, const ros::NodeHandle& nh_private, const std::string& host_ip) : nh_(nh), nh_private_(nh_private), img_async_spinner_(1, &img_timer_cb_queue_), // a thread for image callbacks to be 'spun' by img_async_spinner_ - lidar_async_spinner_(1, &lidar_timer_cb_queue_) + lidar_async_spinner_(1, &lidar_timer_cb_queue_), has_gimbal_cmd_(false) , // same as above, but for lidar host_ip_(host_ip) , airsim_client_images_(host_ip) @@ -1473,4 +1473,4 @@ void AirsimROSWrapper::read_params_from_yaml_and_fill_cam_info_msg(const std::st for (int i = 0; i < D_rows * D_cols; ++i) { cam_info.D[i] = D_data[i].as(); } -} \ No newline at end of file +} From f6405afa4329cffb25019304a7808b44ee0360d5 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Sun, 8 Aug 2021 15:48:43 +0300 Subject: [PATCH 20/54] - fix clang format --- ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp b/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp index 62d93c720b..5e9bf371bd 100644 --- a/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp +++ b/ros/src/airsim_ros_pkgs/src/airsim_ros_wrapper.cpp @@ -27,7 +27,8 @@ const std::unordered_map AirsimROSWrapper::image_type_int_to_s AirsimROSWrapper::AirsimROSWrapper(const ros::NodeHandle& nh, const ros::NodeHandle& nh_private, const std::string& host_ip) : nh_(nh), nh_private_(nh_private), img_async_spinner_(1, &img_timer_cb_queue_), // a thread for image callbacks to be 'spun' by img_async_spinner_ - lidar_async_spinner_(1, &lidar_timer_cb_queue_), has_gimbal_cmd_(false) + lidar_async_spinner_(1, &lidar_timer_cb_queue_) + , has_gimbal_cmd_(false) , // same as above, but for lidar host_ip_(host_ip) , airsim_client_images_(host_ip) From 4c6e7318140fe661e4e4fcdecd13cc4e76042f8a Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 11 Aug 2021 13:49:14 -0300 Subject: [PATCH 21/54] Using gcc 8 for GazeboDrone --- docs/gazebo_drone.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/gazebo_drone.md b/docs/gazebo_drone.md index 24fe105db9..a343cf063b 100644 --- a/docs/gazebo_drone.md +++ b/docs/gazebo_drone.md @@ -41,7 +41,7 @@ Execute this from your AirSim root folder: ``` cd GazeboDrone mkdir build && cd build -cmake .. +cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 .. make ``` From bd2ce769223f3baa58e859b230bde13f265b6c20 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 11 Aug 2021 15:07:54 -0300 Subject: [PATCH 22/54] Sai webinar added to tutorial list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59d5f41fed..fc2cb6286e 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ Press F10 to see various options available for weather effects. You can also con - [Video - Setting up AirSim with Pixhawk Tutorial](https://youtu.be/1oY8Qu5maQQ) by Chris Lovett - [Video - Using AirSim with Pixhawk Tutorial](https://youtu.be/HNWdYrtw3f0) by Chris Lovett - [Video - Using off-the-self environments with AirSim](https://www.youtube.com/watch?v=y09VbdQWvQY) by Jim Piavis +- [Webinar - Harnessing high-fidelity simulation for autonomous systems](https://note.microsoft.com/MSR-Webinar-AirSim-Registration-On-Demand.html) by Sai Vemprala - [Reinforcement Learning with AirSim](https://microsoft.github.io/AirSim/reinforcement_learning) by Ashish Kapoor - [The Autonomous Driving Cookbook](https://aka.ms/AutonomousDrivingCookbook) by Microsoft Deep Learning and Robotics Garage Chapter - [Using TensorFlow for simple collision avoidance](https://github.com/simondlevy/AirSimTensorFlow) by Simon Levy and WLU team From 6f68db15c1c0b5fdf078ee9ce1fbe1536ac2d04c Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 23 Aug 2021 16:15:18 -0300 Subject: [PATCH 23/54] Update AirSim.uplugin --- Unreal/Plugins/AirSim/AirSim.uplugin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Unreal/Plugins/AirSim/AirSim.uplugin b/Unreal/Plugins/AirSim/AirSim.uplugin index b3a06b1f67..042c7766a3 100644 --- a/Unreal/Plugins/AirSim/AirSim.uplugin +++ b/Unreal/Plugins/AirSim/AirSim.uplugin @@ -1,7 +1,7 @@ { "FileVersion" : 3, - "Version" : "1.5.0", - "VersionName": "1.5.0", + "Version" : "1.6.0", + "VersionName": "1.6.0", "FriendlyName": "AirSim", "Description": "AirSim - Autonomous Aerial Vehicles Simulator Plugin", "Category" : "Science", From 6608ffa9aa9d814bd3ebc2d3810d330759682e35 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 23 Aug 2021 16:21:49 -0300 Subject: [PATCH 24/54] Update AirSim version for python client --- PythonClient/airsim/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PythonClient/airsim/__init__.py b/PythonClient/airsim/__init__.py index a050572849..76b0bb20d1 100644 --- a/PythonClient/airsim/__init__.py +++ b/PythonClient/airsim/__init__.py @@ -2,4 +2,4 @@ from .utils import * from .types import * -__version__ = "1.5.0" +__version__ = "1.6.0" From 6646e3d71fa3aecee5ccb15e6b213b605db9f6b5 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Tue, 24 Aug 2021 14:14:09 -0300 Subject: [PATCH 25/54] Update CHANGELOG.md --- docs/CHANGELOG.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 1bb81aa0e7..7c855823ae 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,8 +2,28 @@ Below is summarized list of important changes. This does not include minor/less important changes or bug fixes or documentation update. This list updated every few months. For complete detailed changes, please review [commit history](https://github.com/Microsoft/AirSim/commits/master). -### May 2021 +### Aug 2021 +* Latest release `v1.6.0` for [Windows](https://github.com/microsoft/AirSim/releases/tag/v1.6.0-windows) and [Linux](https://github.com/microsoft/AirSim/releases/tag/v1.6.0-linux) +* [Fix: DepthPlanar capture](https://github.com/microsoft/AirSim/pull/3907) +* [Fix: compression bug in segmentation palette](https://github.com/microsoft/AirSim/pull/3937) + +### Jul 2021 +* [Fixed external cameras](https://github.com/microsoft/AirSim/pull/3009) +* [Fix: ROS topic names](https://github.com/microsoft/AirSim/pull/3880) + +### Jun 2021 +* [Object detection API](https://github.com/microsoft/AirSim/pull/3472) +* [GazeboDrone project added to connect a gazebo drone to the AirSim drone](https://github.com/microsoft/AirSim/pull/3754) +* [Control manual camera speed through the keyboard](https://github.com/microsoft/AirSim/pull/3221) +* [Octo X config](https://github.com/microsoft/AirSim/pull/3653) +* [API for list of vehicle names](https://github.com/microsoft/AirSim/pull/2936) +* [Fix: issue where no new scene is rendered after simContinueForTime](https://github.com/microsoft/AirSim/pull/3305) +* [Fix:Check for settings.json in current directory as well](https://github.com/microsoft/AirSim/pull/3436) + +### May 2021 +* [Make falling leaves visible in depth and segmentation](https://github.com/microsoft/AirSim/pull/3699) +* [Fix: Unity Car API](https://github.com/microsoft/AirSim/pull/2937) * Latest release `v1.5.0` for [Windows](https://github.com/microsoft/AirSim/releases/tag/v1.5.0-windows) and [Linux](https://github.com/microsoft/AirSim/releases/tag/v1.5.0-linux) * [fix px4 connection for wsl 2.](https://github.com/microsoft/AirSim/pull/3603) From d1796ebe0b7d9e3315e1b534239e0e0bc1bd2722 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 25 Aug 2021 15:19:57 -0300 Subject: [PATCH 26/54] Update CHANGELOG.md Error in fixed cameras PR link --- docs/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7c855823ae..7e547e62d0 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -9,8 +9,9 @@ Below is summarized list of important changes. This does not include minor/less * [Fix: compression bug in segmentation palette](https://github.com/microsoft/AirSim/pull/3937) ### Jul 2021 -* [Fixed external cameras](https://github.com/microsoft/AirSim/pull/3009) +* [Fixed external cameras](https://github.com/microsoft/AirSim/pull/3320) * [Fix: ROS topic names](https://github.com/microsoft/AirSim/pull/3880) +* [Fix: Weather API crash](https://github.com/microsoft/AirSim/pull/3009) ### Jun 2021 * [Object detection API](https://github.com/microsoft/AirSim/pull/3472) From b83f0ef3dc142a433bc9ea94f6809943c2257dc5 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 25 Aug 2021 15:28:41 -0300 Subject: [PATCH 27/54] Update who_is_using.md --- docs/who_is_using.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/who_is_using.md b/docs/who_is_using.md index fa8ca6bfb8..50ba1b4353 100644 --- a/docs/who_is_using.md +++ b/docs/who_is_using.md @@ -25,4 +25,5 @@ Just add a [GitHub issue](https://github.com/microsoft/airsim/issues) with quick * [Teledyne Scientific](https://arxiv.org/abs/2001.09822) * [BladeStack Systems](https://www.bladestack.nl) * [Unizar (Universidad de Zaragoza)](https://sites.google.com/unizar.es/poc-team/home) +* [ClearSky LLC](https://deltacnc.ru/) From 5c6d923256b55c80d386f2c338a43f15de64025c Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 27 Aug 2021 14:18:05 -0300 Subject: [PATCH 28/54] Update px4_multi_vehicle.md --- docs/px4_multi_vehicle.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/px4_multi_vehicle.md b/docs/px4_multi_vehicle.md index ce7d1a76c3..9d6c6c71e9 100644 --- a/docs/px4_multi_vehicle.md +++ b/docs/px4_multi_vehicle.md @@ -42,8 +42,8 @@ However, the provided script does not let us view the PX4 console. If you want t "UseSerial": false, "UseTcp": true, "TcpPort": 4561, - "ControlPortLocal": 14540, - "ControlPortRemote": 14580, + "ControlPortLocal": 14541, + "ControlPortRemote": 14581, "X": 0, "Y": -1, "Z": 0 } } From 6fe7c345cf2ced2c3f2241fbf7f1cf3e70a8b9ef Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Mon, 17 Aug 2020 15:53:24 +0530 Subject: [PATCH 29/54] Update Docker scripts, info --- docker/download_blocks_env_binary.sh | 11 ++- docker/run_airsim_image_binary.sh | 18 +++- docker/run_airsim_image_source.sh | 19 ++++- docs/docker_ubuntu.md | 120 ++++++++++++++------------- 4 files changed, 105 insertions(+), 63 deletions(-) diff --git a/docker/download_blocks_env_binary.sh b/docker/download_blocks_env_binary.sh index 7c0333994c..c3c89e9165 100755 --- a/docker/download_blocks_env_binary.sh +++ b/docker/download_blocks_env_binary.sh @@ -1,4 +1,9 @@ -sudo apt-get install unzip -wget -c https://github.com/Microsoft/AirSim/releases/download/v1.2.0Linux/Blocks.zip +#!/bin/bash + +if ! which unzip; then + sudo apt-get install unzip +fi + +wget -c https://github.com/microsoft/AirSim/releases/download/v1.4.0-linux/Blocks.zip unzip Blocks.zip -rm Blocks.zip \ No newline at end of file +rm Blocks.zip diff --git a/docker/run_airsim_image_binary.sh b/docker/run_airsim_image_binary.sh index 79be87bd21..51c8c16a0c 100755 --- a/docker/run_airsim_image_binary.sh +++ b/docker/run_airsim_image_binary.sh @@ -1,3 +1,4 @@ +#!/bin/bash DOCKER_IMAGE_NAME=$1 # get the base directory name of the unreal binary's shell script @@ -5,6 +6,20 @@ DOCKER_IMAGE_NAME=$1 UNREAL_BINARY_PATH=$(dirname $(readlink -f $2)) UNREAL_BINARY_SHELL_ABSPATH=$(readlink -f $2) +# This is to determine Docker version for the command +version_less_than_equal_to() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" = "$1"; } + +REQ_DOCKER_VERSION=19.03 +docker_version=$(docker -v | cut -d ' ' -f3 | sed 's/,$//') + +if version_less_than_equal_to $REQ_DOCKER_VERSION $docker_version; then + # Use the normal docker command + DOCKER_CMD="docker run --gpus all" +else + # Use nvidia-docker + DOCKER_CMD="nvidia-docker run --runtime=nvidia" +fi + # this block is for running X apps in docker XAUTH=/tmp/.docker.xauth if [ ! -f $XAUTH ] @@ -46,7 +61,7 @@ done # now, let's mount the user directory which points to the unreal binary (UNREAL_BINARY_PATH) # set the environment varible SDL_VIDEODRIVER to SDL_VIDEODRIVER_VALUE # and tell the docker container to execute UNREAL_BINARY_COMMAND -nvidia-docker run -it \ +$DOCKER_CMD -it \ -v $(pwd)/settings.json:/home/airsim_user/Documents/AirSim/settings.json \ -v $UNREAL_BINARY_PATH:$UNREAL_BINARY_PATH \ -e SDL_VIDEODRIVER=$SDL_VIDEODRIVER_VALUE \ @@ -57,7 +72,6 @@ nvidia-docker run -it \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ -env="XAUTHORITY=$XAUTH" \ --volume="$XAUTH:$XAUTH" \ - --runtime=nvidia \ --rm \ $DOCKER_IMAGE_NAME \ /bin/bash -c "$UNREAL_BINARY_COMMAND" \ No newline at end of file diff --git a/docker/run_airsim_image_source.sh b/docker/run_airsim_image_source.sh index cd20b75ff2..39e9b9edcf 100755 --- a/docker/run_airsim_image_source.sh +++ b/docker/run_airsim_image_source.sh @@ -1,3 +1,19 @@ +#!/bin/bash + +# This is to determine Docker version for the command +version_less_than_equal_to() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" = "$1"; } + +REQ_DOCKER_VERSION=19.03 +docker_version=$(docker -v | cut -d ' ' -f3 | sed 's/,$//') + +if version_less_than_equal_to $REQ_DOCKER_VERSION $docker_version; then + # Use the normal docker command + DOCKER_CMD="docker run --gpus all" +else + # Use nvidia-docker + DOCKER_CMD="nvidia-docker run --runtime=nvidia" +fi + # this block is for running X apps in docker XAUTH=/tmp/.docker.xauth if [ ! -f $XAUTH ] @@ -36,7 +52,7 @@ done # now, let's mount the user directory which points to the unreal binary (UNREAL_BINARY_PATH) # set the environment varible SDL_VIDEODRIVER to SDL_VIDEODRIVER_VALUE # and tell the docker container to execute UNREAL_BINARY_COMMAND -nvidia-docker run -it \ +$DOCKER_CMD -it \ -v $(pwd)/settings.json:/home/airsim_user/Documents/AirSim/settings.json \ -e SDL_VIDEODRIVER=$SDL_VIDEODRIVER_VALUE \ -e SDL_HINT_CUDA_DEVICE='0' \ @@ -46,6 +62,5 @@ nvidia-docker run -it \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ -env="XAUTHORITY=$XAUTH" \ --volume="$XAUTH:$XAUTH" \ - --runtime=nvidia \ --rm \ $DOCKER_IMAGE_NAME \ No newline at end of file diff --git a/docs/docker_ubuntu.md b/docs/docker_ubuntu.md index 3a2a793fe8..b689649930 100644 --- a/docs/docker_ubuntu.md +++ b/docs/docker_ubuntu.md @@ -3,13 +3,13 @@ We've two options for docker. You can either build an image for running [airsim ## Binaries #### Requirements: -- Install [nvidia-docker2](https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)) +- Install [nvidia-docker2](https://github.com/NVIDIA/nvidia-docker#quickstart) #### Build the docker image -- Below are the default arguments. - `--base_image`: This is image over which we'll install airsim. We've tested on Ubuntu 18.04 with CUDA 10.0. - You can specify any [NVIDIA cudagl](https://hub.docker.com/r/nvidia/cudagl/) at your own risk. - `--target_image` is the desired name of your docker image. +- Below are the default arguments. + `--base_image`: This is image over which we'll install airsim. We've tested on Ubuntu 18.04 with CUDA 10.0. + You can specify any [NVIDIA cudagl](https://hub.docker.com/r/nvidia/cudagl/) at your own risk. + `--target_image` is the desired name of your docker image. Defaults to `airsim_binary` with same tag as the base image ```bash @@ -20,11 +20,11 @@ $ python build_airsim_image.py \ ``` - Verify you have an image by: - `$ docker images | grep airsim` + `$ docker images | grep airsim` -#### Running an unreal binary inside a docker container -- Get [an unreal binary](https://github.com/Microsoft/AirSim/releases/tag/v1.2.0Linux) or package your own project in Ubuntu. -Let's take the Blocks binary as an example. +#### Running an unreal binary inside a docker container +- Get [a Linux binary](https://github.com/Microsoft/AirSim/releases) or package your own project in Ubuntu. +Let's take the Blocks binary as an example. You can download it by running ```bash @@ -32,57 +32,60 @@ You can download it by running $ ./download_blocks_env_binary.sh ``` -- Running an unreal binary inside a docker container +This currently downloads release `v1.3.1` Linux Blocks binary, modify it to fetch the binary required. + +- Running an unreal binary inside a docker container The syntax is: ```bash - $ ./run_airsim_image_binary.sh DOCKER_IMAGE_NAME UNREAL_BINARY_SHELL_SCRIPT UNREAL_BINARY_ARGUMENTS -- headless + $ ./run_airsim_image_binary.sh DOCKER_IMAGE_NAME UNREAL_BINARY_SHELL_SCRIPT UNREAL_BINARY_ARGUMENTS -- headless ``` - For blocks, you can do a `$ ./run_airsim_image_binary.sh airsim_binary:10.0-devel-ubuntu18.04 Blocks/Blocks.sh -windowed -ResX=1080 -ResY=720` + For Blocks, you can do a `$ ./run_airsim_image_binary.sh airsim_binary:10.0-devel-ubuntu18.04 Blocks/Blocks.sh -windowed -ResX=1080 -ResY=720` - * `DOCKER_IMAGE_NAME`: Same as `target_image` parameter in previous step. By default, enter `airsim_binary:10.0-devel-ubuntu18.04` + * `DOCKER_IMAGE_NAME`: Same as `target_image` parameter in previous step. By default, enter `airsim_binary:10.0-devel-ubuntu18.04` * `UNREAL_BINARY_SHELL_SCRIPT`: for Blocks enviroment, it will be `Blocks/Blocks.sh` * [`UNREAL_BINARY_ARGUMENTS`](https://docs.unrealengine.com/en-us/Programming/Basics/CommandLineArguments): - For airsim, most relevant would be `-windowed`, `-ResX`, `-ResY`. Click on link to see all options. - - * Running in Headless mode: + For airsim, most relevant would be `-windowed`, `-ResX`, `-ResY`. Click on link to see all options. + + * Running in Headless mode: Suffix `-- headless` at the end: ```bash $ ./run_airsim_image_binary.sh Blocks/Blocks.sh -- headless ``` -- [Specifying a `settings.json`](docker_ubuntu.md#airsim_binary-docker-image) +- [Specifying a `settings.json`](#specifying-settingsjson) ## Source #### Requirements: -- Install [nvidia-docker2](https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)) +- Install [nvidia-docker2](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker) - Install [ue4-docker](https://docs.adamrehn.com/ue4-docker/configuration/configuring-linux) #### Build Unreal Engine inside docker: - * To get access to Unreal Engine's source code, register on Epic Games' website and link it to your github account, as explained in the `Required Steps` section [here](https://docs.unrealengine.com/en-us/Platforms/Linux/BeginnerLinuxDeveloper/SettingUpAnUnrealWorkflow). - Note that you don't need to do `Step 2: Downloading UE4 on Linux`! - - * Build unreal engine 4.19.2 docker image. We're going to use CUDA 10.0 in our example. - `$ ue4-docker build 4.19.2 --cuda=10.0 --no-full` - [optional] `$ ue4-docker clean` to free up some space. [Details here](https://docs.adamrehn.com/ue4-docker/commands/clean) - - `ue4-docker` supports all CUDA version listed on NVIDIA's cudagl dockerhub [here](https://hub.docker.com/r/nvidia/cudagl/). - - Please see [this page](https://docs.adamrehn.com/ue4-docker/building-images/advanced-build-options) for advanced configurations using `ue4-docker` - - * Disk space: - - The unreal images and containers can take up a lot of space, especially if you try more than one version. - - Here's a list of useful links to monitor space used by docker and clean up intermediate builds: - * [Large container images primer](https://docs.adamrehn.com/ue4-docker/read-these-first/large-container-images-primer) - * [$ `docker system df`](https://docs.docker.com/engine/reference/commandline/system_df/) - [$ `docker container prune`](https://docs.docker.com/engine/reference/commandline/container_prune/) - [$ `docker image prune`](https://docs.docker.com/engine/reference/commandline/image_prune/) - [$ `docker system prune`](https://docs.docker.com/engine/reference/commandline/system_df/) +- To get access to Unreal Engine's source code, register on Epic Games' website and link it to your github account, as explained in the `Required Steps` section [here](https://docs.unrealengine.com/en-us/Platforms/Linux/BeginnerLinuxDeveloper/SettingUpAnUnrealWorkflow). + + Note that you don't need to do `Step 2: Downloading UE4 on Linux`! + +- Build unreal engine 4.19.2 docker image. We're going to use CUDA 10.0 in our example. + `$ ue4-docker build 4.19.2 --cuda=10.0 --no-full` + - [optional] `$ ue4-docker clean` to free up some space. [Details here](https://docs.adamrehn.com/ue4-docker/commands/clean) + - `ue4-docker` supports all CUDA version listed on NVIDIA's cudagl dockerhub [here](https://hub.docker.com/r/nvidia/cudagl/). + - Please see [this page](https://docs.adamrehn.com/ue4-docker/building-images/advanced-build-options) for advanced configurations using `ue4-docker` + +- Disk space: + - The unreal images and containers can take up a lot of space, especially if you try more than one version. + - Here's a list of useful links to monitor space used by docker and clean up intermediate builds: + - [Large container images primer](https://docs.adamrehn.com/ue4-docker/read-these-first/large-container-images-primer) + - [`docker system df`](https://docs.docker.com/engine/reference/commandline/system_df/) + - [`docker container prune`](https://docs.docker.com/engine/reference/commandline/container_prune/) + - [`docker image prune`](https://docs.docker.com/engine/reference/commandline/image_prune/) + - [`docker system prune`](https://docs.docker.com/engine/reference/commandline/system_prune/) #### Building AirSim inside UE4 docker container: -* Build AirSim docker image (which lays over the unreal image we just built) - Below are the default arguments. - `--base_image`: This is image over which we'll install airsim. We've tested on `adamrehn/ue4-engine:4.19.2-cudagl10.0`. See [ue4-docker](https://docs.adamrehn.com/ue4-docker/building-images/available-container-images) for other versions. - `--target_image` is the desired name of your docker image. +* Build AirSim docker image (which lays over the unreal image we just built) + Below are the default arguments. + - `--base_image`: This is image over which we'll install airsim. We've tested on `adamrehn/ue4-engine:4.19.2-cudagl10.0`. See [ue4-docker](https://docs.adamrehn.com/ue4-docker/building-images/available-container-images) for other versions. + - `--target_image` is the desired name of your docker image. Defaults to `airsim_source` with same tag as the base image ```bash @@ -101,17 +104,17 @@ $ python build_airsim_image.py \ ``` Syntax is `./run_airsim_image_source.sh DOCKER_IMAGE_NAME -- headless` - `-- headless`: suffix this to run in optional headless mode. + `-- headless`: suffix this to run in optional headless mode. -* Inside the container, you can see `UnrealEngine` and `AirSim` under `/home/ue4`. -* Start unreal engine inside the container: +* Inside the container, you can see `UnrealEngine` and `AirSim` under `/home/ue4`. +* Start unreal engine inside the container: `ue4@HOSTMACHINE:~$ /home/ue4/UnrealEngine/Engine/Binaries/Linux/UE4Editor` -* See [Specifying an airsim settings.json](docker_ubuntu.md#airsim_source-docker-image) below. -* Continue with [AirSim's Linux docs](build_linux.md#build-unreal-environment). +* [Specifying an airsim settings.json](#specifying-settingsjson) +* Continue with [AirSim's Linux docs](build_linux.md#build-unreal-environment). #### [Misc] Packaging Unreal Environments in `airsim_source` containers -* Let's take the Blocks environment as an example. - In the following script, specify the full path to your unreal uproject file by `project` and the directory where you want the binaries to be placed by `archivedirectory` +* Let's take the Blocks environment as an example. + In the following script, specify the full path to your unreal uproject file by `project` and the directory where you want the binaries to be placed by `archivedirectory` ```bash $ /home/ue4/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -platform=Linux -clientconfig=Shipping -serverconfig=Shipping -noP4 -cook -allmaps -build -stage -prereqs -pak -archive \ @@ -119,16 +122,16 @@ $ /home/ue4/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -platfor -project=/home/ue4/AirSim/Unreal/Environments/Blocks/Blocks.uproject ``` - This would create a Blocks binary in `/home/ue4/Binaries/Blocks/`. - You can test it by running `/home/ue4/Binaries/Blocks/LinuxNoEditor/Blocks.sh -windowed` +This would create a Blocks binary in `/home/ue4/Binaries/Blocks/`. +You can test it by running `/home/ue4/Binaries/Blocks/LinuxNoEditor/Blocks.sh -windowed` -### Specifying an airsim settings.json +### Specifying settings.json #### `airsim_binary` docker image: - - We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. - - Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in * [`run_airsim_image_binary.sh`](https://github.com/Microsoft/AirSim/blob/master/docker/run_airsim_image_binary.sh) + - We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. + - Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_binary.sh`](https://github.com/Microsoft/AirSim/blob/master/docker/run_airsim_image_binary.sh) ```bash -nvidia-docker run -it \ +nvidia-docker run --runtime=nvidia -it \ -v $PATH_TO_YOUR/settings.json:/home/airsim_user/Documents/AirSim/settings.json \ -v $UNREAL_BINARY_PATH:$UNREAL_BINARY_PATH \ -e SDL_VIDEODRIVER=$SDL_VIDEODRIVER_VALUE \ @@ -139,19 +142,25 @@ nvidia-docker run -it \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ -env="XAUTHORITY=$XAUTH" \ --volume="$XAUTH:$XAUTH" \ - --runtime=nvidia \ --rm \ $DOCKER_IMAGE_NAME \ /bin/bash -c "$UNREAL_BINARY_COMMAND" ``` +**Note:** Docker version >=19.03 (check using `docker -v`), natively supports Nvidia GPUs, so run using `--gpus all` flag as given - + +```bash +docker run --gpus all -it \ + ... +``` + #### `airsim_source` docker image: - * We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. + * We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. * Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_source.sh`](https://github.com/Microsoft/AirSim/blob/master/docker/run_airsim_image_source.sh): ```bash - nvidia-docker run -it \ + nvidia-docker run --runtime=nvidia -it \ -v $(pwd)/settings.json:/home/airsim_user/Documents/AirSim/settings.json \ -e SDL_VIDEODRIVER=$SDL_VIDEODRIVER_VALUE \ -e SDL_HINT_CUDA_DEVICE='0' \ @@ -161,7 +170,6 @@ nvidia-docker run -it \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ -env="XAUTHORITY=$XAUTH" \ --volume="$XAUTH:$XAUTH" \ - --runtime=nvidia \ --rm \ $DOCKER_IMAGE_NAME ``` From 80390681b66d1d60a2a1b672d528de6aa5234154 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sun, 21 Feb 2021 17:48:17 +0530 Subject: [PATCH 30/54] Docker: Cleanup dockerfiles --- docker/Dockerfile_binary | 23 ++++++++++------------- docker/Dockerfile_source | 10 ++++------ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/docker/Dockerfile_binary b/docker/Dockerfile_binary index d53b21c8e0..501199dd40 100644 --- a/docker/Dockerfile_binary +++ b/docker/Dockerfile_binary @@ -1,26 +1,23 @@ ARG BASE_IMAGE=nvidia/cudagl:10.0-devel-ubuntu18.04 FROM $BASE_IMAGE -RUN apt-get update -RUN apt-get install \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \ python3 \ python3-pip \ sudo \ libglu1-mesa-dev \ xdg-user-dirs \ pulseaudio \ - sudo \ - x11-xserver-utils \ - -y --no-install-recommends -RUN pip3 install setuptools wheel -RUN python3 -m pip install --upgrade pip -RUN pip3 install scikit-build -RUN pip3 install airsim + x11-xserver-utils + +RUN python3 -m pip install --upgrade pip && \ + pip3 install setuptools wheel && \ + pip3 install airsim -RUN adduser --force-badname --disabled-password --gecos '' --shell /bin/bash airsim_user && \ - echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ - adduser airsim_user sudo && \ - adduser airsim_user audio && \ +RUN adduser --force-badname --disabled-password --gecos '' --shell /bin/bash airsim_user && \ + echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ + adduser airsim_user sudo && \ + adduser airsim_user audio && \ adduser airsim_user video USER airsim_user diff --git a/docker/Dockerfile_source b/docker/Dockerfile_source index 4e261ba23c..2943410a4a 100644 --- a/docker/Dockerfile_source +++ b/docker/Dockerfile_source @@ -2,15 +2,13 @@ ARG BASE_IMAGE=adamrehn/ue4-engine:4.19.2-cudagl10.0 FROM $BASE_IMAGE USER root -RUN apt-get update -RUN apt-get install \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \ rsync \ sudo \ wget \ - x11-xserver-utils \ - -y --no-install-recommends + x11-xserver-utils -RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ +RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ adduser ue4 sudo USER ue4 @@ -19,5 +17,5 @@ RUN cd /home/ue4 && \ cd AirSim && \ ./setup.sh && \ ./build.sh - + WORKDIR /home/ue4 From 3cb876bbe8ee89bb8a92173bfda33ec071cdaf7f Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Wed, 14 Jul 2021 00:12:13 +0530 Subject: [PATCH 31/54] Update download_blocks_env_binary.sh to download v1.6.0 --- docker/download_blocks_env_binary.sh | 5 +++-- docs/docker_ubuntu.md | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/download_blocks_env_binary.sh b/docker/download_blocks_env_binary.sh index c3c89e9165..3b7e5fb4b1 100755 --- a/docker/download_blocks_env_binary.sh +++ b/docker/download_blocks_env_binary.sh @@ -1,9 +1,10 @@ #!/bin/bash +set -x if ! which unzip; then sudo apt-get install unzip fi -wget -c https://github.com/microsoft/AirSim/releases/download/v1.4.0-linux/Blocks.zip -unzip Blocks.zip +wget -c https://github.com/microsoft/AirSim/releases/download/v1.6.0-linux/Blocks.zip +unzip -q Blocks.zip rm Blocks.zip diff --git a/docs/docker_ubuntu.md b/docs/docker_ubuntu.md index b689649930..8c5684932f 100644 --- a/docs/docker_ubuntu.md +++ b/docs/docker_ubuntu.md @@ -32,7 +32,7 @@ You can download it by running $ ./download_blocks_env_binary.sh ``` -This currently downloads release `v1.3.1` Linux Blocks binary, modify it to fetch the binary required. +Modify it to fetch the specific binary required. - Running an unreal binary inside a docker container The syntax is: From 2336ddc20fc6027ee4cb5989a3bb56e26f8bc805 Mon Sep 17 00:00:00 2001 From: NickPerezCarletonUniversity Date: Thu, 2 Sep 2021 14:06:49 -0400 Subject: [PATCH 32/54] Update build_windows.md When building the blocks environment I got this error: Running C:/Program Files/Epic Games/UE_4.27/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -project="C:/Users/Nic/source/repos/AirSim/Unreal/Environments/Blocks/Blocks.uproject" -game -rocket -progress -log="C:\Users\Nic\source\repos\AirSim\Unreal\Environments\Blocks/Saved/Logs/UnrealVersionSelector-2021.09.02-12.54.29.log" Discovering modules, targets and source code for project... ERROR: Could not find NetFxSDK install dir; this will prevent SwarmInterface from installing. Install a version of .NET Framework SDK at 4.6.0 or higher. --- docs/build_windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build_windows.md b/docs/build_windows.md index 9a31b32e55..5efba24cde 100644 --- a/docs/build_windows.md +++ b/docs/build_windows.md @@ -14,7 +14,7 @@ Click on the `Install` button on the top right, which should show the option to ## Build AirSim * Install Visual Studio 2019. -**Make sure** to select **Desktop Development with C++** and **Windows 10 SDK 10.0.18362** (should be selected by default) while installing VS 2019. +**Make sure** to select **Desktop Development with C++** and **Windows 10 SDK 10.0.18362** (should be selected by default) and select the latest .NET Framework SDK under the 'Individual Components' tab while installing VS 2019. * Start `Developer Command Prompt for VS 2019`. * Clone the repo: `git clone https://github.com/Microsoft/AirSim.git`, and go the AirSim directory by `cd AirSim`. From 2fe4062fd850a615b6daa081ac25e83d489ffbe1 Mon Sep 17 00:00:00 2001 From: NickPerezCarletonUniversity Date: Thu, 2 Sep 2021 14:16:21 -0400 Subject: [PATCH 33/54] Update build_windows.md Updating documentation instructing users to restart Epic Games Launcher before building an environment for the first time, to avoid this common issue: https://github.com/microsoft/AirSim/issues/1219#issuecomment-401883702 --- docs/build_windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build_windows.md b/docs/build_windows.md index 9a31b32e55..2e74a4d270 100644 --- a/docs/build_windows.md +++ b/docs/build_windows.md @@ -24,7 +24,7 @@ Click on the `Install` button on the top right, which should show the option to ## Build Unreal Project -Finally, you will need an Unreal project that hosts the environment for your vehicles. AirSim comes with a built-in "Blocks Environment" which you can use, or you can create your own. Please see [setting up Unreal Environment](unreal_proj.md). +Finally, you will need an Unreal project that hosts the environment for your vehicles. Make sure to close and re-open the Unreal Engine and the Epic Games Launcher before building your first environment if you haven't done so already. After restarting the Epic Games Launcher it will ask you to associate project file extensions with Unreal Engine, click on 'fix now' to fix it. AirSim comes with a built-in "Blocks Environment" which you can use, or you can create your own. Please see [setting up Unreal Environment](unreal_proj.md). ## Setup Remote Control (Multirotor only) From 0af342b1f72ff2cb550767d9fa5c06372c751819 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Thu, 9 Sep 2021 10:36:06 -0700 Subject: [PATCH 34/54] addressing code review feedback --- .../AirsimWrapper/Source/SimMode/SimModeBase.cpp | 4 ++-- .../Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp index 6946118add..4d1b597d48 100644 --- a/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp +++ b/Unity/AirLibWrapper/AirsimWrapper/Source/SimMode/SimModeBase.cpp @@ -217,9 +217,9 @@ void SimModeBase::setupVehiclesAndCamera() PawnSimApi::Params pawn_sim_api_params(vehicle_pawn, &getGlobalNedTransform(), home_geopoint, vehicle_name); auto vehicle_sim_api = createVehicleSimApi(pawn_sim_api_params); auto vehicle_sim_api_p = vehicle_sim_api.get(); - auto vehicle_Api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); + auto vehicle_api = getVehicleApi(pawn_sim_api_params, vehicle_sim_api_p); - getApiProvider()->insert_or_assign(vehicle_name, vehicle_Api, vehicle_sim_api_p); + getApiProvider()->insert_or_assign(vehicle_name, vehicle_api, vehicle_sim_api_p); if ((!getApiProvider()->hasDefaultVehicle()) && vehicle_name != "") getApiProvider()->makeDefaultVehicle(vehicle_name); diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs index baac8a5a1a..7c6148a646 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/Utilities/AirSimServer.cs @@ -23,7 +23,6 @@ void Start() { #if UNITY_EDITOR EditorUtility.DisplayDialog("Problem in starting AirSim server!!!", "Please check logs for more information.", "Exit"); - //EditorApplication.Exit(1); #else Application.Quit(); #endif From ce88bc0a5c2c7f30f5ae6bfe9ddfd2f4aec9bb72 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Wed, 28 Apr 2021 12:42:16 +0530 Subject: [PATCH 35/54] Update install_ros_deps.sh --- tools/install_ros_deps.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/install_ros_deps.sh b/tools/install_ros_deps.sh index 88f3edc583..99181d5f8b 100755 --- a/tools/install_ros_deps.sh +++ b/tools/install_ros_deps.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +# This script is meant to be run for CI, otherwise it can break exisitng setups + set -x DISTRO="$(lsb_release -sc)" @@ -15,33 +17,31 @@ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get update -sudo apt-get install -qq ros-$ROS_DISTRO-ros-base +sudo apt-get install -y -qq ros-$ROS_DISTRO-ros-base echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> ~/.bashrc -sudo apt-get install python3-pip python3-yaml python3-setuptools -sudo pip3 install rosdep rosinstall rospkg catkin-pkg +sudo apt-get install -y python3-pip python3-yaml python3-setuptools +pip3 install rosdep rosinstall rospkg catkin-pkg sudo rosdep init rosdep update # AirSim ROS Wrapper dependencies # Only needed for CI due to base install -sudo apt-get install ros-$ROS_DISTRO-vision-opencv \ - ros-$ROS_DISTRO-image-transport \ - libyaml-cpp-dev +sudo apt-get install -y ros-$ROS_DISTRO-vision-opencv ros-$ROS_DISTRO-image-transport libyaml-cpp-dev if [[ "$DISTRO" == "xenial" ]]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get update fi -sudo apt-get install gcc-8 g++-8 -sudo apt-get install ros-$ROS_DISTRO-mavros* ros-$ROS_DISTRO-tf2-sensor-msgs ros-$ROS_DISTRO-tf2-geometry-msgs +sudo apt-get install -y gcc-8 g++-8 +sudo apt-get install -y ros-$ROS_DISTRO-mavros* ros-$ROS_DISTRO-tf2-sensor-msgs ros-$ROS_DISTRO-tf2-geometry-msgs # TODO: Remove this if-block when new 0.7.0 release of catkin_tools is available if [[ "$DISTRO" == "focal" ]]; then - sudo pip3 install "git+https://github.com/catkin/catkin_tools.git#egg=catkin_tools" + pip3 install "git+https://github.com/catkin/catkin_tools.git#egg=catkin_tools" else - sudo pip3 install catkin-tools + pip3 install catkin-tools fi From c2091d3b76bcee2489ee4d9a7094524db1072990 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Wed, 28 Apr 2021 12:42:43 +0530 Subject: [PATCH 36/54] Add Dockerfile for testing ROS wrapper --- tools/Dockerfile-ROS | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tools/Dockerfile-ROS diff --git a/tools/Dockerfile-ROS b/tools/Dockerfile-ROS new file mode 100644 index 0000000000..5955c487ed --- /dev/null +++ b/tools/Dockerfile-ROS @@ -0,0 +1,30 @@ +FROM ubuntu:18.04 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \ + apt-utils \ + apt-transport-https \ + software-properties-common \ + sudo \ + tzdata \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* && \ + dpkg-reconfigure -f noninteractive tzdata + +ARG UNAME=testuser + +# Create new user `docker` and disable password and gecos for later +RUN adduser --disabled-password --gecos '' $UNAME +# Add new user docker to sudo group +RUN adduser $UNAME sudo + +# Ensure sudo group users are not +# asked for a password when using +# sudo command by ammending sudoers file +RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +ADD install_ros_deps.sh / +RUN chmod +x /install_ros_deps.sh +RUN DEBIAN_FRONTEND=noninteractive /install_ros_deps.sh + +USER $UNAME +WORKDIR /home/${UNAME} From 052d3430d19095d80dd92e33955c7ff2a9b06594 Mon Sep 17 00:00:00 2001 From: Rajat Singhal Date: Sat, 8 May 2021 14:22:12 +0530 Subject: [PATCH 37/54] Docs: Update airsim_ros_pkgs.md with Docker info --- docs/airsim_ros_pkgs.md | 260 +++++++++++++++++++++++----------------- 1 file changed, 150 insertions(+), 110 deletions(-) diff --git a/docs/airsim_ros_pkgs.md b/docs/airsim_ros_pkgs.md index 2fc7405ec3..ac03ad1326 100644 --- a/docs/airsim_ros_pkgs.md +++ b/docs/airsim_ros_pkgs.md @@ -1,10 +1,15 @@ # airsim_ros_pkgs -A ROS wrapper over the AirSim C++ client library. +A ROS wrapper over the AirSim C++ client library. -## Setup -- Install gcc >= 8.0.0: `sudo apt-get install gcc-8 g++-8` -Verify installation by `gcc-8 --version` +## Setup + +The below steps are meant for Linux. If you're running AirSim on Windows, you can use Windows Subsystem for Linux (WSL) to run the ROS wrapper, see the instructions [below](#setting-up-the-build-environment-on-windows10-using-wsl1-or-wsl2). If you're unable or don't prefer to install ROS and related tools on your host Linux due to some issues, you can also try it using Docker, see the steps in [Using Docker for ROS wrapper](#using-docker-for-ros) + +- If your default GCC version is not 8 or above (check using `gcc --version`) + + - Install gcc >= 8.0.0: `sudo apt-get install gcc-8 g++-8` + - Verify installation by `gcc-8 --version` - Ubuntu 16.04 * Install [ROS kinetic](https://wiki.ros.org/kinetic/Installation/Ubuntu) @@ -21,89 +26,106 @@ Verify installation by `gcc-8 --version` `sudo apt-get install python-catkin-tools` or `pip install catkin_tools`. If using Ubuntu 20.04 use `pip install "git+https://github.com/catkin/catkin_tools.git#egg=catkin_tools"` -## Build -- Build AirSim -``` +## Build + +- Build AirSim + +```shell git clone https://github.com/Microsoft/AirSim.git; cd AirSim; ./setup.sh; ./build.sh; ``` -- Build ROS package +- Make sure that you have setup the environment variables for ROS as mentioned in the installation pages above. Add the `source` command to your `.bashrc` for convenience (replace `melodic` with specfic version name) - + +```shell +echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc +source ~/.bashrc ``` + +- Build ROS package + +```shell cd ros; catkin build; # or catkin_make ``` If your default GCC isn't 8 or greater (check using `gcc --version`), then compilation will fail. In that case, use `gcc-8` explicitly as follows- -``` +```shell catkin build -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ``` ## Running -``` + +```shell source devel/setup.bash; roslaunch airsim_ros_pkgs airsim_node.launch; roslaunch airsim_ros_pkgs rviz.launch; ``` + **Note**: If you get an error running `roslaunch airsim_ros_pkgs airsim_node.launch`, run `catkin clean` and try again -# Using AirSim ROS wrapper -The ROS wrapper is composed of two ROS nodes - the first is a wrapper over AirSim's multirotor C++ client library, and the second is a simple PD position controller. -Let's look at the ROS API for both nodes: +## Using AirSim ROS wrapper + +The ROS wrapper is composed of two ROS nodes - the first is a wrapper over AirSim's multirotor C++ client library, and the second is a simple PD position controller. +Let's look at the ROS API for both nodes: ### AirSim ROS Wrapper Node + #### Publishers: -- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) -GPS coordinates corresponding to global NED frame. This is set in the airsim's [settings.json](https://microsoft.github.io/AirSim/settings/) file under the `OriginGeopoint` key. - -- `/airsim_node/VEHICLE_NAME/global_gps` [sensor_msgs/NavSatFix](https://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html) -This the current GPS coordinates of the drone in airsim. - -- `/airsim_node/VEHICLE_NAME/odom_local_ned` [nav_msgs/Odometry](https://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) -Odometry in NED frame (default name: odom_local_ned, launch name and frame type are configurable) wrt take-off point. - + +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) +GPS coordinates corresponding to global NED frame. This is set in the airsim's [settings.json](https://microsoft.github.io/AirSim/settings/) file under the `OriginGeopoint` key. + +- `/airsim_node/VEHICLE_NAME/global_gps` [sensor_msgs/NavSatFix](https://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html) +This the current GPS coordinates of the drone in airsim. + +- `/airsim_node/VEHICLE_NAME/odom_local_ned` [nav_msgs/Odometry](https://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) +Odometry in NED frame (default name: odom_local_ned, launch name and frame type are configurable) wrt take-off point. + - `/airsim_node/VEHICLE_NAME/CAMERA_NAME/IMAGE_TYPE/camera_info` [sensor_msgs/CameraInfo](https://docs.ros.org/api/sensor_msgs/html/msg/CameraInfo.html) -- `/airsim_node/VEHICLE_NAME/CAMERA_NAME/IMAGE_TYPE` [sensor_msgs/Image](https://docs.ros.org/api/sensor_msgs/html/msg/Image.html) +- `/airsim_node/VEHICLE_NAME/CAMERA_NAME/IMAGE_TYPE` [sensor_msgs/Image](https://docs.ros.org/api/sensor_msgs/html/msg/Image.html) RGB or float image depending on image type requested in settings.json. - `/tf` [tf2_msgs/TFMessage](https://docs.ros.org/api/tf2_msgs/html/msg/TFMessage.html) -- `/airsim_node/VEHICLE_NAME/altimeter/SENSOR_NAME` [airsim_ros_pkgs/Altimeter](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/msg/Altimeter.msg) +- `/airsim_node/VEHICLE_NAME/altimeter/SENSOR_NAME` [airsim_ros_pkgs/Altimeter](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/msg/Altimeter.msg) This the current altimeter reading for altitude, pressure, and [QNH](https://en.wikipedia.org/wiki/QNH) - -- `/airsim_node/VEHICLE_NAME/imu/SENSOR_NAME` [sensor_msgs::Imu](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) + +- `/airsim_node/VEHICLE_NAME/imu/SENSOR_NAME` [sensor_msgs::Imu](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) IMU sensor data -- `/airsim_node/VEHICLE_NAME/magnetometer/SENSOR_NAME` [sensor_msgs::MagneticField](http://docs.ros.org/api/sensor_msgs/html/msg/MagneticField.html) +- `/airsim_node/VEHICLE_NAME/magnetometer/SENSOR_NAME` [sensor_msgs::MagneticField](http://docs.ros.org/api/sensor_msgs/html/msg/MagneticField.html) Meausrement of magnetic field vector/compass -- `/airsim_node/VEHICLE_NAME/distance/SENSOR_NAME` [sensor_msgs::Range](http://docs.ros.org/api/sensor_msgs/html/msg/Range.html) +- `/airsim_node/VEHICLE_NAME/distance/SENSOR_NAME` [sensor_msgs::Range](http://docs.ros.org/api/sensor_msgs/html/msg/Range.html) Meausrement of distance from an active ranger, such as infrared or IR -- `/airsim_node/VEHICLE_NAME/lidar/SENSOR_NAME` [sensor_msgs::PointCloud2](http://docs.ros.org/api/sensor_msgs/html/msg/PointCloud2.html) +- `/airsim_node/VEHICLE_NAME/lidar/SENSOR_NAME` [sensor_msgs::PointCloud2](http://docs.ros.org/api/sensor_msgs/html/msg/PointCloud2.html) LIDAR pointcloud -#### Subscribers: -- `/airsim_node/vel_cmd_body_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +#### Subscribers: + +- `/airsim_node/vel_cmd_body_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Ignore `vehicle_name` field, leave it to blank. We will use `vehicle_name` in future for multiple drones. -- `/airsim_node/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/airsim_node/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Ignore `vehicle_name` field, leave it to blank. We will use `vehicle_name` in future for multiple drones. -- `/gimbal_angle_euler_cmd` [airsim_ros_pkgs/GimbalAngleEulerCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleEulerCmd.msg) - Gimbal set point in euler angles. +- `/gimbal_angle_euler_cmd` [airsim_ros_pkgs/GimbalAngleEulerCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleEulerCmd.msg) + Gimbal set point in euler angles. -- `/gimbal_angle_quat_cmd` [airsim_ros_pkgs/GimbalAngleQuatCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleQuatCmd.msg) - Gimbal set point in quaternion. +- `/gimbal_angle_quat_cmd` [airsim_ros_pkgs/GimbalAngleQuatCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleQuatCmd.msg) + Gimbal set point in quaternion. -- `/airsim_node/VEHICLE_NAME/car_cmd` [airsim_ros_pkgs/CarControls](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/msg/CarControls.msg) +- `/airsim_node/VEHICLE_NAME/car_cmd` [airsim_ros_pkgs/CarControls](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/msg/CarControls.msg) Throttle, brake, steering and gear selections for control. Both automatic and manual transmission control possible, see the [`car_joy.py`](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/scripts/car_joy) script for use. #### Services: + - `/airsim_node/VEHICLE_NAME/land` [airsim_ros_pkgs/Takeoff](https://docs.ros.org/api/std_srvs/html/srv/Empty.html) - `/airsim_node/takeoff` [airsim_ros_pkgs/Takeoff](https://docs.ros.org/api/std_srvs/html/srv/Empty.html) @@ -112,100 +134,104 @@ Throttle, brake, steering and gear selections for control. Both automatic and ma Resets *all* drones #### Parameters: -- `/airsim_node/world_frame_id` [string] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: world_ned + +- `/airsim_node/world_frame_id` [string] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: world_ned Set to "world_enu" to switch to ENU frames automatically -- `/airsim_node/odom_frame_id` [string] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: odom_local_ned +- `/airsim_node/odom_frame_id` [string] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: odom_local_ned If you set world_frame_id to "world_enu", the default odom name will instead default to "odom_local_enu" -- `/airsim_node/coordinate_system_enu` [boolean] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: false +- `/airsim_node/coordinate_system_enu` [boolean] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: false If you set world_frame_id to "world_enu", this setting will instead default to true -- `/airsim_node/update_airsim_control_every_n_sec` [double] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: 0.01 seconds. - Timer callback frequency for updating drone odom and state from airsim, and sending in control commands. - The current RPClib interface to unreal engine maxes out at 50 Hz. +- `/airsim_node/update_airsim_control_every_n_sec` [double] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: 0.01 seconds. + Timer callback frequency for updating drone odom and state from airsim, and sending in control commands. + The current RPClib interface to unreal engine maxes out at 50 Hz. Timer callbacks in ROS run at maximum rate possible, so it's best to not touch this parameter. -- `/airsim_node/update_airsim_img_response_every_n_sec` [double] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: 0.01 seconds. - Timer callback frequency for receiving images from all cameras in airsim. - The speed will depend on number of images requested and their resolution. - Timer callbacks in ROS run at maximum rate possible, so it's best to not touch this parameter. +- `/airsim_node/update_airsim_img_response_every_n_sec` [double] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: 0.01 seconds. + Timer callback frequency for receiving images from all cameras in airsim. + The speed will depend on number of images requested and their resolution. + Timer callbacks in ROS run at maximum rate possible, so it's best to not touch this parameter. -- `/airsim_node/publish_clock` [double] - Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` - Default: false - Will publish the ros /clock topic if set to true. +- `/airsim_node/publish_clock` [double] + Set in: `$(airsim_ros_pkgs)/launch/airsim_node.launch` + Default: false + Will publish the ros /clock topic if set to true. -### Simple PID Position Controller Node +### Simple PID Position Controller Node #### Parameters: + - PD controller parameters: - * `/pd_position_node/kd_x` [double], - `/pd_position_node/kp_y` [double], - `/pd_position_node/kp_z` [double], - `/pd_position_node/kp_yaw` [double] + * `/pd_position_node/kd_x` [double], + `/pd_position_node/kp_y` [double], + `/pd_position_node/kp_z` [double], + `/pd_position_node/kp_yaw` [double] Proportional gains - * `/pd_position_node/kd_x` [double], - `/pd_position_node/kd_y` [double], - `/pd_position_node/kd_z` [double], - `/pd_position_node/kd_yaw` [double] + * `/pd_position_node/kd_x` [double], + `/pd_position_node/kd_y` [double], + `/pd_position_node/kd_z` [double], + `/pd_position_node/kd_yaw` [double] Derivative gains - * `/pd_position_node/reached_thresh_xyz` [double] - Threshold euler distance (meters) from current position to setpoint position + * `/pd_position_node/reached_thresh_xyz` [double] + Threshold euler distance (meters) from current position to setpoint position - * `/pd_position_node/reached_yaw_degrees` [double] - Threshold yaw distance (degrees) from current position to setpoint position + * `/pd_position_node/reached_yaw_degrees` [double] + Threshold yaw distance (degrees) from current position to setpoint position -- `/pd_position_node/update_control_every_n_sec` [double] +- `/pd_position_node/update_control_every_n_sec` [double] Default: 0.01 seconds #### Services: -- `/airsim_node/VEHICLE_NAME/gps_goal` [Request: [srv/SetGPSPosition](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/srv/SetGPSPosition.srv)] - Target gps position + yaw. - In **absolute** altitude. -- `/airsim_node/VEHICLE_NAME/local_position_goal` [Request: [srv/SetLocalPosition](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/srv/SetLocalPosition.srv)] - Target local position + yaw in global NED frame. +- `/airsim_node/VEHICLE_NAME/gps_goal` [Request: [srv/SetGPSPosition](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/srv/SetGPSPosition.srv)] + Target gps position + yaw. + In **absolute** altitude. + +- `/airsim_node/VEHICLE_NAME/local_position_goal` [Request: [srv/SetLocalPosition](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/srv/SetLocalPosition.srv)] + Target local position + yaw in global NED frame. #### Subscribers: -- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) - Listens to home geo coordinates published by `airsim_node`. -- `/airsim_node/VEHICLE_NAME/odom_local_ned` [nav_msgs/Odometry](https://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) + Listens to home geo coordinates published by `airsim_node`. + +- `/airsim_node/VEHICLE_NAME/odom_local_ned` [nav_msgs/Odometry](https://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) Listens to odometry published by `airsim_node` #### Publishers: -- `/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) + +- `/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Sends velocity command to `airsim_node` -### Global params -- Dynamic constraints. These can be changed in `dynamic_constraints.launch`: - * `/max_vel_horz_abs` [double] +#### Global params + +- Dynamic constraints. These can be changed in `dynamic_constraints.launch`: + * `/max_vel_horz_abs` [double] Maximum horizontal velocity of the drone (meters/second) - * `/max_vel_vert_abs` [double] + * `/max_vel_vert_abs` [double] Maximum vertical velocity of the drone (meters/second) - - * `/max_yaw_rate_degree` [double] - Maximum yaw rate (degrees/second) - -### Misc + * `/max_yaw_rate_degree` [double] + Maximum yaw rate (degrees/second) -#### Setting up the Build Environment on Windows10 using WSL1 or WSL2 +## Misc +### Setting up the Build Environment on Windows10 using WSL1 or WSL2 These setup instructions describe how to setup "Bash on Ubuntu on Windows" (aka "Windows Subsystem for Linux"). @@ -216,7 +242,7 @@ Upon completion, you will be able to build and run the ros wrapper as in a nativ ##### WSL1 vs WSL2 WSL2 is the latest version of the Windows10 Subsystem for Linux. It is many times faster than WSL1 (if you use the native file system in `/home/...` rather -than Windows mounted folders under `/mnt/...`) and is therefore much preferred for building the code in terms of speed. +than Windows mounted folders under `/mnt/...`) and is therefore much preferred for building the code in terms of speed. Once installed, you can switch between WSL1 or WSL2 versions as you prefer. @@ -228,25 +254,23 @@ Once installed, you can switch between WSL1 or WSL2 versions as you prefer. !!! note - You can run XWindows applications (including SITL) by installing [VcXsrv](https://sourceforge.net/projects/vcxsrv/) on Windows. - To use it find and run `XLaunch` from the Windows start menu. - Select `Multiple Windows` in first popup, `Start no client` in second popup, **only** `Clipboard` in third popup. Do **not** select `Native Opengl` (and if you are not able to connect select `Disable access control`). + You can run XWindows applications (including SITL) by installing [VcXsrv](https://sourceforge.net/projects/vcxsrv/) on Windows. + To use it find and run `XLaunch` from the Windows start menu. + Select `Multiple Windows` in first popup, `Start no client` in second popup, **only** `Clipboard` in third popup. Do **not** select `Native Opengl` (and if you are not able to connect select `Disable access control`). You will need to set the DISPLAY variable to point to your display: in WSL it is `127.0.0.1:0`, in WSL2 it will be the ip address of the PC's network port and can be set by using the code below. Also in WSL2 you may have to disable the firewall for public networks, or create an exception in order for VcXsrv to communicate with WSL2: `export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0` !!! tip - - If you add this line to your ~/.bashrc file you won't need to run this command again - - For code editing you can install VSCode inside WSL. + - If you add this line to your ~/.bashrc file you won't need to run this command again + - For code editing you can install VSCode inside WSL. - Windows 10 includes "Windows Defender" virus scanner. It will slow down WSL quite a bit. Disabling it greatly improves disk performance but increases your risk to viruses so disable at your own risk. Here is one of many resources/videos that show you how to disable it: [How to Disable or Enable Windows Defender on Windows 10](https://youtu.be/FmjblGay3AM) ##### File System Access between WSL and Windows10 - From within WSL, the Windows drives are referenced in the /mnt directory. For example, in order to list documents within your () documents folder: - `ls /mnt/c/'Documents and Settings'//Documents` or `ls /mnt/c/Users//Documents` @@ -257,18 +281,34 @@ From within Windows, the WSL distribution's files are located at (type in window `\\wsl$\` e.g. `\\wsl$\Ubuntu-18.04` - -#### How to run Airsim on Windows and ROS wrapper on WSL -For WSL 1 execute: -`export WSL_HOST_IP=127.0.0.1` -and for WSL 2: -`export WSL_HOST_IP=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')` -Now, as in the [running section for linux](#running), execute the following: -``` + +##### How to run Airsim on Windows and ROS wrapper on WSL + +For WSL 1 execute: +`export WSL_HOST_IP=127.0.0.1` +and for WSL 2: +`export WSL_HOST_IP=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')` +Now, as in the [running section for linux](#running), execute the following: + +```shell source devel/setup.bash roslaunch airsim_ros_pkgs airsim_node.launch output:=screen host:=$WSL_HOST_IP roslaunch airsim_ros_pkgs rviz.launch ``` +### Using Docker for ROS +A Dockerfile is present in the [`tools`](https://github.com/microsoft/AirSim/tree/master/tools/Dockerfile-ROS) directory. To build the `airsim-ros` image - + +```shell +cd tools +docker build -t airsim-ros -f Dockerfile-ROS . +``` + +To run, replace the path of the AirSim folder below - + +```shell +docker run --rm -it --net=host -v :/home/testuser/AirSim airsim-ros:latest bash +``` +The above command mounts the AirSim directory to the home directory inside the container. Any changes you make in the source files from your host will be visible inside the container, which is useful for development and testing. Now follow the steps from [Build](#build) to compile and run the ROS wrapper. From 9217de4bf2856256253c9d295db871e0734fc090 Mon Sep 17 00:00:00 2001 From: Yingkai Fu <42210546+YingkaiFu@users.noreply.github.com> Date: Fri, 17 Sep 2021 16:24:20 +0800 Subject: [PATCH 38/54] Create event_simulator.py Fix the consistency of H and W defined in function arguments in two scripts --- PythonClient/eventcamera_sim/event_simulator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PythonClient/eventcamera_sim/event_simulator.py b/PythonClient/eventcamera_sim/event_simulator.py index 3156bb7ef6..69d2cc0e91 100644 --- a/PythonClient/eventcamera_sim/event_simulator.py +++ b/PythonClient/eventcamera_sim/event_simulator.py @@ -67,8 +67,8 @@ def esim( current_time = last_time for i in range(spike_nums): - output_events[count].x = x // n_pix_row - output_events[count].y = x % n_pix_row + output_events[count].x = x % n_pix_row + output_events[count].y = x // n_pix_row output_events[count].timestamp = np.round(current_time * 1e-6, 6) output_events[count].polarity = 1 if pol > 0 else -1 From a693bdbc6eb74d5e7bfb7c361eb36c02d4ed0b6f Mon Sep 17 00:00:00 2001 From: Yingkai Fu <42210546+YingkaiFu@users.noreply.github.com> Date: Fri, 17 Sep 2021 16:25:00 +0800 Subject: [PATCH 39/54] Update test_event_sim.py Fix the consistency of H and W defined in function arguments in two scripts --- PythonClient/eventcamera_sim/test_event_sim.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PythonClient/eventcamera_sim/test_event_sim.py b/PythonClient/eventcamera_sim/test_event_sim.py index a310c6b1a3..b6858731e1 100644 --- a/PythonClient/eventcamera_sim/test_event_sim.py +++ b/PythonClient/eventcamera_sim/test_event_sim.py @@ -17,10 +17,10 @@ class AirSimEventGen: - def __init__(self, W, H, save=False, debug=False): - self.ev_sim = EventSimulator(W, H) - self.W = W + def __init__(self, H, W, save=False, debug=False): + self.ev_sim = EventSimulator(H, W) self.H = H + self.W = W self.image_request = airsim.ImageRequest( "0", airsim.ImageType.Scene, False, False @@ -65,7 +65,7 @@ def _stop_event_gen(self, signal, frame): if __name__ == "__main__": args = parser.parse_args() - event_generator = AirSimEventGen(args.width, args.height, save=args.save, debug=args.debug) + event_generator = AirSimEventGen(args.height, args.width, save=args.save, debug=args.debug) i = 0 start_time = 0 t_start = time.time() From 4d2e97bb71fd267bb134cc5400358ac5ee5108f5 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 17 Sep 2021 14:14:16 -0300 Subject: [PATCH 40/54] Update who_is_using.md --- docs/who_is_using.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/who_is_using.md b/docs/who_is_using.md index 50ba1b4353..8efb91b708 100644 --- a/docs/who_is_using.md +++ b/docs/who_is_using.md @@ -26,4 +26,5 @@ Just add a [GitHub issue](https://github.com/microsoft/airsim/issues) with quick * [BladeStack Systems](https://www.bladestack.nl) * [Unizar (Universidad de Zaragoza)](https://sites.google.com/unizar.es/poc-team/home) * [ClearSky LLC](https://deltacnc.ru/) +* [Myned AI](https://www.myned.ai/) From 579fcb66f595087e69e8794911f534fa38b2bcbe Mon Sep 17 00:00:00 2001 From: NickPerezCarletonUniversity Date: Tue, 21 Sep 2021 11:54:18 -0400 Subject: [PATCH 41/54] fixed description of cameras on the drone --- docs/image_apis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/image_apis.md b/docs/image_apis.md index 21158d3c3a..cf54a16b18 100644 --- a/docs/image_apis.md +++ b/docs/image_apis.md @@ -139,7 +139,7 @@ These are the default cameras already available in each vehicle. Apart from thes ### Car The cameras on car can be accessed by following names in API calls: `front_center`, `front_right`, `front_left`, `fpv` and `back_center`. Here FPV camera is driver's head position in the car. ### Multirotor -The cameras in CV mode can be accessed by following names in API calls: `front_center`, `front_right`, `front_left`, `bottom_center` and `back_center`. +The cameras on the drone can be accessed by following names in API calls: `front_center`, `front_right`, `front_left`, `bottom_center` and `back_center`. ### Computer Vision Mode Camera names are same as in multirotor. From 6e2495bfe316bc6216c05b91bf43fbcba30bbfe2 Mon Sep 17 00:00:00 2001 From: Chanran Kim Date: Tue, 28 Sep 2021 17:18:32 +0900 Subject: [PATCH 42/54] Change `getPfmArray` to `get_pfm_array` Change `getPfmArray` to `get_pfm_array` in Hello Drone code --- docs/apis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/apis.md b/docs/apis.md index 9defa6cc9e..422e7802cd 100644 --- a/docs/apis.md +++ b/docs/apis.md @@ -108,7 +108,7 @@ print('Retrieved images: %d', len(responses)) for response in responses: if response.pixels_as_float: print("Type %d, size %d" % (response.image_type, len(response.image_data_float))) - airsim.write_pfm(os.path.normpath('/temp/py1.pfm'), airsim.getPfmArray(response)) + airsim.write_pfm(os.path.normpath('/temp/py1.pfm'), airsim.get_pfm_array(response)) else: print("Type %d, size %d" % (response.image_type, len(response.image_data_uint8))) airsim.write_file(os.path.normpath('/temp/py1.png'), response.image_data_uint8) From 24d3441650fd4226ae38d36a1d3a06e4e2a5abb4 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Fri, 1 Oct 2021 02:29:29 -0700 Subject: [PATCH 43/54] changing order of width and height parameters to match other APIs --- PythonClient/eventcamera_sim/event_simulator.py | 2 +- PythonClient/eventcamera_sim/test_event_sim.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PythonClient/eventcamera_sim/event_simulator.py b/PythonClient/eventcamera_sim/event_simulator.py index 69d2cc0e91..a36f991177 100644 --- a/PythonClient/eventcamera_sim/event_simulator.py +++ b/PythonClient/eventcamera_sim/event_simulator.py @@ -82,7 +82,7 @@ def esim( class EventSimulator: - def __init__(self, H, W, first_image=None, first_time=None, config=CONFIG): + def __init__(self, W, H, first_image=None, first_time=None, config=CONFIG): self.H = H self.W = W self.config = config diff --git a/PythonClient/eventcamera_sim/test_event_sim.py b/PythonClient/eventcamera_sim/test_event_sim.py index b6858731e1..22c0df9fad 100644 --- a/PythonClient/eventcamera_sim/test_event_sim.py +++ b/PythonClient/eventcamera_sim/test_event_sim.py @@ -17,8 +17,8 @@ class AirSimEventGen: - def __init__(self, H, W, save=False, debug=False): - self.ev_sim = EventSimulator(H, W) + def __init__(self, W, H, save=False, debug=False): + self.ev_sim = EventSimulator(W, H) self.H = H self.W = W @@ -65,7 +65,7 @@ def _stop_event_gen(self, signal, frame): if __name__ == "__main__": args = parser.parse_args() - event_generator = AirSimEventGen(args.height, args.width, save=args.save, debug=args.debug) + event_generator = AirSimEventGen(args.width, args.height, save=args.save, debug=args.debug) i = 0 start_time = 0 t_start = time.time() From c66a002923ce99fbac4d92d748ee3f08707eb80f Mon Sep 17 00:00:00 2001 From: ppueyor Date: Tue, 5 Oct 2021 10:58:27 +0200 Subject: [PATCH 44/54] Fixed camera bug when using gimbal stabilization --- Unreal/Plugins/AirSim/Source/PIPCamera.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Unreal/Plugins/AirSim/Source/PIPCamera.cpp b/Unreal/Plugins/AirSim/Source/PIPCamera.cpp index a4646b03dc..05cbdcf25b 100644 --- a/Unreal/Plugins/AirSim/Source/PIPCamera.cpp +++ b/Unreal/Plugins/AirSim/Source/PIPCamera.cpp @@ -283,7 +283,9 @@ void APIPCamera::setCameraPose(const msr::airlib::Pose& relative_pose) gimbald_rotator_.Roll = rotator.Roll; gimbald_rotator_.Yaw = rotator.Yaw; } - this->SetActorRelativeRotation(rotator); + else { + this->SetActorRelativeRotation(rotator); + } } void APIPCamera::setCameraFoV(float fov_degrees) From de4594be7dff3f4ca31b23b7601d07a29cd02ccd Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Tue, 5 Oct 2021 17:11:49 -0700 Subject: [PATCH 45/54] Update DefaultGame.ini add '/AirSim/HUDAssets' to additional directories to always cook in order to ensure dependencies for the weather menu are included in packaged builds --- Unreal/Environments/Blocks/Config/DefaultGame.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/Unreal/Environments/Blocks/Config/DefaultGame.ini b/Unreal/Environments/Blocks/Config/DefaultGame.ini index aedc1af800..3f62f5dc66 100644 --- a/Unreal/Environments/Blocks/Config/DefaultGame.ini +++ b/Unreal/Environments/Blocks/Config/DefaultGame.ini @@ -41,6 +41,7 @@ bEncryptPakIndex=False bSkipEditorContent=False +MapsToCook=(FilePath="/Game/FlyingCPP/Maps/FlyingExampleMap") +MapsToCook=(FilePath="/AirSim/AirSimAssets") ++DirectoriesToAlwaysCook=(Path="/AirSim/HUDAssets") bNativizeBlueprintAssets=False bNativizeOnlySelectedBlueprints=False From c2da7c780fb9a1bcd89001d029dbeb18ba94533f Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Wed, 6 Oct 2021 01:48:21 -0700 Subject: [PATCH 46/54] Update AirSimAssets.umap add reference to MenuActor inside AirSimAssets map --- .../Plugins/AirSim/Content/AirSimAssets.umap | Bin 42148 -> 45543 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Unreal/Plugins/AirSim/Content/AirSimAssets.umap b/Unreal/Plugins/AirSim/Content/AirSimAssets.umap index 832307abf91ac7cec53154e7b499778099219bb4..2e5b9c64767114035b05c317267065fa7657f40a 100644 GIT binary patch literal 45543 zcmeHQ33wDm+OBYea*AAnoT4HS2&eIYWRgITK+FY#7$%ucGBBA5a{zG>Sp`MG1H~Ir z5D;BNTvR~C1r!z6V?jj`MOF}3S3HnY(fr?AT{TnF(>+dj5@er0^*lA*^}SW~Ree`g zbx$UnZ|<@9L`6l##M+G2tHpS#PoIy?JKo~th``*lcgk{2F6 z>(jnVlU`2i-JNJxjAyJaT}OG`8eM9!wsDNDr`(xJ$w_I0`}Z4=+&`i3fP|#Mg9fE0 zr4AZEq=B}9NqudDs0w2jc4DlAuJ>NVScWKnki{7F!6uJm%t!fV%B@=2uX?@S3fr># zK6-ojs`vI!db|1H!Iuvo{$Oqwcf4)4jjD$wv`4=fP#xBma)-A+W9Ja%l1p+^`(Ki! zxiq^^>(#$^!T?@@v7`lWSyhl-ul@bUfw*5mBii?zr0Q2vRR!d6E*0aGoZf6_skkKh ze45|KI^Xt2{>2KI>mdi%-tXw|Pp-0)EY#=kz%}?o9hMH_NWIeH;WSdkb%n z<|=o(i+ROy`^&!TWLYsYJ=10{)x380&O`peU6guxT8XpJr6oD0#%Jf|#b*bm+U#E5 z<4a%P_eBS#<`~WHFVVd5x#{s4nmdqG==XTp%2n67TB1^Rq1RdFkGFZeTJGqANm`+w z9Z&CdWm5%9br(CyMs688C%vsg9%Y~EEVlb;#@XdQzgEhgUf(UgXOs%PjV z-6u6@0@UlZmuFH#&Fe2`>1*~m`9S@CdtphY-Ae;wy(?DkheVR?g_CVW(7eJv(sp^5 zAS4)p{9&o1^7E3i(vy-$rm|@d9Pl)wS_MfimuFg%W0Jj4a~GDg?X^R2QoBou_7(ofxB;n(hE{cF|DZ@=A53nI)Q5-)om|uX+}3r-!(V!?03&S#F+>J+^bouPwkW-A&qbXz8V89&%+;&Dw&i z)?plEG^0}TN0-^B1T;3i=#y1gVv=2&+W~2@UyjvU3PA+Jn?5NAWJl`?#YfgV<%R|r ze6Wffh{NWx`+V%;N6LC}jc`e%P6;@t+Npn%xNbl`*6pRduH0yOjS&6qrcLJX(Q`T? zhqKVfZQ$6wO<&+r%+UOH5_}<~`0=nCxAAU9Y5pXK!>jpxkR}`O+7;!9B?Y5A-cq{@ zRc}vN{2bTOD33qQ|Go!fcM^ISF_M|nDr4}}^Vx_{-n4KYn3a!b2% z^^l$DLlVLraaO|bshz-dwA)oKC1RtX1L+gXJTkRX&BqQe|GF+hL$b#+xzz5R%tHh# z&S^JKAA!dej2F%7thpV*u7I>v==7IkB1i6funwPdkmj2V`W44^9fngTd;ES+X;>h+ z{PUU1JDEb^GZ=m6pW^OWOXugf*|MbvmE|koCWhHI&(VlBDS6YxmRI0sk%r$KhNQfR>PKms9 z^1?K3J(V2e@gAW;{pf9oY*A(aS8HSPju%_-S5AiN(-%{ps7U>4KY~-R3xf38{Q>gQTPuGkm zwsIrMvAc`8mzA-J%ii0-19+}a8*cYHlHA2EEvJMWq{KtRawDJ$V$Dl-y4`5IjxAtUoi;v&keZ9jXK%%Pi9XuvFY%1?cuLt+?-lEzI3i|xd``X$t+Tb7 zBWPJ3Ki`V6E_>f_BAQXX+%gBnPzQ7T-2F{XDsj3T`u4Bs*j0C7=C&Xy#Qw-dQ++T+ zJv{rTO<%xEShCrw1zIr-lZSa)2`RpocpU83Y2IAyc2l$>d%)$-&o|u^lhaLGzH1F+ zrdCv)a_)6)mZSd=&i&!xqwdx4x*$2U-K9=HTK4-LSZW2DO=h5Fc|3mh%KXK3u_rPD z;el-R%-O^B!I$|r?2DW``^Hu`eC$_jd*o4AcWP)?^6^izE8tkEHe3D}kJshMhI16M zo0hG=A0a_el3Wh#acqE<;vv~HfCku;XwGkeTkP+6)Bv3vuSQ(mSqd(XD-!_!jv(l$CJo6g#NG8|ob zjIP*XH9F}SCu%{1G3ZpZBiF>)iT9(Z1uGp7fiIzL%vYyLnPOF1%h2%=u9J5U;o z@>hTS=umiYDp95j^MQ&2dbAVaXYhR~i+lZ1t;9sWu8rX*LyC%vdo5Yk6^-~If``SR zSq!IT4$GV9zt!G%KJF7!Rbt|rW-s^gKG~*^zKrK`4$Yl9<&rF1diWP?rBieBMhE;f zAC~vs;8bpcl9HIHBhp51_-5VxSmo1P9=ks%pPa&#WRS2J* z`+*Z%a3n}~>)T5*Ku{J$>E2r!K`%N7A_? z$v@0hURJ_JJ(gDn@hG(L2{&sp`rjBrWLPPgG5&hYG6KmLYctCzeYhOUWMmDlr1D}q zcF+EFY$1Y^tiyu>Y1dC)^BI?vX|TJK0h|D>`=v%45pZ&l@@4TZk_~jDh)>2dRV$^v0>U79*}1VH$P7h4mYiwk@jDEBJ8yaP6&)v1!$JFE()`4DEg|Yux5U z2#?&0rL;Tu@(Y6PBk*t^YTvZgOVFauOqKuqM>}+Yt?Ex{gVIadz4luercUOI%boMu zFGWZfhyI{;-%2Z31nnvh1A^G1uD9F{sVSJseE9i0QlKLNtI&zH56#3jid2(pN^yqm*tuF7tL^D0Eav$67v+dy}3dVid&W`gJ zVTzD!pKztzet7<7S+Os(*ZSsHS+Q?;#V;-!ze83`VC%cp&yf`q!Yf`fqsswVu^(%C zX+b|(v0r$_nQM<6fg91NrkBf@kTs*l_3&SM6GDQTszGRc1)H0BZcpeU%UM{$cbe>( z4Qm4MARLH7@@cuw{xIUPer%+Tj^d>Jxg8sIOUXgrlQ>xRVQotb?uLcPqozSdk1wkG zfZCuhTU}QFnA*S~t0UPvW~&Vn*tEQF#;OerGK*{Zw>4^mer(fK^M|Mn46@7FJ>vD1q{B-!fUR9n^*zh)veE2?{G&If4w@kMd z?A-`=%GQbzb-7tYjO@^o=Zbp#L8b5k%$c*+$7hNsO!V9f@jpwWr+xJLKx20u+x-Ja zC)06(Rt_vrA!FM(D626{Fxx|$OFZ+9{u+k3`cGB-oYM|V3;AAJYGyX^y26X&5(S0)|O4R=mDSd=4#8!cW!|M za!P1nciWvVzHj{d$bS6oS&qj`PycnP9NzD#4M*V*d-+o+#rC>rH+>5;$hBqDYD#a3 zG>4E8*7C{IX7m>*JxHflLn6wjyB*qecFF$nkHJ~+ijUs2Ow}C2G*7AK_tHx=Jb4;B z<;C52g`P*pQ7W!zU&n!|i&usED@wk%$?w^r76c^_sG9Zoan=i14kS%PJGSkK6Sp9u zgdR*gUw;1?yk;F!qLC>(3=M)d-G2;wW5+XpK?LUy7+B{C<6A+3`r`(vs^SRHzij$~~2DPe1Mh`+SQ zt>llf;3Yg#ZT-R|5Absen(T9=D1SoOBmUCO}>lX5V_C zzlw%aAKDGgU1NCCjQD?a+ zrt+!sIjHb~e}+sr#Ak%UN3b@%M4OMw2QkHrkFSdPU_WEVXHgaN!T!aJ&(NvjZcaE0sPZpN-YP=WY`|g>oTNFtgjr%;z4Z z1390DE`=E7wlaJcD*Z@4&sG7S|0;G+L_Bs1K8QhfF~D58!BNIwb{lOz*eA(0SWo{> zS?&++7r={dStI&28lN8(KIr8`(G_ewN!*W=8+c~TuUbOs_<1>?+86VgHpWgCeopAz&a%JYD4qfVJT{ZAA z^Pi#RhJjlYD>EN6|Jhaze9ZhO>w1d`7|4~GkD34Mu3|nopPKoP<1dDRTNGoR5BQk* z&%tWoW9C0oXIM1XK8u*y`&)gdf1GgwvW&p$IO4OxyfPz26AQQW9C0!Rs$b1|CxNVVc-_USm#rp+MD^$;cDPx=07*gwwQo{ zT$%Zp`A@w$h7K)?mEmLNKX+9FA2a`HbBo0U4CKnp$IO40R0AI~|LJk7Vc-_U%FM^i zf7Vt3p99MC1B^$$J6GS!Tt3%g0tRxl`55_JBigEbv})iZU&*R`?yLqr*P6^{T{ZBL z@9EX~?5zeq`;_^li~EN1U?<8}mssrp&#MjxI|;p?%c^2NIB%Qr`AZe^!MVhY&$24! zgMFeIpLeU657tvNK1ZvV555p9pC!|6@V=vb(EwtU6sx^Cs1LLFHm@4^$nWT=e)@bh z@G*;TpH~APv-nnTUKFJ$P-XOE7T@BlfX`RTItM$D-&=xy(#2TERso;=3Lm^L8KlUe zAqbR~R0E$+^sf1*jNMP)p%A0oM$?aRKA$T6NIrMmsSu;wR))`KN{0rWe6sIWh*551u+EwB*|IQ7=L!^!&q*a7w4^q*sWR-L0p<3h;d1$9d8JRY+h~0D zDtr*%UKJf6zAX|BH{Wm8Ya}fipM44+v}`JxpGDVfD2&pC2leY8eS!}%bs6#fgD({t zj5P2y(%=Hn$r0)wdI1mU9<;*>4KWn7pA{PFf_6xuVIH9UBxsOp8_LC$ zVWYs&4*h{Qcws*cSvV-iiTiB2%I_$FcAmi6(N#@o_o3j0`wx`+9m@T7aS#5G>%XWB znac9}hVpxc^1FueJBIQ<4du5D@<&;BuRUd?v1oJOlVt8Xs;_Y*z{{k z8T}*nZXuc)OIn!Fnw!v?n$VgVXz;yPsDJn@_~CikX1d4UBw$Y=X`4)F|1hDwYC_wn z&@jiBl`{ChL}kPy#(T4Tgpi2%PgS|;;H`UsaTo9e(-i0$pcj) zfKVHZ0NT&=I_Z}u%lR+m@}HOB=1IRLXaxC>q9At5A3YA^2u}0|x|;mUU_O(CJ_&t$ z_Zif?@1?!^UfMfhaPPi@`7VL#vbXU;3G8^n_5<4pqzDlE5_$HH07nuC;UYzV*vUW( zND<(0BJSgm2?)Q%dWIASX;KQVN3Ez}`ZIWJE3c@3VB3Hc!5IF8E|4NXIN;qJG6A8M zZ>&IU%f7M#v0wYI6^M=8*H$2Qc%NE<(Ag(eAohfxS%FaK9xL!V0`9Q_5y}=?frx$b zxkiL+5hyG*4$!D^u;K|@xv(D}`FkH71)`8H?6=62=H2gT?ja8 z1zt$NPgY=e0w6r32q82g;$aS%fC%iC`Ud!sRZA$%Xbe)*Tx04l&h{JFC&C;qGW5(h z{+J1-3Ryr{kS4?peRQG>jmD(b9N^10OVuY3XsLR{X-m})B+ydz(2u3+GYPa*JwQv< zHz%+Xs!xbb^_U5!3Ryr{kS4?peL!K*XiTcd5@V_Q!30{WzJNeW)#H(erRpyw&{FkR z5NN6TL;@{UKZHO_)n7@VrRuTQv{e1o1X`*dprz`Y5?Be<_lr&Smw0vf|ERq>k&yz97!ii6Ry^0L z;;2|FVjYjE$IMtOB1Xj2BP>d-2(=%bK-^zfQC2;`9PDfIry;jkXm%_pp3zQ z7U2K4if;6GSn){O(y)OH*|z)R%>#J-Xlbi zO@L+e2WX7`ScG|MM4!RmJ&srthKw)fqeBEloe< zG~{)tQcFr7>OPM$u1NBVVIj-(+}y0SjW=aN># zOKOO&aXfs1aI2t7Ka9F9uw41E6FZ#(t{Di_rn*y&L~0~L68Il?UmVoVh&WO+5V#X1 zxuf7;GOAHcjYLQSmTS!!<287Wb4D0z%|J*KNWnN#BN1I7H4?FoBWH|_;4$wR5l3nU zV)U9CiPT6$NWgMGa>m#Q-U6KwainG-Mz5)nNR34PD2|*lHiEbKF+KG=gDU=8NLRj= zlW!B68DCO}dUUCv7Zk%Omu-n@vggDql@_s9Y#wXHrm|0SW zF;&X@6z0)|=J6J}MW@ZxZ9R>JZ?+UOctu>LtoUnASxFM*tEA(ia>V61L6PrzgL1(S z>#PyrKg3l^mq|fAD*(w39))E2dS8b_pHlMjDiNu0+3^JekaSruc#TQFmYdSk{aqdm zTTZ2Bia{l^8ZGLw`2TFEr~AG2pWut9`+o2Qbf18L_`Io2r!3;FLKBP#18x%u`7#csS&s@T1$E6 zl7FF!V+&9CCS&OT6NeoJZV^@Fo_H{(@)>rQr5{hT)&hMp|Sn?i#Pzms2wj5re<`mWH{Sk#RG4{YpYiI5kr{cei)_+Y4t^Nzh*h4qYW$NLB;HBL25XCOW0Q=uI|| zJFdl64fwZIXh08&3Xw8rvxdH84Knt96mW>J17^}K{Ty1fmhV`DvxdAI4V2FfO?b{4 z(m)8v_>6bH=#e!P6;=v@vEog#;?v@$r$xnbS@9BabDp>wEjNz;;WxlY1jj-oBclHi zxjAwbZ(-Jk{>X@@$lh?mMv6qb>wpPzxg~OiCDOqXnJSP-BpR7rDpp(f z_;}JoQNZM70*qKIu+F|AKx0grE9mStar3xE#aV*R{wi)di>uM^<5-dfqW{r4Kw}&I zH!jVQu9m$Gw?N_;{zwohl202QFhQ_mL5ggXt^*NB9RIN$^ET}*+UUR9V%|m?)eEAn zblIh1DPAY&5tn+TU?fw`|4YXr{+jC!L1%Z08?%b&IHroVVy##^){5|!m{?H&;IhFP@He~HVijsCk_W=I_W z-99sfu}&aUGLAt1L0B^+j{iKY8KVCPyBQM4e@4z6vEDlMKm$s~vBd>{Y}SZ`9<=-Q zre-V1FDU_QaCq`70yH%UxnoKcmE@Bqxemz3Qv7G(MV&vqoGog|7h24;N@zLi`Jx`^Mx2nGS z&Z_PihP6|>+<*A!(W9eJU@S3_@pK~n{Ur27=ZkV4+Bt4>^ZWLG+_mFr)YoB4(ZUyp zUHC}ON$uypebdvgEOSwFV;c~EHPX8!!&;443w8o~aAF!egIbqdGCaHI zB?X#Ca|X0-J(E)U@&Sy!vY@Zk0Gh_r^8bC?8!+&*uCOwXePO^%~y+<4)^*srzhLRx;C2E_*4Qi%7Q-s5NE08VgESGUjj4BsL;H@ zfttIbGRW3Huy}d6ufXYYhXSn6zQCv^7{^5|c7AByWOr+HR+YMG`mnMxPYA+x_`HFj z(;H+*TE0KGjmdx_Z9*{Q*9zSeH8!}o^yj7+8JHs($PnDfw4?y*;og4XnvuGoUQ&vFnA+SG9Y_sNpVI&Zbs&iY&L%0Zr_0CKZ(lkLzDu*K+<}05 zoQA#S<}Xc!g_I7^ykvGkO->wM%tpW8ZUNtSZXny`CcWnSwQ+83Jl8QR%YU~R%MtrS zvr2|lJFgFEY(n{m|3Vna^k`lecF%q~l(-lh3ww}*EGDSAzzf9*@+g*+bwlH`)gf{( zE{De%2(ZrgR(ESocxj&Iub^F%a@GT%iei*8|EC9)}Lw7cNhO?Td1)Uy` zy9}&;FyO{l`7%SbV1~=(*8%}&sYheIUb?&nrdvAH=dW^lF!a{c`=8{T5A_9ee13?~(F>0m1tCx}+q*x1UeDu(m@MRa#(&AeCa=SxzwulBghbsa7l zvhY1_M}^fIeA5p)9rGSq&wYJ(KpW!px&md+YRwTMGxJuk6RMY;0kxD8C_+)D+v^3i zXy5#&+6kyO3XpkGSRh>5HJktWl||e%YJytWGZ)?em86cSju-{%cR&OT-7*3)4R5hFZW zc~GqISeGVGDLd3x@FP-*0hRMQB|!8J&O)t9Dr%;!2fx%m%pa`ujq>@b*f{^?E8z;% znePj@d5l}(Xf<8*75IWq-q&I01~;6S#tpA_A+Rvl_ZPmxyDHrtmmaH{jr`Yb;M@`J zswIE$;&B0(jUH=)<0sq!v*A&S0xJcON}r3(81EmB<2_3&cZNK{k`mKf02%c7hqo?+ zl+=N$!Oy(z?1!;_EzYg=o*%qR;fmqz+Vh>sX6POjwPf$LKhL<(W8FUSMG2qi~gMhofYK&+l;+!raT)O-okZjc}Rm@DUgM zK2!;fc-WB2)I@Meh&Wdb7JTyl;K@B~2Bf9&$Vc`eOrPF`v(7Kgg<3FF&9V;mPe&Zf_J*p$ar?>-?(5$XorTr(n82e^ zSa$>I@W7!VVoa-@uYb@zrlDzR8J_XZngCyut=aNfG8abe25C{wZrS1kKjBo%@%Ws< z@ScwRWBV_#q8tSIh?~Qb({_K{)(nZX*sK@MeF6r-7Z^fEfF9CWUgA}=5GxG*k(00A zFs&PI+I&y}&Id8u`LVVfH*F&jIsNMMXYIv9=75mf#T@xRRYDB|LP5F|k~ruhHg&vz zG{iB`>33y#D?D0JC0+F@eI6Hku90FQxDIC&F@7P+SIR z96xLVNuOK*C(HGg(|nT{Fm`L&qX=4710q@R&O5vgSH@hge)D0IL%FAb9dyX2m51N$ zJqQQ0wLk6p`MM)Gz=mk!C=iV4ddFOdm$x!QbOgdzb6spf*Xu_@>l}cyR{Q)x+Nh5e zmOj@X5|dYd<+0+NuZ9QsYDPy|@%f{dVyi=ZzOfm>0iK%bN;dR?;%bOT>5F8zdDCH^ zVhhn;TRG|KiQqB{DG_HL%d5Jl1`k2eBe;@kD(E3-+D9YH;QMk632{OVIcJdkA;6~Y zKkG1fk!Tp`IOwwnz<-`|0vQahdBvK?hYL7spSbT?#O6G$s#NoHoBN^Q`jcwAhSFt* z&2GE=S$MuaN<2|c-g84g_#O{Ubb!!PD_Q5Glim00L+MdQ?10_>*z`=;G=FaRzU}po zBkZ7oxwQB2POn?>!pmHMghev@;)x8eyX{NUXEQ2r);ef`m> zHfm_>$2&H@0}bZ6y+cFbcvv|PS%D%SHzjsyo2g&I*7OI{&1v(?IWxX-S{0q9ID6PV zz5c_60m+1|_@@1h2SLO`o#XiH00FqQ0K0wGJJ&)^DimNDhc}FbNcg*?11GF+f=iXS z|3@9YS?8SD?*eN)(g@o$Yqbh8)E85^pMBqX=izRqzaRK`&Ex8vS#1_0 z0E%a_uxvNxlrDs9m1nguwy@*Px1JS=sl*4Kzc~vM5>r*^@bU$d8xxdImwsGW0t05A zi7+eLLwsdUk9#5yQ4l&^Rmjj<1Z!qui(*jNF7E5PMAQ56-XnZlU|+9Hx{UYJ4U&wN zFg>2!kl5jMXguHNsR^)m0*>w2Wxn5CMVE5AWyg2gAKj8avxtwJhpUat*c6Jhc(Ct8H0=-TzKL?G$*9J66WHRkjiZcFFWLf)XeO5-;ZUAUd!D#=0gE~JZj^wUdKRq-u| z0j6kb7Tb_^`x;!dOz}u7*gdu+7k;h}4IA*lvt1?dbGr3vnwQ`IXO!+-4Noi7DiGhe zSvZW(Rr?n`S>ELsgCaLDefshM=M?W6H2u^l(8@LPNb=m<4sH8}qhsmnN--J-L9Lsu z?o-f&ZwdEFtE=S3!=V;9o$=bjUG6T!b++B^&q`qC@>NDyUH+z{H3TgQsM>0JL6b=w zIalLG%eAFC7p;~r`yBtOivBz!Czz-`TX?WQ)m6aF5d~T`y#*7 ztG}{POsRu*(_UzGxTBB`Pg08J5`w@XIClJ`o+lAnOwTIhTYqoU$c4>|_wM?ud48;y zbUiN-tO^7gVO_qR@(e<^>=WUKz53AMoAD9Ch)Rtt$z_1UCe?EU+pziZKO=zhXHC}r z+N)cEWBtifUY{D>a`!6;tGqW-82ge^$6`7XZtzGu=u?y=y~>Q(cEY+_V4o0{Vu5{3 z*hd1Bg`}~AusqQzKKEjB9jrOjux2mO{)n()2CTPejm3Jd$~*0jTm^BaxlZB9LzAuyBQ|sV1`Yx*~~R}xsSWnL4fd)Hw#f#2+XmZWgMDR#?XkeNl8(N#z&<2wuK{~RwADiDLB;U7Dv}u{ z{l^TW&y{&H!(^WJvV;+6Mc#4Yt+>d&z)F8~KIk7206K zZLkqG*floTBpd8O8|*b3>`enE?feMwcZCg>Zi8jmV3{_U!v z0PAnDCNL`=fLZYX%*ca`4ZyxI(37zNwu>7GlH@_fmg$fw_LL3wv<>#G1qQpmSzyw) zq^ICp!2p2c=lviUFlRA=xn;~7z6}tN9S9E9rU6(7!P}s=fZ~3)DQ`nTu=7N zQudqK^*0I~tS#@Hjp++boy7vTIps<^4Y^)zuU?b=W_13m(1Cx-I~=}QCF!hG=or^l z+p*GVWI^ZCdZvTBgBd@kl&ZV7uE)v`;saDpJ{LG639lr^kb}psUrdk(%g33CQpGWI~&ew_^Ks^5v zbP$6yvB6YLA#PK(P3A?owWMTH8iCD*I%jjYj<;WJty|55sIZX;eJ zfuA|N#@L4n9noc4NcyqR!E-Cdt8~gMOqY%7w4<}vzz?2*C7tGCr2}!I1KofhNvBbz zAb5Xlv6xp<7iq)oLha=ThtN79)a2ReT?p~J>1oi^3F@biGO zj^xJ^2Ra)~=zJIlI&YZJ$&!pIm{~PexizB6X8yA*4s^`?r%jdF?xXwa!jGB%%!~sa zGygdd2Rdf{Guj(1BeR~m$j!`uUXKGEGym!9GuwT1UtRby^PeU4Ob5?%X8zM$z1&B$ z5$=hVAJ8%LpGk3`W9C0!#et5Q{}jm&mckM;uhd0uX8yA#4s^`?r>pw#WzGuktqVV9 z{xd%gbjYpDo|Ctg8I%fX!bsXrJ`OnCj`j?xT|GZoebapH64-jwV=gI2l7~LoSdVY*_(#4W0 zovY$NC&Pr!O>v-;X+r0*IM8vJ(0MNobXF;Jaz*`@dZvT-Rhz`x>gQQGYLE!y(G|P< zfogAft~aCOt7kfRE-|Aszn5K`uReUn~Xa<>w(TLg-#;TxKPkR z5kLo}&Nt}gvHsfGn~}~F%3=?Ri3@L3I&G?Tq4T7&j--?R7p2ptS{FLYm31VY&u&sW zZK`#l^Ng~Nq%(b*(rHtTl@89I>B>5i&c!z?oi^22>EQe^qqAv-&Eg6aD;=CaW^}x_ zD2v%tW2J-h$BfSDvuqYupjheP{4t~R^lW7@o2nh1pOtvflGfNt8TQbaa&Iwlg!}-S z`s|V&olg}yPFmz1u@KImg<|4gZ?jvy7PF)Cxk3jsP7~8krLr0dqty8hy*$=m&_Sjp zj~d5*ru0E>d&B_9?T8?{V4iW7dE1VkoeG^Yn!cAZ#)FRJZSE3k#E|Uhz{Unr##u9n z@&L*?lm}A=|IMhx=jkX|BPJ5p{(`2xzFD4#-k2xWYa5p%jwzL4^@lsi+ti1H+hw^2V`%=D~azDyVC=a77 z=VVeH_qEZKGbpE1c2Mq5Ih%48<))PLDPv9|m8~eBO!)*+|B?FfZ#B>c--oDtG2NhwGBG5jaUnFhx~t_^`HavLC@$rsPvsE`VJ_47>jY=D}C4#`u2-H$o(wJ zF3PY+;FyQ?KpV8cvy*ZHWh9iXMR_(lM8dca#JZ@zuhh3F_4h7%XEM_Z+jwn`sul|Jl2rH{5sA8nOB z+A4jtRr+YF^wC!7qpi}1{i*cPR_UXy(nnjRkG4u5ZIwRSDt)w7`mlGEKH4gMv{m|O ztMt)U>7%XEM_Z+jwn`tdaTD1C{`~>$5AD|s?N<%$jfVCsq79qhpkRod>!~ec0ph9J zMhsTl%?$14hBn@xzD(=kyYJX5+AkT}>kRF+hV~lK#$Nxe)L*1J;tSSAd{}L0zhG!T zZ)mSl+K7SAQCs>nY+h}{2GurfLTy7wvW=KjNEz>_hf~Ho@hd5V_fpEZ`+%1fR6;JO zYm{-GTP4IV9#`?xHvB}0`0c+1L<2*bP>uj<=O98td-!+gPJa#m(Lnw$^8w&Tx{M(I zod(#0$*&}W4*lawP5!$~zW3DbDSeZ=_e@Id+byMgQcAC+)E@l2qs8ebg!JDR#D03F zq@?r?e~WQ3^&nvzJmET!De6%m?ghDcE}akG$bIikQE0#{)gr6>^og|ids z1HIsP5MIT>YWmAo;UTy(s40QnuQV?a^(dJI6fw)<% zvjTDDdeI8RUF=CK5SO$ktU%n}mRo_i*2zcFC?Vj!=eL@Pz!kItVbvE}fe0m*wgAv* z3n0Z)Q~De6D}FXM0BIsYlSsJeAxSRz4Gz?>S5N@A5C`N1fkMle3_F4Ju^{vZ1*-=3 zXKEwKg~NWN`$vmJH5 z0fbT%cmZ{8}SOV#5JZ>jqJ1X`*- zn?Os|L+zHTZ%Ux0>hlS-R6RgT)i)=w4yx}No9e*@SnW?4!h$p*?$MN?Flba&eJ5%o z;eb$6LinF_Ma9onG!9mT6a|8#cR0kt|30FzXnRD-szk+7a9G7C8(g_~`V;-te|cJE z1fdQoYDd_vIuLS4iW)eCI%67`7wbSo{g_rnjEHFPVs!u0n;c& zD;{z{8mkxlT`8)gMVr4MMLnjC;H~QKVk0O1UN+L`_p*@_e&dZSAbLnq#(EZY{)I#I zuSP{FZDyQkM-}eX@4ffjH`RkyGa4%s(tnWOk)NMTud4#ddNX^1lmFZty&aRudA`07SdD8^ zIRzo?{!u}(J(ZamIemNf=#|+sHKkW-M&CYtvNN*#^rEibj@}t5jy@5h67wty2ogz_ z{dr6ObGE2Mu&pVhM3N=8g^bimFIYvRdoNf#)sy$cOJ5uu8N4wI-9~oAP?JLLLYDoN zG3stmm%EUq+zF=0-K=_e^M8Aseg5G26Hjz5Dq4jrbkuH)yQ}A*`u}P<>F`nhJA?#Z z&yr}M1#1>5fq#;VMx9Rl1{q2LQu#-gA+EE(m47wRg3-vE$7nQ=oO%&)zF7KKgA5_9 zKaLFX6!=^DR|BnIZyOCV{A0-wFHe3e|7xK1>usY!hJP#>=KqHN)j;dl+eU*7|5!2{ zOxsmoBw1eke@6pXLd29l)Qj*dz|Te7q&WH#ePy3=^}3jt#aCfs8rUM%f%up`rWKpT zIuM$QX~p6{;J~`8cuH4#W&5CmvDpzSzJQoVlD2~THInStTgu;uL>(VtBgscSe0s)~Gcnb;hx3dtc}HcN5v&l%((+1XSK zdP|=Z{r5J}wOEv4*7wjigXf6OdqpV)7#8_o1t7`EkYo8_ix?j+q;M^_fq%$txeck3 zdfSHFj@+L#Ey*@1UX#~wbw6_HNjbfc@M z&j1=!6h9RWqoq3tue?~4vZ%wy@eL{>p~cCI@@eS?6-lFvEagp3mJ-bnmBpeAKiC&i zN2V2sZ`0F@7oMVK;vWrQHzS*O9w2vqOSm> zWA_SyNIG|m(`jyaVMFD0(Vi^Iu>W*TU~HD?l&g&t=&goD!p)Bj6XdPshVTeu1uIhi zMD!a!gY(Mq+eKx(D5K=U*p&Vq1!$B@0{{I1fJTI|yR8@0e+$ig+IpL5>6Z#Hn%cW| z)6TY>*4YwSV!hy$^e&du9=4l?&%%+Sx8Fnun3?p`M+s0`OJmVKrt%jZ@5Fh>J8{GD zPJHipC%TV!;y;de;@^*VV$0?IMid zDJK}q)}kYNSK9<)%4RFeX{i{&| zn^MC;Lb902?Lz+*F;tC#)$$;b7k6Wvto>y(Ba*;>(gZ||2xHUGO=+xNgugjfA=<1` zR5pt;ItUYBeQwC(V5FFC5+i=fy2=_Hm^t5ya3TS6`IE(<4@4=2#J@W+0zc(gs0D*= VZ$+S6N_Y~+$^}qgJGIOG{|CTcwPpYS From 3c7056d434ed96f6e1983ea493295eabca3c0ace Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Fri, 8 Oct 2021 12:38:13 -0700 Subject: [PATCH 47/54] add indices to FAQ pages this moves the FAQs for building on linux and windows to one central FAQ location for building that is accessible from the side pane --- docs/build_faq.md | 184 ++++++++++++++++++++++++++++++ docs/build_linux.md | 39 ------- docs/build_windows.md | 72 ------------ docs/faq.md | 237 ++++++++++++++++++++++++--------------- docs/package_binaries.md | 6 + mkdocs.yml | 4 +- 6 files changed, 342 insertions(+), 200 deletions(-) create mode 100644 docs/build_faq.md create mode 100644 docs/package_binaries.md diff --git a/docs/build_faq.md b/docs/build_faq.md new file mode 100644 index 0000000000..eea2ea75e6 --- /dev/null +++ b/docs/build_faq.md @@ -0,0 +1,184 @@ +# FAQ + +--- + +## Windows build + +* [How to force Unreal to use Visual Studio 2019?](#how-to-force-unreal-to-use-visual-studio-2019) +* [I get error: 'where' is not recognized as an internal or external command](#i-get-error-where-is-not-recognized-as-an-internal-or-external-command) +* [I'm getting error ` could not be compiled. Try rebuilding from source manually`](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually) +* [I get `error C100 : An internal error has occurred in the compiler` when running build.cmd](#i-get-error-c100--an-internal-error-has-occurred-in-the-compiler-when-running-buildcmd) +* [I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found"](#i-get-error-corecrth-no-such-file-or-directory-or-windows-sdk-version-81-not-found) +* [How do I use PX4 firmware with AirSim?](#how-do-i-use-px4-firmware-with-airsim) +* [I made changes in Visual Studio but there is no effect](#i-made-changes-in-visual-studio-but-there-is-no-effect) +* [Unreal still uses VS2015 or I'm getting some link error](#unreal-still-uses-vs2015-or-im-getting-some-link-error) + +--- + +## Linux build + +* [I'm getting error ` could not be compiled. Try rebuilding from source manually`.](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually) +* [Unreal crashed! How do I know what went wrong?](#unreal-crashed-how-do-i-know-what-went-wrong) +* [How do I use an IDE on Linux?](#how-do-i-use-an-ide-on-linux) +* [Can I cross compile for Linux from a Windows machine?](#can-i-cross-compile-for-linux-from-a-windows-machine) +* [What compiler and stdlib does AirSim use?](#what-compiler-and-stdlib-does-airsim-use) +* [What version of CMake does the AirSim build use?](#what-version-of-cmake-does-the-airsim-build-use) +* [Can I compile AirSim in BashOnWindows?](#can-i-compile-airsim-in-bashonwindows) +* [Where can I find more info on running Unreal on Linux?](#where-can-i-find-more-info-on-running-unreal-on-linux) + +--- + + +## Windows build + + +###### How to force Unreal to use Visual Studio 2019? + +>If the default `update_from_git.bat` file results in VS 2017 project, then you may need to run the `C:\Program Files\Epic Games\UE_4.25\Engine\Binaries\DotNET\UnrealBuildTool.exe` tool manually, with the command line options `-projectfiles -project= -game -rocket -progress -2019`. +> +>If you are upgrading from 4.18 to 4.25 you may also need to add `BuildSettingsVersion.V2` to your `*.Target.cs` and `*Editor.Target.cs` build files, like this: +> +>```c# +> public AirSimNHTestTarget(TargetInfo Target) : base(Target) +> { +> Type = TargetType.Game; +> DefaultBuildSettings = BuildSettingsVersion.V2; +> ExtraModuleNames.AddRange(new string[] { "AirSimNHTest" }); +> } +>``` +> +>You may also need to edit this file: +> +>``` +>"%APPDATA%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml +>``` +> +>And add this Compiler version setting: +> +>```xml +> +> +> VisualStudio2019 +> +> +>``` + + + +###### I get error: 'where' is not recognized as an internal or external command + +>You have to add `C:\WINDOWS\SYSTEM32` to your PATH enviroment variable. + + + +###### I'm getting error ` could not be compiled. Try rebuilding from source manually` + +>This will occur when there are compilation errors. Logs are stored in `\Saved\Logs` which can be used to figure out the problem. +> +>A common problem could be Visual Studio version conflict, AirSim uses VS 2019 while UE is using VS 2017, this can be found by searching for `2017` in the Log file. In that case, see the answer above. +> +>If you have modified the AirSim plugin files, then you can right-click the `.uproject` file, select `Generate Visual Studio solution file` and then open the `.sln` file in VS to fix the errors and build again. + + + +###### I get `error C100 : An internal error has occurred in the compiler` when running build.cmd + +>We have noticed this happening with VS version `15.9.0` and have checked-in a workaround in AirSim code. If you have this VS version, please make sure to pull the latest AirSim code. + + + +###### I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found" + +>Very likely you don't have [Windows SDK](https://developercommunity.visualstudio.com/content/problem/3754/cant-compile-c-program-because-of-sdk-81cant-add-a.html) installed with Visual Studio. + + + +###### How do I use PX4 firmware with AirSim? + +>By default, AirSim uses its own built-in firmware called [simple_flight](simple_flight.md). There is no additional setup if you just want to go with it. If you want to switch to using PX4 instead then please see [this guide](px4_setup.md). + + + +###### I made changes in Visual Studio but there is no effect + +>Sometimes the Unreal + VS build system doesn't recompile if you make changes to only header files. To ensure a recompile, make some Unreal based cpp file "dirty" like AirSimGameMode.cpp. + + + +###### Unreal still uses VS2015 or I'm getting some link error + +>Running several versions of VS can lead to issues when compiling UE projects. One problem that may arise is that UE will try to compile with an older version of VS which may or may not work. There are two settings in Unreal, one for for the engine and one for the project, to adjust the version of VS to be used. +> +>1. Edit -> Editor preferences -> General -> Source code -> Source Code Editor +>2. Edit -> Project Settings -> Platforms -> Windows -> Toolchain ->CompilerVersion +> +>In some cases, these settings will still not lead to the desired result and errors such as the following might be produced: LINK : fatal error LNK1181: cannot open input file 'ws2_32.lib' +> +>To resolve such issues the following procedure can be applied: +> +>1. Uninstall all old versions of VS using the [VisualStudioUninstaller](https://github.com/Microsoft/VisualStudioUninstaller/releases) +>2. Repair/Install VS 2019 +>3. Restart machine and install Epic launcher and desired version of the engine + +--- + +## Linux build + + +###### I'm getting error ` could not be compiled. Try rebuilding from source manually`. + +>This could either happen because of compile error or the fact that your gch files are outdated. Look in to your console window. Do you see something like below? +> +>`fatal error: file '/usr/include/linux/version.h''/usr/include/linux/version.h' has been modified since the precompiled header` +> +>If this is the case then look for *.gch file(s) that follows after that message, delete them and try again. Here's [relevant thread](https://answers.unrealengine.com/questions/412349/linux-ue4-build-precompiled-header-fatal-error.html) on Unreal Engine forums. +> +>If you see other compile errors in console then open up those source files and see if it is due to changes you made. If not, then report it as issue on GitHub. + + + +###### Unreal crashed! How do I know what went wrong? + +>Go to the `MyUnrealProject/Saved/Crashes` folder and search for the file `MyProject.log` within its subdirectories. At the end of this file you will see the stack trace and messages. +>You can also take a look at the `Diagnostics.txt` file. + + + +###### How do I use an IDE on Linux? + +>You can use Qt Creator or CodeLite. Instructions for Qt Creator are available [here](https://docs.unrealengine.com/en-US/SharingAndReleasing/Linux/BeginnerLinuxDeveloper/SettingUpQtCreator/index.html). + + + +###### Can I cross compile for Linux from a Windows machine? + +>Yes, you can, but we haven't tested it. You can find the instructions [here](https://docs.unrealengine.com/latest/INT/Platforms/Linux/GettingStarted/index.html). + + + +###### What compiler and stdlib does AirSim use? + +>We use the same compiler that Unreal Engine uses, **Clang 8**, and stdlib, **libc++**. AirSim's `setup.sh` will automatically download them. + + + +###### What version of CMake does the AirSim build use? + +>3.10.0 or higher. This is *not* the default in Ubuntu 16.04 so setup.sh installs it for you. You can check your CMake version using `cmake --version`. If you have an older version, follow [these instructions](cmake_linux.md) or see the [CMake website](https://cmake.org/install/). + + + +###### Can I compile AirSim in BashOnWindows? + +>Yes, however, you can't run Unreal from BashOnWindows. So this is kind of useful to check a Linux compile, but not for an end-to-end run. +>See the [BashOnWindows install guide](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide). +>Make sure to have the latest version (Windows 10 Creators Edition) as previous versions had various issues. +>Also, don't invoke `bash` from `Visual Studio Command Prompt`, otherwise CMake might find VC++ and try and use that! + + + +###### Where can I find more info on running Unreal on Linux? +>Start here: [Unreal on Linux](https://docs.unrealengine.com/latest/INT/Platforms/Linux/index.html) +>[Building Unreal on Linux](https://wiki.unrealengine.com/Building_On_Linux#Clang) +>[Unreal Linux Support](https://wiki.unrealengine.com/Linux_Support) +>[Unreal Cross Compilation](https://wiki.unrealengine.com/Compiling_For_Linux) diff --git a/docs/build_linux.md b/docs/build_linux.md index a0dfe48d72..16faa9737c 100644 --- a/docs/build_linux.md +++ b/docs/build_linux.md @@ -89,42 +89,3 @@ See [Using APIs](apis.md) and [settings.json](settings.md) for various options a A remote control is required if you want to fly manually. See the [remote control setup](remote_control.md) for more details. Alternatively, you can use [APIs](apis.md) for programmatic control or use the so-called [Computer Vision mode](image_apis.md) to move around using the keyboard. - -## FAQs - -- I'm getting error ` could not be compiled. Try rebuilding from source manually`. - * This could either happen because of compile error or the fact that your gch files are outdated. Look in to your console window. Do you see something like below? - -`fatal error: file '/usr/include/linux/version.h''/usr/include/linux/version.h' has been modified since the precompiled header` - -* If this is the case then look for *.gch file(s) that follows after that message, delete them and try again. Here's [relevant thread](https://answers.unrealengine.com/questions/412349/linux-ue4-build-precompiled-header-fatal-error.html) on Unreal Engine forums. - -* If you see other compile errors in console then open up those source files and see if it is due to changes you made. If not, then report it as issue on GitHub. - -- Unreal crashed! How do I know what went wrong? - * Go to the `MyUnrealProject/Saved/Crashes` folder and search for the file `MyProject.log` within its subdirectories. At the end of this file you will see the stack trace and messages. - You can also take a look at the `Diagnostics.txt` file. - -- How do I use an IDE on Linux? - * You can use Qt Creator or CodeLite. Instructions for Qt Creator are available [here](https://docs.unrealengine.com/en-US/SharingAndReleasing/Linux/BeginnerLinuxDeveloper/SettingUpQtCreator/index.html). - -- Can I cross compile for Linux from a Windows machine? - * Yes, you can, but we haven't tested it. You can find the instructions [here](https://docs.unrealengine.com/latest/INT/Platforms/Linux/GettingStarted/index.html). - -- What compiler and stdlib does AirSim use? - * We use the same compiler that Unreal Engine uses, **Clang 8**, and stdlib, **libc++**. AirSim's `setup.sh` will automatically download them. - -- What version of CMake does the AirSim build use? - * 3.10.0 or higher. This is *not* the default in Ubuntu 16.04 so setup.sh installs it for you. You can check your CMake version using `cmake --version`. If you have an older version, follow [these instructions](cmake_linux.md) or see the [CMake website](https://cmake.org/install/). - -- Can I compile AirSim in BashOnWindows? - * Yes, however, you can't run Unreal from BashOnWindows. So this is kind of useful to check a Linux compile, but not for an end-to-end run. - See the [BashOnWindows install guide](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide). - Make sure to have the latest version (Windows 10 Creators Edition) as previous versions had various issues. - Also, don't invoke `bash` from `Visual Studio Command Prompt`, otherwise CMake might find VC++ and try and use that! - -- Where can I find more info on running Unreal on Linux? - * Start here: [Unreal on Linux](https://docs.unrealengine.com/latest/INT/Platforms/Linux/index.html) - * [Building Unreal on Linux](https://wiki.unrealengine.com/Building_On_Linux#Clang) - * [Unreal Linux Support](https://wiki.unrealengine.com/Linux_Support) - * [Unreal Cross Compilation](https://wiki.unrealengine.com/Compiling_For_Linux) diff --git a/docs/build_windows.md b/docs/build_windows.md index 0fa52c8002..6b8e7fbc95 100644 --- a/docs/build_windows.md +++ b/docs/build_windows.md @@ -47,75 +47,3 @@ See [Using APIs](apis.md) and [settings.json](settings.md) for various options a # AirSim on Unity (Experimental) [Unity](https://unity3d.com/) is another great game engine platform and we have an **experimental** integration of [AirSim with Unity](Unity.md). Please note that this is work in progress and all features may not work yet. - -# FAQ - -### How to force Unreal to use Visual Studio 2019? - -If the default `update_from_git.bat` file results in VS 2017 project, then you may need to run the `C:\Program Files\Epic Games\UE_4.25\Engine\Binaries\DotNET\UnrealBuildTool.exe` tool manually, with the command line options `-projectfiles -project= -game -rocket -progress -2019`. - -If you are upgrading from 4.18 to 4.25 you may also need to add `BuildSettingsVersion.V2` to your `*.Target.cs` and `*Editor.Target.cs` build files, like this: - -```c# - public AirSimNHTestTarget(TargetInfo Target) : base(Target) - { - Type = TargetType.Game; - DefaultBuildSettings = BuildSettingsVersion.V2; - ExtraModuleNames.AddRange(new string[] { "AirSimNHTest" }); - } -``` - -You may also need to edit this file: - -``` -"%APPDATA%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml -``` - -And add this Compiler version setting: - -```xml - - - VisualStudio2019 - - -``` - -### I get error: 'where' is not recognized as an internal or external command - -You have to add `C:\WINDOWS\SYSTEM32` to your PATH enviroment variable. - -### I'm getting error ` could not be compiled. Try rebuilding from source manually` - -This will occur when there are compilation errors. Logs are stored in `\Saved\Logs` which can be used to figure out the problem. - -A common problem could be Visual Studio version conflict, AirSim uses VS 2019 while UE is using VS 2017, this can be found by searching for `2017` in the Log file. In that case, see the answer above. - -If you have modified the AirSim plugin files, then you can right-click the `.uproject` file, select `Generate Visual Studio solution file` and then open the `.sln` file in VS to fix the errors and build again. - -### I get `error C100 : An internal error has occurred in the compiler` when running build.cmd -We have noticed this happening with VS version `15.9.0` and have checked-in a workaround in AirSim code. If you have this VS version, please make sure to pull the latest AirSim code. - -#### I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found" -Very likely you don't have [Windows SDK](https://developercommunity.visualstudio.com/content/problem/3754/cant-compile-c-program-because-of-sdk-81cant-add-a.html) installed with Visual Studio. - -### How do I use PX4 firmware with AirSim? -By default, AirSim uses its own built-in firmware called [simple_flight](simple_flight.md). There is no additional setup if you just want to go with it. If you want to switch to using PX4 instead then please see [this guide](px4_setup.md). - -### I made changes in Visual Studio but there is no effect - -Sometimes the Unreal + VS build system doesn't recompile if you make changes to only header files. To ensure a recompile, make some Unreal based cpp file "dirty" like AirSimGameMode.cpp. - -### Unreal still uses VS2015 or I'm getting some link error -Running several versions of VS can lead to issues when compiling UE projects. One problem that may arise is that UE will try to compile with an older version of VS which may or may not work. There are two settings in Unreal, one for for the engine and one for the project, to adjust the version of VS to be used. - -1. Edit -> Editor preferences -> General -> Source code -> Source Code Editor -2. Edit -> Project Settings -> Platforms -> Windows -> Toolchain ->CompilerVersion - -In some cases, these settings will still not lead to the desired result and errors such as the following might be produced: LINK : fatal error LNK1181: cannot open input file 'ws2_32.lib' - -To resolve such issues the following procedure can be applied: - -1. Uninstall all old versions of VS using the [VisualStudioUninstaller](https://github.com/Microsoft/VisualStudioUninstaller/releases) -2. Repair/Install VS 2019 -3. Restart machine and install Epic launcher and desired version of the engine diff --git a/docs/faq.md b/docs/faq.md index 84c95ff68b..b17b914982 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -1,88 +1,149 @@ - -# FAQ - -## General -#### Unreal editor is slow when it is not the active window - -Go to Edit/Editor Preferences, select "All Settings" and type "CPU" in the search box. -It should find the setting titled "Use Less CPU when in Background", and you want to uncheck this checkbox. - -#### My mouse disappears in Unreal - -Yes, Unreal steals the mouse, and we don't draw one. So to get your mouse back just use Alt+TAB to switch to a different window. To avoid this entirely, go to Project settings in Unreal Editor, go to Input tab and disable all settings for mouse capture. - -#### Where is the setting file and how do I modify it? -AirSim will create empty settings file at `~/Documents/AirSim/settings.json`. You can view the available [settings options](settings.md). - -#### How do I arm my drone? -If you're using simple_flight, your vehicle is already armed and ready to fly. For PX4 you can arm by holding both sticks on remote control down and to the center. - -#### When making API call I get error -If you are getting this error, -``` -TypeError: unsupported operand type(s) for *: 'AsyncIOLoop' and 'float' -``` -its probably due to upgraded version of tornado package with version > 5.0 in Python that conflicts with `msgpack-rpc-python` which requires tornado package < 5.0. To fix this you can update the package like this: -``` -pip install --upgrade msgpack-rpc-python -``` -But this might break something (for example, PyTorch 0.4+) because it will uninstall newer tornado and re-install older one. To avoid this you should create new [conda environment](https://conda.io/docs/user-guide/tasks/manage-environments.html). - -#### I'm getting Eigen not found error when compiling Unreal project. -This is most likely because AirSim wasn't built and Plugin folder was copied in Unreal project folder. To fix this make sure you [build AirSim](build_windows.md) first (run `build.cmd` in Windows). - -#### Something went wrong. How do I debug? - -First turn on C++ exceptions from the Exceptions window: - -![exceptions](images/exceptions.png) - -and copy the stack trace of all exceptions you see there during execution that look relevant (for example, there might be an initial exception from VSPerf140 that you can ignore) then paste these call stacks into a new AirSim GitHub issue, thanks. - -#### What do the colors mean in the Segmentation View ? - -See [Camera Views](camera_views.md) for information on the camera views and how to change them. - -#### Unreal 4.xx doesn't look as good as 4.yy - -Unreal 4.15 added the ability for Foliage LOD dithering to be disabled on a case-by-case basis by unchecking the `Dithered LOD Transition` checkbox in the foliage materials. Note that all materials used on all LODs need to have the checkbox checked in order for dithered LOD transitions to work. When checked the transition of generated foliage will be a lot smoother and will look better than 4.14. - -#### Can I use an XBox controller to fly? -See [XBox controller](xbox_controller.md) for details. - -#### Can I build a hexacopter with AirSim? -See [how to build a hexacopter](https://github.com/microsoft/airsim/wiki/hexacopter). - -#### How do I use AirSim with multiple vehicles? -Here is [multi-vehicle setup guide](multi_vehicle.md). - -#### What computer do you need? -It depends on how big your Unreal Environment is. The Blocks environment that comes with AirSim is very basic and works on typical laptops. The [Modular Neighborhood Pack](https://www.unrealengine.com/marketplace/modular-neighborhood-pack) that we use ourselves for research requires GPUs with at least 4GB of RAM. The [Open World environment](https://www.unrealengine.com/marketplace/open-world-demo-collection) needs GPU with 8GB RAM. Our typical development machines have 32GB of RAM and NVIDIA TitanX and a [fast hard drive](hard_drive.md). - -#### How do I report issues? -It's a good idea to include your configuration like below. If you can also include logs, that could also expedite the investigation. - -``` -Operating System: Windows 10 64bit -CPU: Intel Core i7 -GPU: Nvidia GTX 1080 -RAM: 32 GB -Flight Controller: Pixhawk v2 -Remote Control: Futaba -``` - -If you have modified the default `~/Document/AirSim/settings.json`, please include your -settings also. - -If you are using PX4 then try to [capture log from MavLink or PX4](px4_logging.md). - -File an issue through [GitHub Issues](https://github.com/microsoft/airsim/issues). - -## Others - -[Linux Build FAQ](build_linux.md#faq) -[Windows Build FAQ](build_windows.md#faq) -[PX4 Setup FAQ](px4_setup.md#faq) -[Remote Control FAQ](remote_control.md#faq) -[Unreal Blocks Environment FAQ](remote_control.md#faq) -[Unreal Custom Environment FAQ](remote_control.md#faq) +# FAQ + +--- + +## General + +* [Unreal editor is slow when it is not the active window](#unreal-editor-is-slow-when-it-is-not-the-active-window) +* [My mouse disappears in Unreal](#my-mouse-disappears-in-unreal) +* [Where is the setting file and how do I modify it?](#where-is-the-setting-file-and-how-do-i-modify-it) +* [How do I arm my drone?](#how-do-i-arm-my-drone) +* [When making API call I get error](#when-making-api-call-i-get-error) +* [I'm getting Eigen not found error when compiling Unreal project.](#im-getting-eigen-not-found-error-when-compiling-unreal-project) +* [Something went wrong. How do I debug?](#something-went-wrong-how-do-i-debug) +* [What do the colors mean in the Segmentation View?](#what-do-the-colors-mean-in-the-segmentation-view) +* [Unreal 4.xx doesn't look as good as 4.yy](#unreal-4xx-doesnt-look-as-good-as-4yy) +* [Can I use an XBox controller to fly?](#can-i-use-an-xbox-controller-to-fly) +* [Can I build a hexacopter with AirSim?](#can-i-build-a-hexacopter-with-airsim) +* [How do I use AirSim with multiple vehicles?](#how-do-i-use-airsim-with-multiple-vehicles) +* [What computer do you need?](#what-computer-do-you-need) +* [How do I report issues?](#how-do-i-report-issues) + +--- + + +## General + + +###### Unreal editor is slow when it is not the active window + +>Go to Edit/Editor Preferences, select "All Settings" and type "CPU" in the search box. +>It should find the setting titled "Use Less CPU when in Background", and you want to uncheck this checkbox. + + + +###### My mouse disappears in Unreal + +>Yes, Unreal steals the mouse, and we don't draw one. So to get your mouse back just use Alt+TAB to switch to a different window. To avoid this entirely, go to Project settings >in Unreal Editor, go to Input tab and disable all settings for mouse capture. + + + +###### Where is the setting file and how do I modify it? + +>AirSim will create empty settings file at `~/Documents/AirSim/settings.json`. You can view the available [settings options](settings.md). + + + +###### How do I arm my drone? + +>If you're using simple_flight, your vehicle is already armed and ready to fly. For PX4 you can arm by holding both sticks on remote control down and to the center. + + + +###### When making API call I get error + +>If you are getting this error, +>``` +>TypeError: unsupported operand type(s) for *: 'AsyncIOLoop' and 'float' +>``` +>its probably due to upgraded version of tornado package with version > 5.0 in Python that conflicts with `msgpack-rpc-python` which requires tornado package < 5.0. To fix this >you can update the package like this: +>``` +>pip install --upgrade msgpack-rpc-python +>``` +>But this might break something (for example, PyTorch 0.4+) because it will uninstall newer tornado and re-install older one. To avoid this you should create new [conda >environment](https://conda.io/docs/user-guide/tasks/manage-environments.html). + + + +###### I'm getting Eigen not found error when compiling Unreal project. +>This is most likely because AirSim wasn't built and Plugin folder was copied in Unreal project folder. To fix this make sure you [build AirSim](build_windows.md) first (run >`build.cmd` in Windows). + + + +###### Something went wrong. How do I debug? + +>First turn on C++ exceptions from the Exceptions window: + +>![exceptions](images/exceptions.png) + +>and copy the stack trace of all exceptions you see there during execution that look relevant (for example, there might be an initial exception from VSPerf140 that you can >ignore) then paste these call stacks into a new AirSim GitHub issue, thanks. + + + +###### What do the colors mean in the Segmentation View? + +>See [Camera Views](camera_views.md) for information on the camera views and how to change them. + + + +###### Unreal 4.xx doesn't look as good as 4.yy + +>Unreal 4.15 added the ability for Foliage LOD dithering to be disabled on a case-by-case basis by unchecking the `Dithered LOD Transition` checkbox in the foliage materials. >Note that all materials used on all LODs need to have the checkbox checked in order for dithered LOD transitions to work. When checked the transition of generated foliage will >be a lot smoother and will look better than 4.14. + + + +###### Can I use an XBox controller to fly? + +>See [XBox controller](xbox_controller.md) for details. + + + +###### Can I build a hexacopter with AirSim? + +>See [how to build a hexacopter](https://github.com/microsoft/airsim/wiki/hexacopter). + + + +###### How do I use AirSim with multiple vehicles? + +>Here is [multi-vehicle setup guide](multi_vehicle.md). + + + +###### What computer do you need? +>It depends on how big your Unreal Environment is. The Blocks environment that comes with AirSim is very basic and works on typical laptops. The +>[Modular Neighborhood Pack](https://www.unrealengine.com/marketplace/modular-neighborhood-pack) that we use ourselves for research requires GPUs with at least 4GB of RAM. The +>[Open World environment](https://www.unrealengine.com/marketplace/open-world-demo-collection) needs GPU with 8GB RAM. Our typical development machines have 32GB of RAM and +>NVIDIA TitanX and a [fast hard drive](hard_drive.md). + + + +###### How do I report issues? + +>It's a good idea to include your configuration like below. If you can also include logs, that could also expedite the investigation. + +>``` +>Operating System: Windows 10 64bit +>CPU: Intel Core i7 +>GPU: Nvidia GTX 1080 +>RAM: 32 GB +>Flight Controller: Pixhawk v2 +>Remote Control: Futaba +>``` + +>If you have modified the default `~/Document/AirSim/settings.json`, please include your +>settings also. + +>If you are using PX4 then try to [capture log from MavLink or PX4](px4_logging.md). + +>File an issue through [GitHub Issues](https://github.com/microsoft/airsim/issues). + + +## Others + + +[Linux Build FAQ](build_linux.md#faq) +[Windows Build FAQ](build_windows.md#faq) +[PX4 Setup FAQ](px4_setup.md#faq) +[Remote Control FAQ](remote_control.md#faq) +[Unreal Blocks Environment FAQ](remote_control.md#faq) +[Unreal Custom Environment FAQ](remote_control.md#faq) diff --git a/docs/package_binaries.md b/docs/package_binaries.md new file mode 100644 index 0000000000..65dbc84305 --- /dev/null +++ b/docs/package_binaries.md @@ -0,0 +1,6 @@ +# Packaging a binary including the AirSim plugin + +In order to package a custom environment with the AirSim plugin, there are a few project settings that are necessary for ensuring all required assets needed for AirSim are included inside the package. Under `Edit -> Project Settings... -> Project -> Packaging`, please ensure the following settings are configured properly: + +- `List of maps to include in a packaged build`: ensure one entry exists for `/AirSim/AirSimAssets` +- `Additional Asset Directories to Cook`: ensure one entry exists for `/AirSim/HUDAssets` diff --git a/mkdocs.yml b/mkdocs.yml index 9e1b732fe9..2bcb46a3ef 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,7 +40,7 @@ nav: - "Home": - "Home": 'README.md' - "Changelog": 'CHANGELOG.md' - - "Get AirSim": + - "Building AirSim": - "Download Binaries": 'use_precompiled.md' - "Build on Windows": 'build_windows.md' - "Build on Linux": 'build_linux.md' @@ -50,6 +50,8 @@ nav: - "AirSim with Unity": "Unity.md" - "Custom Unity Environment": "custom_unity_environments.md" - "Unity APIs": "unity_api_support.md" + - "Packaging AirSim": "package_binaries.md" + - "FAQ": 'build_faq.md' - "Using AirSim": - "Core APIs": 'apis.md' - "Image APIs": 'image_apis.md' From 4fb97843a9c7c8bf4e1054717a49c527c54ac94c Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 20 Oct 2021 21:14:11 -0300 Subject: [PATCH 48/54] clean PythonClient.pyproj --- PythonClient/PythonClient.pyproj | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/PythonClient/PythonClient.pyproj b/PythonClient/PythonClient.pyproj index 172d012868..0826b0b1b2 100644 --- a/PythonClient/PythonClient.pyproj +++ b/PythonClient/PythonClient.pyproj @@ -5,7 +5,7 @@ 2.0 e2049e20-b6dd-474e-8bca-1c8dc54725aa . - computer_vision\character_control.py + computer_vision\cv_capture.py . @@ -35,18 +35,12 @@ Code - - Code - Code Code - - Code - Code @@ -83,7 +77,6 @@ - @@ -91,10 +84,8 @@ - - @@ -120,9 +111,6 @@ - - Code - Code From 3360e7115ecb1d8c293899a985d49366eb7a8433 Mon Sep 17 00:00:00 2001 From: Octavian-Zhang Date: Thu, 28 Oct 2021 19:50:37 +0800 Subject: [PATCH 49/54] Update settings.md -> vehicle specific pawn path Add instruction on how to specify individual pawn paths for any given vehicle inside the vehicle settings JSON section. Based on issue: https://github.com/microsoft/AirSim/issues/4111 --- docs/settings.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/settings.md b/docs/settings.md index 5ab5926423..61bff21ad5 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -355,7 +355,22 @@ Each simulation mode will go through the list of vehicles specified in this sett ### Common Vehicle Setting - `VehicleType`: This could be any one of the following - `PhysXCar`, `SimpleFlight`, `PX4Multirotor`, `ComputerVision`, `ArduCopter` & `ArduRover`. There is no default value therefore this element must be specified. -- `PawnPath`: This allows to override the pawn blueprint to use for the vehicle. For example, you may create new pawn blueprint derived from ACarPawn for a warehouse robot in your own project outside the AirSim code and then specify its path here. See also [PawnPaths](#PawnPaths). +- `PawnPath`: This allows to override the pawn blueprint to use for the vehicle. For example, you may create new pawn blueprint derived from ACarPawn for a warehouse robot in your own project outside the AirSim code and then specify its path here. See also [PawnPaths](settings.md#PawnPaths). Note that you have to specify your custom pawn blueprint class path inside the global `PawnPaths` object using your proprietarily defined object name, and quote that name inside the `Vehicles` setting. For example, +```json + { + ... + "PawnPaths": { + "CustomPawn": {"PawnBP": "Class'/Game/Assets/Blueprints/MyPawn.MyPawn_C'"} + }, + "Vehicles": { + "MyVehicle": { + "VehicleType": ..., + "PawnPath": "CustomPawn", + ... + } + } + } +``` - `DefaultVehicleState`: Possible value for multirotors is `Armed` or `Disarmed`. - `AutoCreate`: If true then this vehicle would be spawned (if supported by selected sim mode). - `RC`: This sub-element allows to specify which remote controller to use for vehicle using `RemoteControlID`. The value of -1 means use keyboard (not supported yet for multirotors). The value >= 0 specifies one of many remote controllers connected to the system. The list of available RCs can be seen in Game Controllers panel in Windows, for example. From 9a946c23b1d12f0482dcdfd2c02a280818410629 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Mon, 1 Nov 2021 00:35:23 -0700 Subject: [PATCH 50/54] Update faq.md add link to package_binaries.md from main faq and fix links for both unreal environments --- docs/faq.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index b17b914982..3ab4b3b877 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -145,5 +145,6 @@ [Windows Build FAQ](build_windows.md#faq) [PX4 Setup FAQ](px4_setup.md#faq) [Remote Control FAQ](remote_control.md#faq) -[Unreal Blocks Environment FAQ](remote_control.md#faq) -[Unreal Custom Environment FAQ](remote_control.md#faq) +[Unreal Blocks Environment FAQ](unreal_blocks.md#faq) +[Unreal Custom Environment FAQ](unreal_custenv.md#faq) +[Packaging AirSim](package_binaries.md) From 3678cf3530f7ba3e6950469b4185d7fe3b821c90 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Mon, 1 Nov 2021 00:41:48 -0700 Subject: [PATCH 51/54] Update faq.md changing list of "others" to a bullet-point list for better readibility --- docs/faq.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 3ab4b3b877..4736dcf57f 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -141,10 +141,10 @@ ## Others -[Linux Build FAQ](build_linux.md#faq) -[Windows Build FAQ](build_windows.md#faq) -[PX4 Setup FAQ](px4_setup.md#faq) -[Remote Control FAQ](remote_control.md#faq) -[Unreal Blocks Environment FAQ](unreal_blocks.md#faq) -[Unreal Custom Environment FAQ](unreal_custenv.md#faq) -[Packaging AirSim](package_binaries.md) +* [Linux Build FAQ](build_linux.md#faq) +* [Windows Build FAQ](build_windows.md#faq) +* [PX4 Setup FAQ](px4_setup.md#faq) +* [Remote Control FAQ](remote_control.md#faq) +* [Unreal Blocks Environment FAQ](unreal_blocks.md#faq) +* [Unreal Custom Environment FAQ](unreal_custenv.md#faq) +* [Packaging AirSim](package_binaries.md) From fb2aae73c3f3114625f4a325c7c39d25d0c50362 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Mon, 1 Nov 2021 23:16:39 -0700 Subject: [PATCH 52/54] Update build_faq.md add text of docs/package_binaries.md to "Other" section --- docs/build_faq.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/build_faq.md b/docs/build_faq.md index eea2ea75e6..b187858891 100644 --- a/docs/build_faq.md +++ b/docs/build_faq.md @@ -28,6 +28,12 @@ --- +## Other + +* [Packaging AirSim](#packaging-a-binary-including-the-airsim-plugin) + +--- + ## Windows build @@ -182,3 +188,15 @@ >[Building Unreal on Linux](https://wiki.unrealengine.com/Building_On_Linux#Clang) >[Unreal Linux Support](https://wiki.unrealengine.com/Linux_Support) >[Unreal Cross Compilation](https://wiki.unrealengine.com/Compiling_For_Linux) + +--- + +## Other + + +###### Packaging a binary including the AirSim plugin + +>In order to package a custom environment with the AirSim plugin, there are a few project settings that are necessary for ensuring all required assets needed for AirSim are included inside the package. Under `Edit -> Project Settings... -> Project -> Packaging`, please ensure the following settings are configured properly: +> +>- `List of maps to include in a packaged build`: ensure one entry exists for `/AirSim/AirSimAssets` +>- `Additional Asset Directories to Cook`: ensure one entry exists for `/AirSim/HUDAssets` From 0ef7d3e844d07729d4ab58d7c7718db4e124e9f1 Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Mon, 1 Nov 2021 23:19:58 -0700 Subject: [PATCH 53/54] Delete package_binaries.md remove this file since its text is now part of build_faq.md --- docs/package_binaries.md | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 docs/package_binaries.md diff --git a/docs/package_binaries.md b/docs/package_binaries.md deleted file mode 100644 index 65dbc84305..0000000000 --- a/docs/package_binaries.md +++ /dev/null @@ -1,6 +0,0 @@ -# Packaging a binary including the AirSim plugin - -In order to package a custom environment with the AirSim plugin, there are a few project settings that are necessary for ensuring all required assets needed for AirSim are included inside the package. Under `Edit -> Project Settings... -> Project -> Packaging`, please ensure the following settings are configured properly: - -- `List of maps to include in a packaged build`: ensure one entry exists for `/AirSim/AirSimAssets` -- `Additional Asset Directories to Cook`: ensure one entry exists for `/AirSim/HUDAssets` From e935a386fb49bf2c13df5c84c76bf228ce3d4e4e Mon Sep 17 00:00:00 2001 From: zimmy87 Date: Mon, 1 Nov 2021 23:21:14 -0700 Subject: [PATCH 54/54] Update mkdocs.yml remove link to package_binaries.md since it has been removed --- mkdocs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 2bcb46a3ef..ddf1294688 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -50,7 +50,6 @@ nav: - "AirSim with Unity": "Unity.md" - "Custom Unity Environment": "custom_unity_environments.md" - "Unity APIs": "unity_api_support.md" - - "Packaging AirSim": "package_binaries.md" - "FAQ": 'build_faq.md' - "Using AirSim": - "Core APIs": 'apis.md'