Merge branch 'marcel/ue5/rename' into ue5-dev

This commit is contained in:
Marcel Pi 2024-03-08 20:31:48 +01:00
commit 5966d00496
575 changed files with 1437 additions and 1133 deletions

64
.gitignore vendored
View File

@ -1,67 +1,9 @@
.vs/
.vscode/
.cache/
__pycache__/
Build/
out/
Dist/
Doxygen/
Deprecated/PythonClient/dist/
TrafficManager/build/
Util/Build/
Dependencies/
Install/
Plugins/
!Unreal/CarlaUE4/Plugins
Unreal/CarlaUE4/Plugins/Streetmap
Unreal/CarlaUE4/Plugins/HoudiniEngine
/ExportedMaps
/Import/*
!/Import/README.md
*.VC.db
*.VC.opendb
*.o
*.a
*.so
*.lib
*.pyd
*.whl
*.egg
*.egg-info
*.kdev4
*.log
*.pb.cc
*.pb.h
*.pid
*.pri
*.pro
*.py[cod]
*.sln
*.stackdump
*.sublime-workspace
*.workspace
*CodeCompletionFolders.txt
*CodeLitePreProcessor.txt
.aria2c.input
.codelite
.gdb_history
.gtest
.idea
.tags*
__pycache__/
_benchmarks_results/
_images*
_out*
_site
core
profiler.csv
ArgsSync.json
Dist/
out/

View File

@ -349,7 +349,7 @@
## CARLA 0.9.7
* Upgraded parameters of Unreal/CarlaUE4/Config/DefaultInput.ini to prevent mouse freeze
* Upgraded parameters of Unreal/CarlaUnreal/Config/DefaultInput.ini to prevent mouse freeze
* Add build variant with AD RSS library integration with RSS sensor and result visualisation
* Support for OpenGL and Vulkan in docker + headless mode
* Added new sensor: Inertial measurement unit (IMU)

View File

@ -1,26 +1,69 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
include (FetchContent)
include (ExternalProject)
set (CARLA_DEPENDENCIES_PENDING)
macro (carla_dependency_add NAME TAG ARCHIVE_URL GIT_URL)
if (PREFER_CLONE)
message ("Cloning ${NAME}...")
FetchContent_Declare(
${NAME}
GIT_REPOSITORY ${GIT_URL}
GIT_TAG ${TAG}
GIT_SUBMODULES_RECURSE ON
GIT_SHALLOW ON
GIT_PROGRESS ON
OVERRIDE_FIND_PACKAGE
${ARGN}
)
list (APPEND CARLA_DEPENDENCIES_PENDING ${NAME})
else ()
message ("Downloading ${NAME}...")
FetchContent_Declare(
${NAME}
URL ${ARCHIVE_URL}
OVERRIDE_FIND_PACKAGE
${ARGN}
)
list (APPEND CARLA_DEPENDENCIES_PENDING ${NAME})
endif ()
endmacro ()
macro (carla_dependencies_make_available)
FetchContent_MakeAvailable (
${CARLA_DEPENDENCIES_PENDING})
set (CARLA_DEPENDENCIES_PENDING)
endmacro ()
macro (carla_fetchcontent_option NAME VALUE)
set (${NAME} ${VALUE} CACHE INTERNAL "")
endmacro ()
# These checks may be incomplete:
# ==== SQLITE3 ====
if (LINUX)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
endif ()
set (CARLA_DEPENDENCIES_INSTALL_PATH)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
string (REPLACE "." "" CARLA_SQLITE_TAG ${CARLA_SQLITE_VERSION})
FetchContent_Declare (
carla_dependency_add (
sqlite3
URL https://www.sqlite.org/2024/sqlite-amalgamation-${CARLA_SQLITE_TAG}.zip
${CARLA_SQLITE_TAG}
https://www.sqlite.org/2024/sqlite-amalgamation-${CARLA_SQLITE_TAG}.zip
""
)
FetchContent_MakeAvailable (sqlite3)
carla_dependencies_make_available ()
add_library (
libsqlite3 STATIC
@ -43,200 +86,144 @@ target_link_libraries (
libsqlite3
)
# ==== ZLIB ====
set (CARLA_DEPENDENCIES)
macro (carla_dependency_add NAME URL TAG)
message ("Fetching ${NAME}...")
FetchContent_Declare(
${NAME}
GIT_SUBMODULES_RECURSE ON
GIT_SHALLOW ON
GIT_PROGRESS ON
GIT_REPOSITORY ${URL}
GIT_TAG ${TAG}
OVERRIDE_FIND_PACKAGE
)
list (APPEND CARLA_DEPENDENCIES ${NAME})
endmacro ()
macro (carla_dependencies_make_available)
FetchContent_MakeAvailable (
${CARLA_DEPENDENCIES})
set (CARLA_DEPENDENCIES)
endmacro ()
macro (carla_fetchcontent_option NAME VALUE)
set (${NAME} ${VALUE} CACHE INTERNAL "")
endmacro ()
set (ZLIB_BUILD_EXAMPLES OFF)
carla_fetchcontent_option (ZLIB_BUILD_EXAMPLES OFF)
carla_dependency_add (
zlib
https://github.com/madler/zlib.git
${CARLA_ZLIB_TAG}
https://github.com/madler/zlib/archive/refs/tags/${CARLA_ZLIB_TAG}.zip
https://github.com/madler/zlib.git
)
carla_dependencies_make_available ()
include_directories (${zlib_SOURCE_DIR} ${zlib_BINARY_DIR}) # HACK
include_directories (${zlib_SOURCE_DIR} ${zlib_BINARY_DIR}) # @TODO HACK
set (PNG_TESTS OFF)
set (PNG_SHARED OFF)
set (PNG_TOOLS OFF)
set (PNG_BUILD_ZLIB ON)
# ==== LIBPNG ====
carla_fetchcontent_option (PNG_TESTS OFF)
carla_fetchcontent_option (PNG_SHARED OFF)
carla_fetchcontent_option (PNG_TOOLS OFF)
carla_fetchcontent_option (PNG_BUILD_ZLIB ON)
if (WIN32)
set (ZLIB_LIBRARY ${zlib_BINARY_DIR}/zlibstatic${CARLA_DEBUG_AFFIX}.lib)
carla_fetchcontent_option (ZLIB_LIBRARY ${zlib_BINARY_DIR}/zlibstatic${CARLA_DEBUG_AFFIX}.lib)
else ()
set (ZLIB_LIBRARY ${zlib_BINARY_DIR}/libz.a)
carla_fetchcontent_option (ZLIB_LIBRARY ${zlib_BINARY_DIR}/libz.a)
endif ()
set (ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
set (ZLIB_LIBRARIES ${ZLIB_LIBRARY})
carla_fetchcontent_option (ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
carla_fetchcontent_option (ZLIB_LIBRARIES ${ZLIB_LIBRARY})
carla_dependency_add (
libpng
https://github.com/glennrp/libpng.git
${CARLA_LIBPNG_TAG}
https://github.com/pnggroup/libpng/archive/refs/tags/${CARLA_LIBPNG_TAG}.zip
https://github.com/glennrp/libpng.git
)
carla_dependencies_make_available ()
include_directories (${libpng_SOURCE_DIR} ${libpng_BINARY_DIR}) # HACK
include_directories (${libpng_SOURCE_DIR} ${libpng_BINARY_DIR}) # @TODO HACK
if (BUILD_PYTHON_API)
set (BOOST_ENABLE_PYTHON ${BUILD_PYTHON_API})
endif ()
# ==== BOOST ====
carla_dependency_add (
carla_fetchcontent_option (BOOST_ENABLE_PYTHON ${BUILD_PYTHON_API})
carla_fetchcontent_option (BOOST_ENABLE_MPI OFF)
carla_fetchcontent_option (BOOST_LOCALE_WITH_ICU OFF)
carla_fetchcontent_option (BOOST_LOCALE_WITH_ICONV OFF)
carla_fetchcontent_option (BOOST_EXCLUDE_LIBRARIES "iostreams;locale;fiber;log")
carla_dependency_add(
boost
https://github.com/boostorg/boost.git
${CARLA_BOOST_TAG}
https://github.com/boostorg/boost/releases/download/${CARLA_BOOST_TAG}/${CARLA_BOOST_TAG}.zip
https://github.com/boostorg/boost.git
)
set (EIGEN_BUILD_PKGCONFIG OFF)
set (BUILD_TESTING OFF)
set (EIGEN_BUILD_DOC OFF)
# ==== EIGEN ====
carla_fetchcontent_option (EIGEN_BUILD_PKGCONFIG OFF)
carla_fetchcontent_option (BUILD_TESTING OFF)
carla_fetchcontent_option (EIGEN_BUILD_DOC OFF)
carla_dependency_add (
eigen
https://gitlab.com/libeigen/eigen.git
${CARLA_EIGEN_TAG}
https://gitlab.com/libeigen/eigen/-/archive/${CARLA_EIGEN_TAG}/eigen-${CARLA_EIGEN_TAG}.tar.gz
https://gitlab.com/libeigen/eigen.git
)
# ==== RPCLIB ====
carla_dependency_add (
rpclib
https://github.com/carla-simulator/rpclib.git
${CARLA_RPCLIB_TAG}
https://github.com/carla-simulator/rpclib/archive/refs/heads/${CARLA_RPCLIB_TAG}.zip
https://github.com/carla-simulator/rpclib.git
)
# ==== RECAST ====
carla_fetchcontent_option (RECASTNAVIGATION_BUILDER OFF)
carla_dependency_add (
recastnavigation
https://github.com/carla-simulator/recastnavigation.git
${CARLA_RECAST_TAG}
https://github.com/carla-simulator/recastnavigation/archive/refs/heads/${CARLA_RECAST_TAG}.zip
https://github.com/carla-simulator/recastnavigation.git
)
# ==== PROJ ====
if (ENABLE_OSM2ODR)
set (BUILD_TESTING OFF)
set (ENABLE_TIFF OFF)
set (ENABLE_CURL OFF)
carla_fetchcontent_option (BUILD_TESTING OFF)
carla_fetchcontent_option (ENABLE_TIFF OFF)
carla_fetchcontent_option (ENABLE_CURL OFF)
carla_dependency_add (
proj
https://github.com/OSGeo/PROJ/archive/refs/tags/${CARLA_PROJ_TAG}.zip
https://github.com/OSGeo/PROJ.git
${CARLA_PROJ_TAG}
)
endif ()
# ==== XERCESC ====
if (ENABLE_OSM2ODR)
carla_dependency_add (
xercesc
https://github.com/apache/xerces-c/archive/refs/tags/${CARLA_XERCESC_TAG}.zip
https://github.com/apache/xerces-c.git
${CARLA_XERCESC_TAG}
)
endif ()
# ==== LUNASVG ====
if (BUILD_OSM_WORLD_RENDERER)
carla_dependency_add (
lunasvg
https://github.com/sammycage/lunasvg/archive/refs/tags/${CARLA_LUNASVG_TAG}.zip
https://github.com/sammycage/lunasvg.git
${CARLA_LUNASVG_TAG}
)
endif ()
# ==== LIBOSMSCOUT ====
if (BUILD_OSM_WORLD_RENDERER)
carla_dependency_add (
libosmscout
https://github.com/Framstag/libosmscout/archive/refs/tags/${CARLA_LIBOSMSCOUT_TAG}.zip
https://github.com/Framstag/libosmscout.git
${CARLA_LIBOSMSCOUT_TAG}
)
endif ()
# carla_dependency_add (
# gtest
# https://github.com/google/googletest.git
# ${CARLA_GTEST_TAG}
# )
# ==== STREETMAP ====
if (BUILD_CARLA_UE)
carla_dependency_add (
StreetMap
https://github.com/carla-simulator/StreetMap.git
https://github.com/carla-simulator/StreetMap/archive/refs/heads/${CARLA_STREETMAP_TAG}.zip
${CARLA_STREETMAP_TAG}
DOWNLOAD_DIR ${CARLA_WORKSPACE_PATH}/Unreal/CarlaUnreal/Plugins
)
endif ()
carla_dependencies_make_available ()
#[[
ExternalProject_Add (
recastnavigation
GIT_REPOSITORY https://github.com/carla-simulator/recastnavigation.git
GIT_TAG ${CARLA_RECAST_TAG}
)
ExternalProject_Add (
proj
GIT_REPOSITORY https://github.com/OSGeo/PROJ.git
GIT_TAG ${CARLA_PROJ_TAG}
CMAKE_ARGS
-DSQLITE3_INCLUDE_DIR=${sqlite3_SOURCE_DIR}
-DSQLITE3_LIBRARY=$<TARGET_FILE:libsqlite3>
-DEXE_SQLITE3=$<TARGET_FILE:sqlite3>
-DENABLE_TIFF=OFF
-DENABLE_CURL=OFF
-DBUILD_SHARED_LIBS=OFF
-DBUILD_PROJSYNC=OFF
-DBUILD_PROJINFO=OFF
-DBUILD_CCT=OFF
-DBUILD_CS2CS=OFF
-DBUILD_GEOD=OFF
-DBUILD_GIE=OFF
-DBUILD_PROJ=OFF
-DBUILD_TESTING=OFF
)
add_dependencies (proj sqlite3 libsqlite3)
ExternalProject_Add (
xercesc
GIT_REPOSITORY https://github.com/apache/xerces-c.git
GIT_TAG ${CARLA_XERCESC_TAG}
)
ExternalProject_Add (
libpng
GIT_REPOSITORY https://github.com/glennrp/libpng.git
GIT_TAG ${CARLA_LIBPNG_TAG}
CMAKE_ARGS
-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}
-DPNG_TESTS=OFF
-DPNG_SHARED=OFF
-DPNG_TOOLS=OFF
)
ExternalProject_Add (
lunasvg
GIT_REPOSITORY https://github.com/sammycage/lunasvg.git
)
ExternalProject_Add (
libosmscout
GIT_REPOSITORY https://github.com/Framstag/libosmscout.git
)
ExternalProject_Add (
gtest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG ${CARLA_GTEST_TAG}
)]]

View File

@ -1,252 +1,17 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
macro (carla_string_option NAME DESCRIPTION VALUE)
set (${NAME} ${VALUE} CACHE STRING ${DESCRIPTION})
endmacro ()
# ==== Common target flags ====
set (BUILD_SHARED_LIBS OFF)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
option (
BUILD_CARLA_CLIENT
"Build the LibCarla client."
ON
)
option (
BUILD_CARLA_SERVER
"Build the LibCarla server."
ON
)
option (
ENABLE_LIBCARLA_PYTORCH
"Enable LibCarla-PyTorch."
OFF
)
option (
BUILD_PYTHON_API
"Build the CARLA Python API."
ON
)
option (
BUILD_CARLA_UE
"Build the Carla Unreal Engine project."
OFF
)
option (
ENABLE_ROS2
"Enable ROS2."
OFF
)
option (
ENABLE_OSM2ODR
"Enable OSM2ODR."
OFF
)
option (
ENABLE_RSS
"Enable RSS components (ad-rss-lib)"
OFF
)
option (
INSTALL_LIBCARLA
"Install LibCarla and all of its dependencies."
ON
)
option (
BUILD_OSM_WORLD_RENDERER
"Build OSM World Renderer."
OFF
)
option (
ENABLE_RTTI
"Enable C++ RTTI."
OFF
)
option (
ENABLE_EXCEPTIONS
"Enable C++ Exceptions."
OFF
)
carla_string_option (
CARLA_UNREAL_ENGINE_PATH
"Path to the CARLA fork of Unreal Engine"
""
)
if (EXISTS ${CARLA_UNREAL_ENGINE_PATH})
set (CARLA_HAS_UNREAL_ENGINE_PATH ON)
else ()
set (CARLA_HAS_UNREAL_ENGINE_PATH OFF)
endif ()
if (${BUILD_CARLA_UE})
if (${CARLA_HAS_UNREAL_ENGINE_PATH})
message ("Carla UE project successfully added to build. (UE path: ${CARLA_UNREAL_ENGINE_PATH})")
else ()
message (
FATAL_ERROR
"Could not add UE project to build since the option CARLA_UNREAL_ENGINE_PATH is not set to a valid path (\"${CARLA_UNREAL_ENGINE_PATH}\"). Please set it to point to the root path of your CARLA Unreal Engine installation.")
endif ()
endif ()
# ==== DEPENDENCIES ====
# ==== BOOST ====
carla_string_option (
CARLA_BOOST_VERSION
"Target boost version."
1.84.0
)
carla_string_option (
CARLA_BOOST_TAG
"Target boost git tag."
boost-${CARLA_BOOST_VERSION}
)
# ==== EIGEN ====
carla_string_option (
CARLA_EIGEN_VERSION
"Target Eigen version."
3.4.0
)
carla_string_option (
CARLA_EIGEN_TAG
"Target Eigen git tag."
${CARLA_EIGEN_VERSION}
)
# ==== GOOGLE TEST ====
carla_string_option (
CARLA_GTEST_VERSION
"Target googletest version."
1.14.0
)
carla_string_option (
CARLA_GTEST_TAG
"Target googletest git tag."
v${CARLA_GTEST_VERSION}
)
# ==== LIBPNG ====
carla_string_option (
CARLA_LIBPNG_VERSION
"Target libpng version."
1.6.40
)
carla_string_option (
CARLA_LIBPNG_TAG
"Target libpng git tag."
v${CARLA_LIBPNG_VERSION}
)
# ==== PROJ ====
carla_string_option (
CARLA_PROJ_VERSION
"Target PROJ version."
7.2.1
)
carla_string_option (
CARLA_PROJ_TAG
"Target PROJ git tag."
${CARLA_PROJ_VERSION}
)
# ==== RECAST ====
carla_string_option (
CARLA_RECAST_TAG
"Target recastnavigation git tag."
carla
)
# ==== RPCLIB ====
carla_string_option (
CARLA_RPCLIB_TAG
"Target rpclib git tag."
carla
)
# ==== SQLITE3 ====
carla_string_option (
CARLA_SQLITE_VERSION
"Target SQLite version (major[1].minor[2].patch[2].revision[2])."
3.45.01.00
)
# ==== XERCESC ====
carla_string_option (
CARLA_XERCESC_VERSION
"Target xerces-c version."
3.2.4
)
carla_string_option (
CARLA_XERCESC_TAG
"Target xerces-c git tag."
v${CARLA_XERCESC_VERSION}
)
# ==== ZLIB ====
carla_string_option (
CARLA_ZLIB_VERSION
"Target zlib git tag."
1.3.1)
carla_string_option (
CARLA_ZLIB_TAG
"Target zlib git tag."
v${CARLA_ZLIB_VERSION})
# ==== LUNASVG ====
carla_string_option (
CARLA_LUNASVG_VERSION
"Target lunasvg version."
master
)
carla_string_option (
CARLA_LUNASVG_TAG
"Target lunasvg git tag."
${CARLA_LUNASVG_VERSION}
)
# ==== LIBOSMSCOUT ====
carla_string_option (
CARLA_LIBOSMSCOUT_VERSION
"Target libosmscout version."
master
)
carla_string_option (
CARLA_LIBOSMSCOUT_TAG
"Target libosmscout git tag."
${CARLA_LIBOSMSCOUT_VERSION}
)
include (${CARLA_WORKSPACE_PATH}/CMake/Options/Common.cmake)
include (${CARLA_WORKSPACE_PATH}/CMake/Options/Unreal.cmake)
include (${CARLA_WORKSPACE_PATH}/CMake/Options/Dependencies.cmake)

166
CMake/LinuxToolchain.cmake Normal file
View File

@ -0,0 +1,166 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
set (UE_ROOT /home/marcel/CarlaUnrealEngine5) # @TODO
# set (UE_ROOT ${CARLA_UNREAL_ENGINE_PATH} CACHE PATH "")
message ("UE_ROOT=${UE_ROOT}")
set (ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR})
if (${ARCH} STREQUAL "x86_64")
set (CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "")
set (TARGET_TRIPLE "x86_64-unknown-linux-gnu" CACHE STRING "")
elseif (${ARCH} STREQUAL "aarch64")
set (CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "")
set (TARGET_TRIPLE "aarch64-unknown-linux-gnueabi" CACHE STRING "")
endif()
set (
UE_SYSROOT
${UE_ROOT}/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/${TARGET_TRIPLE}
CACHE PATH ""
)
set (
UE_THIRD_PARTY
${UE_ROOT}/Engine/Source/ThirdParty CACHE PATH ""
)
set (
UE_INCLUDE
${UE_THIRD_PARTY}/Unix/LibCxx/include CACHE PATH ""
)
set (
UE_LIBS
${UE_THIRD_PARTY}/Unix/LibCxx/lib/Unix/${TARGET_TRIPLE} CACHE PATH ""
)
add_compile_options (
-fms-extensions
-fno-math-errno
-fdiagnostics-absolute-paths
$<$<COMPILE_LANGUAGE:CXX>:-stdlib=libc++>
)
add_link_options (-stdlib=libc++ -L${UE_LIBS} )
set (
CMAKE_AR
${UE_SYSROOT}/bin/llvm-ar
CACHE FILEPATH ""
)
set (
CMAKE_ASM_COMPILER
${UE_SYSROOT}/bin/clang
CACHE FILEPATH ""
)
set (
CMAKE_C_COMPILER
${UE_SYSROOT}/bin/clang
CACHE FILEPATH ""
)
set (
CMAKE_C_COMPILER_AR
${UE_SYSROOT}/bin/llvm-ar
CACHE FILEPATH ""
)
set (
CMAKE_CXX_COMPILER
${UE_SYSROOT}/bin/clang++
CACHE FILEPATH ""
)
set (
CMAKE_CXX_COMPILER_AR
${UE_SYSROOT}/bin/llvm-ar
CACHE FILEPATH ""
)
set (
CMAKE_OBJCOPY
${UE_SYSROOT}/bin/llvm-objcopy
CACHE FILEPATH ""
)
set (
CMAKE_ADDR2LINE
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-addr2line
CACHE FILEPATH ""
)
set (
CMAKE_C_COMPILER_RANLIB
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib
CACHE FILEPATH ""
)
set (
CMAKE_CXX_COMPILER_RANLIB
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib
CACHE FILEPATH ""
)
set (
CMAKE_LINKER
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ld
CACHE FILEPATH ""
)
set (
CMAKE_NM
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-nm
CACHE FILEPATH ""
)
set (
CMAKE_OBJDUMP
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-objdump
CACHE FILEPATH ""
)
set (
CMAKE_RANLIB
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib
CACHE FILEPATH ""
)
set (
CMAKE_READELF
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-readelf
CACHE FILEPATH ""
)
set (
CMAKE_STRIP
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-strip
CACHE FILEPATH ""
)
set (
COVERAGE_COMMAND
${UE_SYSROOT}/bin/${TARGET_TRIPLE}-gcov
CACHE FILEPATH ""
)
set (
CMAKE_CXX_STANDARD_LIBRARIES
"${UE_LIBS}/libc++.a ${UE_LIBS}/libc++abi.a"
)
set (
CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
${UE_INCLUDE} ${UE_INCLUDE}/c++/v1
)

View File

@ -0,0 +1,87 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
option (
BUILD_CARLA_CLIENT
"Build the LibCarla client."
ON
)
option (
BUILD_CARLA_SERVER
"Build the LibCarla server."
ON
)
option (
ENABLE_LIBCARLA_PYTORCH
"Enable LibCarla-PyTorch."
OFF
)
option (
BUILD_PYTHON_API
"Build the CARLA Python API."
ON
)
option (
BUILD_CARLA_UE
"Build the Carla Unreal Engine project."
OFF
)
option (
ENABLE_ROS2
"Enable ROS2."
OFF
)
option (
ENABLE_OSM2ODR
"Enable OSM2ODR."
OFF
)
option (
ENABLE_RSS
"Enable RSS components (ad-rss-lib)"
OFF
)
option (
INSTALL_LIBCARLA
"Install LibCarla and all of its dependencies."
ON
)
option (
BUILD_OSM_WORLD_RENDERER
"Build OSM World Renderer."
OFF
)
option (
ENABLE_RTTI
"Enable C++ RTTI."
OFF
)
option (
ENABLE_EXCEPTIONS
"Enable C++ Exceptions."
OFF
)
option (
PREFER_CLONE
"Whether to clone dependencies instead of directly downloading a compressed archive."
OFF
)

View File

@ -0,0 +1,172 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
# ==== BOOST ====
carla_string_option (
CARLA_BOOST_VERSION
"Target boost version."
1.84.0
)
carla_string_option (
CARLA_BOOST_TAG
"Target boost git tag."
boost-${CARLA_BOOST_VERSION}
)
# ==== EIGEN ====
carla_string_option (
CARLA_EIGEN_VERSION
"Target Eigen version."
3.4.0
)
carla_string_option (
CARLA_EIGEN_TAG
"Target Eigen git tag."
${CARLA_EIGEN_VERSION}
)
# ==== GOOGLE TEST ====
carla_string_option (
CARLA_GTEST_VERSION
"Target googletest version."
1.14.0
)
carla_string_option (
CARLA_GTEST_TAG
"Target googletest git tag."
v${CARLA_GTEST_VERSION}
)
# ==== LIBPNG ====
carla_string_option (
CARLA_LIBPNG_VERSION
"Target libpng version."
1.6.40
)
carla_string_option (
CARLA_LIBPNG_TAG
"Target libpng git tag."
v${CARLA_LIBPNG_VERSION}
)
# ==== PROJ ====
carla_string_option (
CARLA_PROJ_VERSION
"Target PROJ version."
7.2.1
)
carla_string_option (
CARLA_PROJ_TAG
"Target PROJ git tag."
${CARLA_PROJ_VERSION}
)
# ==== RECAST ====
carla_string_option (
CARLA_RECAST_TAG
"Target recastnavigation git tag."
carla
)
# ==== RPCLIB ====
carla_string_option (
CARLA_RPCLIB_TAG
"Target rpclib git tag."
carla
)
# ==== SQLITE3 ====
carla_string_option (
CARLA_SQLITE_VERSION
"Target SQLite version (major[1].minor[2].patch[2].revision[2])."
3.45.01.00
)
# ==== XERCESC ====
carla_string_option (
CARLA_XERCESC_VERSION
"Target xerces-c version."
3.2.4
)
carla_string_option (
CARLA_XERCESC_TAG
"Target xerces-c git tag."
v${CARLA_XERCESC_VERSION}
)
# ==== ZLIB ====
carla_string_option (
CARLA_ZLIB_VERSION
"Target zlib git tag."
1.3.1)
carla_string_option (
CARLA_ZLIB_TAG
"Target zlib git tag."
v${CARLA_ZLIB_VERSION})
# ==== LUNASVG ====
carla_string_option (
CARLA_LUNASVG_VERSION
"Target lunasvg version."
master
)
carla_string_option (
CARLA_LUNASVG_TAG
"Target lunasvg git tag."
${CARLA_LUNASVG_VERSION}
)
# ==== LIBOSMSCOUT ====
carla_string_option (
CARLA_LIBOSMSCOUT_VERSION
"Target libosmscout version."
master
)
carla_string_option (
CARLA_LIBOSMSCOUT_TAG
"Target libosmscout git tag."
${CARLA_LIBOSMSCOUT_VERSION}
)
# ==== STREETMAP ====
carla_string_option (
CARLA_STREETMAP_VERSION
"Target StreetMap version."
ue5.3
)
carla_string_option (
CARLA_STREETMAP_TAG
"Target StreetMap git tag."
${CARLA_STREETMAP_VERSION}
)

View File

@ -0,0 +1,50 @@
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
option (
CARLA_UNREAL_CONTENT_PREFER_CLONE
"Whether to perform a git clone instead of a direct archive download of the CARLA Unreal assets (EXTREMELY DISCOURAGED)."
OFF
)
carla_string_option (
CARLA_UNREAL_ENGINE_PATH
"Path to the CARLA fork of Unreal Engine."
""
)
if (WIN32)
set (CARLA_UNREAL_RHI_DEFAULT d3d12)
elseif (LINUX)
set (CARLA_UNREAL_RHI_DEFAULT vulkan)
endif ()
carla_string_option (
CARLA_UNREAL_RHI
"Target CARLA Unreal Engine RHI."
"vulkan"
"${CARLA_UNREAL_RHI_DEFAULT}"
)
if (EXISTS ${CARLA_UNREAL_ENGINE_PATH})
set (CARLA_HAS_UNREAL_ENGINE_PATH ON)
else ()
set (CARLA_HAS_UNREAL_ENGINE_PATH OFF)
endif ()
if (${BUILD_CARLA_UE})
if (${CARLA_HAS_UNREAL_ENGINE_PATH})
message ("Carla UE project successfully added to build. (UE path: ${CARLA_UNREAL_ENGINE_PATH})")
else ()
message (
FATAL_ERROR
"Could not add UE project to build since the option CARLA_UNREAL_ENGINE_PATH is not set to a valid path (\"${CARLA_UNREAL_ENGINE_PATH}\"). Please set it to point to the root path of your CARLA Unreal Engine installation.")
endif ()
endif ()

View File

@ -1,4 +1,14 @@
cmake_minimum_required (VERSION 3.20.0)
#[[
Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma
de Barcelona (UAB).
This work is licensed under the terms of the MIT license.
For a copy, see <https://opensource.org/licenses/MIT>.
]]
cmake_minimum_required (VERSION 3.28.0)
cmake_policy (SET CMP0097 NEW)
cmake_policy (SET CMP0091 NEW)
@ -40,13 +50,28 @@ set (
set (
CARLA_UNREAL_PLUGINS_PATH
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4/Plugins
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUnreal/Plugins
)
include (CheckCCompilerFlag)
include (CheckCXXCompilerFlag)
include (CheckLinkerFlag)
include (${CARLA_WORKSPACE_PATH}/CMake/CarlaOptions.cmake)
if (LINUX)
check_linker_flag (
CXX
-lpthread
HAS_PTHREAD
)
if (HAS_PTHREAD)
add_link_options (-lpthread)
endif ()
endif ()
# Similar to configure_file, but also expands variables
# that are set at generate time, like generator expressions.
macro (carla_two_step_configure_file DESTINATION SOURCE)
message ("Configuring file \"${DESTINATION}\"")
# Configure-time step; evaluate variables:
@ -55,16 +80,9 @@ macro (carla_two_step_configure_file DESTINATION SOURCE)
file (GENERATE OUTPUT ${DESTINATION} INPUT ${DESTINATION})
endmacro ()
set (
CMAKE_INSTALL_PREFIX
${CARLA_DEPENDENCIES_INSTALL_PREFIX}
)
if (WIN32)
set (LIB_EXT .lib)
else ()
set (LIB_EXT .a)
endif ()
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
if (WIN32)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
@ -76,6 +94,8 @@ if (WIN32)
endif ()
endif ()
set (
CARLA_COMMON_DEFINITIONS
LIBCARLA_IMAGE_WITH_PNG_SUPPORT=true
@ -90,6 +110,7 @@ if (WIN32)
endif ()
set (CARLA_EXCEPTION_DEFINITIONS)
if (ENABLE_EXCEPTIONS)
# Nothing
else ()
@ -99,8 +120,12 @@ else ()
list (APPEND CARLA_EXCEPTION_DEFINITIONS PUGIXML_NO_EXCEPTIONS)
endif ()
include (${CARLA_WORKSPACE_PATH}/CMake/CarlaDependencies.cmake)
if (BUILD_CARLA_CLIENT OR BUILD_CARLA_SERVER)
add_subdirectory (LibCarla)
endif ()
@ -116,13 +141,3 @@ endif ()
if (BUILD_CARLA_UE)
add_subdirectory (Unreal)
endif ()
carla_two_step_configure_file (
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Carla.Build.cs
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Carla.Build.cs.in
)
carla_two_step_configure_file (
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs.in
)

View File

@ -19,7 +19,7 @@ EXAMPLES_PATH = WORKSPACE_PATH / 'Examples'
UTIL_PATH = WORKSPACE_PATH / 'Util'
DOCKER_UTILS_PATH = UTIL_PATH / 'DockerUtils'
PATCHES_PATH = UTIL_PATH / 'Patches'
CARLA_UE_PATH = WORKSPACE_PATH / 'Unreal' / 'CarlaUE4'
CARLA_UE_PATH = WORKSPACE_PATH / 'Unreal' / 'CarlaUnreal'
CARLA_UE_PLUGIN_ROOT_PATH = CARLA_UE_PATH / 'Plugins'
CARLA_UE_PLUGIN_PATH = CARLA_UE_PLUGIN_ROOT_PATH / 'Carla'
CARLA_UE_PLUGIN_DEPENDENCIES_PATH = CARLA_UE_PLUGIN_ROOT_PATH / 'CarlaDependencies'
@ -1385,12 +1385,12 @@ def BuildCarlaUEMain():
if os.name == 'nt':
LaunchSubprocessImmediate([
UNREAL_ENGINE_PATH / 'Engine' / 'Build' / 'BatchFiles' / 'Build.bat',
'CarlaUE4Editor',
'CarlaUnrealEditor',
'Win64',
'Development',
'-WaitMutex',
'-FromMsBuild',
CARLA_UE_PATH / 'CarlaUE4.uproject',
CARLA_UE_PATH / 'CarlaUnreal.uproject',
], log_name = 'carla-ue-editor-build')
else:
pass

View File

@ -140,9 +140,9 @@ python -m pip install GPUtil
1. Start CARLA:
# Linux:
./CarlaUE4.sh
./CarlaUnreal.sh
# Windows:
CarlaUE4.exe
CarlaUnreal.exe
# Source:
make launch

View File

@ -16,11 +16,11 @@ The parameters we can use are:
For example
**./CarlaUE4.sh --nullrhi**
**./CarlaUnreal.sh --nullrhi**
The primary server will use by default the port 2002 to listen for secondary servers. If you need to listen on another port, then you can change it with the flag
**./CarlaUE4.sh --nullrhi -carla-primary-port=3002**
**./CarlaUnreal.sh --nullrhi -carla-primary-port=3002**
## Secondary servers
@ -32,13 +32,13 @@ Then we need to start as many servers as we want, but the ideal is to have as ma
For example, if the primary server is executing in the same computer than the secondary servers and with the default port, we can use this:
**./CarlaUE4.sh -carla-rpc-port=3000 -carla-primary-host=127.0.0.1 -ini:[/Script/Engine.RendererSettings]:r.GraphicsAdapter=0**
**./CarlaUnreal.sh -carla-rpc-port=3000 -carla-primary-host=127.0.0.1 -ini:[/Script/Engine.RendererSettings]:r.GraphicsAdapter=0**
Here, the secondary server will use port 3000 as the RPC server to avoid conflicts with other ports (but it will never be used), and will connect to the primary server located at IP 127.0.0.1 (localhost) in the default port (2002), and also this server will use the GPU device 0.
If we want to start another secondary server in the same machine using another GPU, we could use this command:
**./CarlaUE4.sh -carla-rpc-port=4000 -carla-primary-host=127.0.0.1 -carla-primary-port=2002 -ini:[/Script/Engine.RendererSettings]:r.GraphicsAdapter=1**
**./CarlaUnreal.sh -carla-rpc-port=4000 -carla-primary-host=127.0.0.1 -carla-primary-port=2002 -ini:[/Script/Engine.RendererSettings]:r.GraphicsAdapter=1**
This secondary server will use port 4000 as the RPC server to avoid conflicts with other ports and will connect to the primary server located at IP 127.0.0.1 in the port 2002, and also this server will use the GPU device 1.

View File

@ -51,7 +51,7 @@ python3 config.py -x opendrive/TownBig.xodr
__[client.generate_opendrive_world()](python_api.md#carla.Client.generate_opendrive_world)__ uses __content of the OpenDRIVE file parsed as string__. On the contrary, __`config.py`__ script needs __the path to the `.xodr` file__.
!!! Note
If you experience the error `opendrive could not be correctly parsed`, ensure that there are write permissions on the `CarlaUE4/Content/Carla/Maps/OpenDrive/` directory. This is required by the server to parse the `xodr` file correctly.
If you experience the error `opendrive could not be correctly parsed`, ensure that there are write permissions on the `CarlaUnreal/Content/Carla/Maps/OpenDrive/` directory. This is required by the server to parse the `xodr` file correctly.
---
## Mesh generation

View File

@ -29,7 +29,7 @@ The recorder file includes information regarding many different elements.
* __Pedestrians__ — position and orientation, and linear and angular velocity.
* __Lights__ — Light states from buildings, streets, and vehicles.
To start recording there is only need for a file name. Using `\`, `/` or `:` characters in the file name will define it as an absolute path. If no path is detailed, the file will be saved in `CarlaUE4/Saved`.
To start recording there is only need for a file name. Using `\`, `/` or `:` characters in the file name will define it as an absolute path. If no path is detailed, the file will be saved in `CarlaUnreal/Saved`.
```py
client.start_recorder("/home/carla/recording01.log")

View File

@ -31,13 +31,13 @@ The simulation runs significantly faster in __Low__ mode. This is helpful in sit
The images below compare both modes. The flag used is the same for Windows and Linux. There is no equivalent option when working with the build, but the UE editor has its own quality settings. Go to `Settings/Engine Scalability Settings` for a greater customization of the desired quality.
#### Epic mode
`./CarlaUE4.sh -quality-level=Epic`
`./CarlaUnreal.sh -quality-level=Epic`
![Epic mode screenshot](img/rendering_quality_epic.jpg)
*Epic mode screenshot*
#### Low mode
`./CarlaUE4.sh -quality-level=Low`
`./CarlaUnreal.sh -quality-level=Low`
![Low mode screenshot](img/rendering_quality_low.jpg)
*Low mode screenshot*
@ -45,7 +45,7 @@ The images below compare both modes. The flag used is the same for Windows and L
<br>
!!! Important
The issue that made Epic mode show an abnormal whiteness has been fixed. If the problem persists, delete `GameUserSettings.ini`. It is saving previous settings, and will be generated again in the next run. __Ubuntu path:__ ` ~/.config/Epic/CarlaUE4/Saved/Config/LinuxNoEditor/` __Windows path:__ `<Package folder>\WindowsNoEditor\CarlaUE4\Saved\Config\WindowsNoEditor\`
The issue that made Epic mode show an abnormal whiteness has been fixed. If the problem persists, delete `GameUserSettings.ini`. It is saving previous settings, and will be generated again in the next run. __Ubuntu path:__ ` ~/.config/Epic/CarlaUnreal/Saved/Config/LinuxNoEditor/` __Windows path:__ `<Package folder>\WindowsNoEditor\CarlaUnreal\Saved\Config\WindowsNoEditor\`
---
## No-rendering mode
@ -97,7 +97,7 @@ It is important to understand the distinction between __no-rendering mode__ and
To start CARLA in off-screen mode, run the following command:
```sh
./CarlaUE4.sh -RenderOffScreen
./CarlaUnreal.sh -RenderOffScreen
```
### Setting off-screen mode (Versions prior to 0.9.12)
@ -108,7 +108,7 @@ __Using OpenGL__, you can run in off-screen mode in Linux by running the followi
```sh
# Linux
DISPLAY= ./CarlaUE4.sh -opengl
DISPLAY= ./CarlaUnreal.sh -opengl
```
__Vulkan__ requires extra steps because it needs to communicate to the display X server using the X11 network protocol to work properly. The following steps will guide you on how to set up an Ubuntu 18.04 machine without a display so that CARLA can run with Vulkan.
@ -152,7 +152,7 @@ sudo X :0 &
__7. Run CARLA:__
```sh
DISPLAY=:0.GPU ./CarlaUE4.sh -vulkan
DISPLAY=:0.GPU ./CarlaUnreal.sh -vulkan
```
CARLA provides a Dockerfile that performs all the above steps [here](https://github.com/carla-simulator/carla/blob/0.9.12/Util/Docker/Release.Dockerfile).

View File

@ -25,7 +25,7 @@ SUMO is ready to run the co-simulations. There are some examples in `Co-Simulati
Run a CARLA simulation with __Town04__.
```sh
cd ~/carla
./CarlaUE4.sh
./CarlaUnreal.sh
cd PythonAPI/util
python3 config.py --map Town04
```

View File

@ -458,7 +458,7 @@ The CARLA server keeps a register of all TM instances by storing the port and th
In a multi-client simulation, multiple TMs are created on the same port. The first TM will be a TM-Server and the rest will be TM-Clients connecting to it. The TM-Server will dictate the behavior of all the TM instances:
```py
terminal 1: ./CarlaUE4.sh -carla-rpc-port=4000
terminal 1: ./CarlaUnreal.sh -carla-rpc-port=4000
terminal 2: python3 generate_traffic.py --port 4000 --tm-port 4050 # TM-Server
terminal 3: python3 generate_traffic.py --port 4000 --tm-port 4050 # TM-Client
```
@ -468,7 +468,7 @@ terminal 3: python3 generate_traffic.py --port 4000 --tm-port 4050 # TM-Client
In a multi-TM simulation, multiple TM instances are created on distinct ports. Each TM instance will control its own behavior:
```py
terminal 1: ./CarlaUE4.sh -carla-rpc-port=4000
terminal 1: ./CarlaUnreal.sh -carla-rpc-port=4000
terminal 2: python3 generate_traffic.py --port 4000 --tm-port 4050 # TM-Server A
terminal 3: python3 generate_traffic.py --port 4000 --tm-port 4550 # TM-Server B
```
@ -478,8 +478,8 @@ terminal 3: python3 generate_traffic.py --port 4000 --tm-port 4550 # TM-Server B
Multi-simulation is when more than one CARLA server is running at the same time. The TM needs to connect to the relevant CARLA server port. As long as the computational power allows for it, the TM can run multiple simulations at a time without any problems:
```py
terminal 1: ./CarlaUE4.sh -carla-rpc-port=4000 # simulation A
terminal 2: ./CarlaUE4.sh -carla-rpc-port=5000 # simulation B
terminal 1: ./CarlaUnreal.sh -carla-rpc-port=4000 # simulation A
terminal 2: ./CarlaUnreal.sh -carla-rpc-port=5000 # simulation B
terminal 3: python3 generate_traffic.py --port 4000 --tm-port 4050 # TM-Server A connected to simulation A
terminal 4: python3 generate_traffic.py --port 5000 --tm-port 5050 # TM-Server B connected to simulation B
```

View File

@ -51,13 +51,13 @@ __CARLA 0.9.12__
To run CARLA with a display:
```
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.12 /bin/bash ./CarlaUE4.sh
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.12 /bin/bash ./CarlaUnreal.sh
```
To run CARLA in off-screen mode:
```
sudo docker run --privileged --gpus all --net=host -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.12 /bin/bash ./CarlaUE4.sh -RenderOffScreen
sudo docker run --privileged --gpus all --net=host -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.12 /bin/bash ./CarlaUnreal.sh -RenderOffScreen
```
__CARLA 0.9.7 to 0.9.11__
@ -65,7 +65,7 @@ __CARLA 0.9.7 to 0.9.11__
To run CARLA using Vulkan:
```sh
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY -e SDL_VIDEODRIVER=x11 -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.11 /bin/bash ./CarlaUE4.sh -vulkan <-additonal-carla-flags>
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY -e SDL_VIDEODRIVER=x11 -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.11 /bin/bash ./CarlaUnreal.sh -vulkan <-additonal-carla-flags>
```
!!! Note
@ -74,7 +74,7 @@ sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY -e SDL_VI
To run CARLA using OpenGL:
```sh
docker run -e DISPLAY=$DISPLAY --net=host --gpus all --runtime=nvidia carlasim/carla:<version> /bin/bash CarlaUE4.sh -opengl <-additonal-carla-flags>
docker run -e DISPLAY=$DISPLAY --net=host --gpus all --runtime=nvidia carlasim/carla:<version> /bin/bash CarlaUnreal.sh -opengl <-additonal-carla-flags>
```
__3. (Optional) Configure Docker flags.__

View File

@ -20,7 +20,7 @@ CARLA forum</a>
## Linux build
* ["CarlaUE4.sh" script does not appear when downloading from GitHub.](#carlaue4sh-script-does-not-appear-when-downloading-from-github)
* ["CarlaUnreal.sh" script does not appear when downloading from GitHub.](#carlaue4sh-script-does-not-appear-when-downloading-from-github)
* ["make launch" is not working on Linux.](#make-launch-is-not-working-on-linux)
* [Cloning the Unreal Engine repository shows an error.](#cloning-the-unreal-engine-repository-shows-an-error)
* [AttributeError: module 'carla' has no attribute 'Client' when running a script.](#attributeerror-module-carla-has-no-attribute-client-when-running-a-script)
@ -30,8 +30,8 @@ CARLA forum</a>
## Windows build
* ["CarlaUE4.exe" does not appear when downloading from GitHub.](#carlaue4exe-does-not-appear-when-downloading-from-github)
* [CarlaUE4 could not be compiled. Try rebuilding it from source manually.](#carlaue4-could-not-be-compiled-try-rebuilding-it-from-source-manually)
* ["CarlaUnreal.exe" does not appear when downloading from GitHub.](#carlaue4exe-does-not-appear-when-downloading-from-github)
* [CarlaUnreal could not be compiled. Try rebuilding it from source manually.](#carlaue4-could-not-be-compiled-try-rebuilding-it-from-source-manually)
* [CMake error shows even though CMake is properly installed.](#cmake-error-shows-even-though-cmake-is-properly-installed)
* [Error C2440, C2672: compiler version.](#error-c2440-c2672-compiler-version)
* ["make launch" is not working on Windows.](#make-launch-is-not-working-on-windows)
@ -82,11 +82,11 @@ CARLA forum</a>
## Linux build
<!-- ======================================================================= -->
###### "CarlaUE4.sh" script does not appear when downloading from GitHub.
###### "CarlaUnreal.sh" script does not appear when downloading from GitHub.
> There is no `CarlaUE4.sh` script in the source version of CARLA. Follow the [build instructions](build_linux.md) to build CARLA from source.
> There is no `CarlaUnreal.sh` script in the source version of CARLA. Follow the [build instructions](build_linux.md) to build CARLA from source.
>
> To run CARLA using `CarlaUE4.sh`, follow the [quick start installation](start_quickstart.md).
> To run CARLA using `CarlaUnreal.sh`, follow the [quick start installation](start_quickstart.md).
<!-- ======================================================================= -->
@ -196,17 +196,17 @@ CARLA forum</a>
## Windows build
<!-- ======================================================================= -->
###### "CarlaUE4.exe" does not appear when downloading from GitHub.
###### "CarlaUnreal.exe" does not appear when downloading from GitHub.
> There is no `CarlaUE4.exe` executable in the source version of CARLA. Follow the [build instructions](build_windows.md) to build CARLA from source. To directly get the `CarlaUE4.exe`, follow the [quick start instructions](start_quickstart.md).
> There is no `CarlaUnreal.exe` executable in the source version of CARLA. Follow the [build instructions](build_windows.md) to build CARLA from source. To directly get the `CarlaUnreal.exe`, follow the [quick start instructions](start_quickstart.md).
<!-- ======================================================================= -->
###### CarlaUE4 could not be compiled. Try rebuilding it from source manually.
###### CarlaUnreal could not be compiled. Try rebuilding it from source manually.
> Something went wrong when trying to build CARLA. Rebuild using Visual Studio to discover what happened.
>
> __1.__ Go to `carla/Unreal/CarlaUE4` and right-click the `CarlaUE4.uproject`.
> __1.__ Go to `carla/Unreal/CarlaUnreal` and right-click the `CarlaUnreal.uproject`.
> __2.__ Click on __Generate Visual Studio project files__.
> __3.__ Open the file generated with Visual Studio 2019.
> __4.__ Compile the project with Visual Studio. The shortcut is F7. The build will fail, but the issues found will be shown below.
@ -386,7 +386,7 @@ CARLA forum</a>
> This happens from time to time due to Linux updates. There is a special target in the Makefile for this issue. It takes a long time but fixes the issue:
>
> make hard-clean
> make CarlaUE4Editor
> make CarlaUnrealEditor
<!-- ======================================================================= -->
@ -394,7 +394,7 @@ CARLA forum</a>
> In Linux, run `make package` in the project folder. The package will include the project, and the Python API modules.
>
> Alternatively, it is possible to compile a binary version of CARLA within Unreal Editor. Open the CarlaUE4 project, go to the menu `File/Package Project`, and select a platform. This may take a while.
> Alternatively, it is possible to compile a binary version of CARLA within Unreal Editor. Open the CarlaUnreal project, go to the menu `File/Package Project`, and select a platform. This may take a while.
<!-- ======================================================================= -->

View File

@ -191,11 +191,11 @@ The assets will be downloaded and extracted to the appropriate location.
To download the assets for a __specific version__ of CARLA:
1. From the root CARLA directory, navigate to `/Util/ContentVersions.txt`. This document contains the links to the assets for all CARLA releases.
2. Extract the assets in `Unreal\CarlaUE4\Content\Carla`. If the path doesn't exist, create it.
2. Extract the assets in `Unreal\CarlaUnreal\Content\Carla`. If the path doesn't exist, create it.
3. Extract the file with a command similar to the following:
```sh
tar -xvzf <assets_file_name>.tar.gz.tar -C /path/to/carla/Unreal/CarlaUE4/Content/Carla
tar -xvzf <assets_file_name>.tar.gz.tar -C /path/to/carla/Unreal/CarlaUnreal/Content/Carla
```
### Set Unreal Engine environment variable

View File

@ -2,7 +2,7 @@
* [__Setup__](#setup)
* [__LibCarla__](#libcarla)
* [__CarlaUE4 and Carla plugin__](#carlaue4-and-carla-plugin)
* [__CarlaUnreal and Carla plugin__](#carlaue4-and-carla-plugin)
* [__PythonAPI__](#pythonapi)
- [Versions 0.9.12+](#versions-0912)
- [Versions prior to 0.9.12](#versions-prior-to-0912)
@ -58,14 +58,14 @@ Two configurations:
---
## CarlaUE4 and Carla plugin
## CarlaUnreal and Carla plugin
Both compiled at the same step with Unreal Engine build tool. They require the `UE4_ROOT` environment variable set.
Command
```sh
make CarlaUE4Editor
make CarlaUnrealEditor
```
To launch Unreal Engine's Editor run

View File

@ -41,16 +41,16 @@ git pull origin master
git checkout master
make clean
git pull origin master
# Erase the content in `Unreal\CarlaUE4\Content\Carla`.
# Erase the content in `Unreal\CarlaUnreal\Content\Carla`.
# Go to `\Util\ContentVersions.txt`.
# Download the latest content.
# Extract the new content in `Unreal\CarlaUE4\Content\Carla`.
# Extract the new content in `Unreal\CarlaUnreal\Content\Carla`.
# Get development assets.
# Delete the `/Carla` folder containing previous assets.
# Go to the main carla folder.
git clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUE4/Content/Carla
git clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUnreal/Content/Carla
```
</details>
@ -122,10 +122,10 @@ __Linux.__
__Windows.__
__1.__ Erase the previous content in `Unreal\CarlaUE4\Content\Carla`.
__1.__ Erase the previous content in `Unreal\CarlaUnreal\Content\Carla`.
__2.__ Go to `\Util\ContentVersions.txt`.
__3.__ Download the content for `latest`.
__4.__ Extract the new content in `Unreal\CarlaUE4\Content\Carla`.
__4.__ Extract the new content in `Unreal\CarlaUnreal\Content\Carla`.
!!! Note
In order to work with that the CARLA team is devleoping, go to __get development assets__ below.
@ -148,7 +148,7 @@ In order to handle this repository it is advisted to install [git-lfs][gitlfslin
To clone the repository, __go to the main CARLA directory__ and run the following command.
```sh
git clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUE4/Content/Carla
git clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUnreal/Content/Carla
```
!!! Warning

View File

@ -153,16 +153,16 @@ Download the __latest__ assets to work with the current version of CARLA by runn
Update.bat
```
The assets will be downloaded and extracted to the appropriate location if have 7zip installed. If you do not have this software installed, you will need to manually extract the file contents to `Unreal\CarlaUE4\Content\Carla`.
The assets will be downloaded and extracted to the appropriate location if have 7zip installed. If you do not have this software installed, you will need to manually extract the file contents to `Unreal\CarlaUnreal\Content\Carla`.
To download the assets for a __specific version__ of CARLA:
1. From the root CARLA directory, navigate to `\Util\ContentVersions.txt`. This document contains the links to the assets for all CARLA releases.
2. Extract the assets in `Unreal\CarlaUE4\Content\Carla`. If the path doesn't exist, create it.
2. Extract the assets in `Unreal\CarlaUnreal\Content\Carla`. If the path doesn't exist, create it.
3. Extract the file with a command similar to the following:
```sh
tar -xvzf <assets_file_name>.tar.gz.tar -C C:\path\to\carla\Unreal\CarlaUE4\Content\Carla
tar -xvzf <assets_file_name>.tar.gz.tar -C C:\path\to\carla\Unreal\CarlaUnreal\Content\Carla
```
### Set Unreal Engine environment variable

View File

@ -31,7 +31,7 @@
* Compilation should not give any error or warning
(`clang++-8 -Wall -Wextra -std=C++14 -Wno-missing-braces`).
* The use of `throw` is forbidden, use `carla::throw_exception` instead.
* Unreal C++ code (CarlaUE4 and Carla plugin) follow the
* Unreal C++ code (CarlaUnreal and Carla plugin) follow the
[Unreal Engine's Coding Standard][ue4link] with the exception of using
spaces instead of tabs.
* LibCarla uses a variation of [Google's style guide][googlelink].

View File

@ -194,7 +194,7 @@ make import ARGS="--package=<package_name>"
make import ARGS="--no-carla-materials"
```
All files will be imported and prepared to be used in the Unreal Editor. The map package will be created in `Unreal/CarlaUE4/Content`. A base map tile, `<mapName>`, will be created as a streaming level for all the tiles. The base tile will contain the sky, weather, and Large Map actors and will be ready for use in a simulation.
All files will be imported and prepared to be used in the Unreal Editor. The map package will be created in `Unreal/CarlaUnreal/Content`. A base map tile, `<mapName>`, will be created as a streaming level for all the tiles. The base tile will contain the sky, weather, and Large Map actors and will be ready for use in a simulation.
!!! Note
It is currently not recommended to use the customization tools provided for standard maps in the Unreal Editor, e.g., road painter, procedural buildings, etc.

View File

@ -159,7 +159,7 @@ The recorder file includes information regarding many different elements.
### Recording
To start recording there is only need for a file name. Using `\`, `/` or `:` characters in the file name will define it as an absolute path. If no path is detailed, the file will be saved in `CarlaUE4/Saved`.
To start recording there is only need for a file name. Using `\`, `/` or `:` characters in the file name will define it as an absolute path. If no path is detailed, the file will be saved in `CarlaUnreal/Saved`.
```py
client.start_recorder("/home/carla/recording01.log")
@ -210,13 +210,13 @@ The recorder saves all of the data in a custom binary file format specified in [
CARLA offers a number of options regarding rendering quality and efficiency. At the most basic level, CARLA offers two quality options to enable operation on both high and low spec hardware with the best results:
### Epic mode
`./CarlaUE4.sh -quality-level=Epic`
`./CarlaUnreal.sh -quality-level=Epic`
![Epic mode screenshot](img/rendering_quality_epic.jpg)
*Epic mode screenshot*
### Low mode
`./CarlaUE4.sh -quality-level=Low`
`./CarlaUnreal.sh -quality-level=Low`
![Low mode screenshot](img/rendering_quality_low.jpg)
*Low mode screenshot*

View File

@ -119,7 +119,7 @@ make import ARGS="--package=<package_name>"
make import ARGS="--no-carla-materials"
```
All files will be imported and prepared to be used in the Unreal Editor. The map package will be created in `Unreal/CarlaUE4/Content`. A base map tile, `<mapName>`, will be created as a streaming level for all the tiles. The base tile will contain the sky, weather, and large map actors and will be ready for use in a simulation.
All files will be imported and prepared to be used in the Unreal Editor. The map package will be created in `Unreal/CarlaUnreal/Content`. A base map tile, `<mapName>`, will be created as a streaming level for all the tiles. The base tile will contain the sky, weather, and large map actors and will be ready for use in a simulation.
!!! Note
It is currently not recommended to use the customization tools provided for standard maps in the Unreal Editor, e.g., road painter, procedural buildings, etc.

View File

@ -63,7 +63,7 @@ CARLA up to 0.9.9 (included) is set to be single-stream. For later versions, mul
__1. Run CARLA.__
* __a) In a CARLA package__ — Go to the CARLA folder and start the simulation with `CarlaUE4.exe` (Windows) or `./CarlaUE4.sh` (Linux).
* __a) In a CARLA package__ — Go to the CARLA folder and start the simulation with `CarlaUnreal.exe` (Windows) or `./CarlaUnreal.sh` (Linux).
* __b) In a build from source__ — Go to the CARLA folder, run the UE editor with `make launch` and press `Play`.

View File

@ -533,10 +533,10 @@ The information saved by the recorder will be parsed and shown in your terminal
- <a name="carla.Client.start_recorder"></a>**<font color="#7fb800">start_recorder</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**filename**</font>, <font color="#00a6ed">**additional_data**=False</font>)
Enables the recording feature, which will start saving every information possible needed by the server to replay the simulation.
- **Parameters:**
- `filename` (_str_) - Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUE4/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path.
- `filename` (_str_) - Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUnreal/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path.
- `additional_data` (_bool_) - Enables or disable recording non-essential data for reproducing the simulation (bounding box location, physics control parameters, etc).
- <a name="carla.Client.stop_recorder"></a>**<font color="#7fb800">stop_recorder</font>**(<font color="#00a6ed">**self**</font>)
Stops the recording in progress. If you specified a path in `filename`, the recording will be there. If not, look inside `CarlaUE4/Saved/`.
Stops the recording in progress. If you specified a path in `filename`, the recording will be there. If not, look inside `CarlaUnreal/Saved/`.
- <a name="carla.Client.stop_replayer"></a>**<font color="#7fb800">stop_replayer</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**keep_actors**</font>)
Stop current replayer.
- **Parameters:**

View File

@ -2,8 +2,8 @@
We use Doxygen to generate the documentation of our C++ code:
[Libcarla/Source](http://carla.org/Doxygen/html/dir_b9166249188ce33115fd7d5eed1849f2.html)<br>
[Unreal/CarlaUE4/Source](http://carla.org/Doxygen/html/dir_733e9da672a36443d0957f83d26e7dbf.html)<br>
[Unreal/CarlaUE4/Carla/Plugins](http://carla.org/Doxygen/html/dir_8fc34afb5f07a67966c78bf5319f94ae.html)
[Unreal/CarlaUnreal/Source](http://carla.org/Doxygen/html/dir_733e9da672a36443d0957f83d26e7dbf.html)<br>
[Unreal/CarlaUnreal/Carla/Plugins](http://carla.org/Doxygen/html/dir_8fc34afb5f07a67966c78bf5319f94ae.html)
The generated documentation is available at this link **<http://carla.org/Doxygen/html/index.html>**

View File

@ -699,7 +699,7 @@ __2.__ Run the simulation using `python3 config.py --fps=10`.
* __Output:__ [carla.Image](python_api.md#carla.Image) per step (unless `sensor_tick` says otherwise).
This camera classifies every object in sight by displaying it in a different color according to its tags (e.g., pedestrians in a different color than vehicles).
When the simulation starts, every element in scene is created with a tag. So it happens when an actor is spawned. The objects are classified by their relative file path in the project. For example, meshes stored in `Unreal/CarlaUE4/Content/Static/Pedestrians` are tagged as `Pedestrian`.
When the simulation starts, every element in scene is created with a tag. So it happens when an actor is spawned. The objects are classified by their relative file path in the project. For example, meshes stored in `Unreal/CarlaUnreal/Content/Static/Pedestrians` are tagged as `Pedestrian`.
![ImageSemanticSegmentation](img/ref_sensors_semantic.jpg)
@ -750,7 +750,7 @@ The following tags are currently available:
* __Output:__ [carla.Image](python_api.md#carla.Image) per step (unless `sensor_tick` says otherwise).
This camera classifies every object in the field of view both by class and also by instance ID.
When the simulation starts, every element in scene is created with a tag. So it happens when an actor is spawned. The objects are classified by their relative file path in the project. For example, meshes stored in `Unreal/CarlaUE4/Content/Static/Pedestrians` are tagged as `Pedestrian`.
When the simulation starts, every element in scene is created with a tag. So it happens when an actor is spawned. The objects are classified by their relative file path in the project. For example, meshes stored in `Unreal/CarlaUnreal/Content/Static/Pedestrians` are tagged as `Pedestrian`.
![ImageInstanceSegmentation](img/instance_segmentation.png)

View File

@ -11,7 +11,7 @@ How to run CARLA
Launch a terminal in this folder and execute the simulator by running
```sh
./CarlaUE4.sh
./CarlaUnreal.sh
```
this will launch a window with a view over the city. This is the "spectator"

View File

@ -192,7 +192,7 @@ The method to start a CARLA server depends on the installation method you used a
```sh
cd /opt/carla-simulator/bin/
./CarlaUE4.sh
./CarlaUnreal.sh
```
- Linux package installation:
@ -200,7 +200,7 @@ The method to start a CARLA server depends on the installation method you used a
```sh
cd path/to/carla/root
./CarlaUE4.sh
./CarlaUnreal.sh
```
- Windows package installation:
@ -208,7 +208,7 @@ The method to start a CARLA server depends on the installation method you used a
```sh
cd path/to/carla/root
CarlaUE4.exe
CarlaUnreal.exe
```
A window containing a view over the city will pop up. This is the _spectator view_. To fly around the city use the mouse and `WASD` keys, holding down the right mouse button to control the direction.
@ -234,7 +234,7 @@ This is the server simulator which is now running and waiting for a client to co
There are some configuration options available when launching CARLA and they can be used as follows:
```sh
./CarlaUE4.sh -carla-rpc-port=3000
./CarlaUnreal.sh -carla-rpc-port=3000
```
* `-carla-rpc-port=N` Listen for client connections at port `N`. Streaming port is set to `N+1` by default.

View File

@ -34,7 +34,7 @@ __Open the Unreal Engine Editor__ and go to `Carla/Static`. Create a new folder
### 3. Create two-way correspondence between UE and the code tag
__3.1. Open `Tagger.cpp`__ in `Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Game`. Go to __`GetLabelByFolderName`__ Add the your tag by the end of the list. The string being compared is the name of the UE folder used in [__2.__](#2-create-the-ue-folder-for-assets), so use the exact same name here.
__3.1. Open `Tagger.cpp`__ in `Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game`. Go to __`GetLabelByFolderName`__ Add the your tag by the end of the list. The string being compared is the name of the UE folder used in [__2.__](#2-create-the-ue-folder-for-assets), so use the exact same name here.
![tagger_cpp](img/tuto_D_create_semantic_tags/03_tagger_cpp.jpg)

View File

@ -104,8 +104,8 @@ Let's start.
This class has to be located inside Carla plugin, we'll create two files for our
new C++ class
* `Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/SafeDistanceSensor.h`
* `Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/SafeDistanceSensor.cpp`
* `Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Sensor/SafeDistanceSensor.h`
* `Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Sensor/SafeDistanceSensor.cpp`
At the very minimum, the sensor is required to inherit `ASensor`, and provide a
static method `GetSensorDefinition`; but we'll be overriding also the `Set`,

View File

@ -476,7 +476,7 @@ depth_cam.listen(lambda image: image.save_to_disk('tutorial/new_depth_output/%.6
### Semantic segmentation camera
The [semantic segmentation camera](ref_sensors.md#semantic-segmentation-camera) renders elements in scene with a different color depending on how these have been tagged. The tags are created by the simulator depending on the path of the asset used for spawning. For example, meshes tagged as `Pedestrians` are spawned with content stored in `Unreal/CarlaUE4/Content/Static/Pedestrians`.
The [semantic segmentation camera](ref_sensors.md#semantic-segmentation-camera) renders elements in scene with a different color depending on how these have been tagged. The tags are created by the simulator depending on the path of the asset used for spawning. For example, meshes tagged as `Pedestrians` are spawned with content stored in `Unreal/CarlaUnreal/Content/Static/Pedestrians`.
The output is an image, as any camera, but each pixel contains the tag encoded in the red channel. This original image must be converted using __ColorConverter.CityScapesPalette__. New tags can be created, read more in the [documentation](ref_sensors.md#semantic-segmentation-camera).
@ -682,7 +682,7 @@ python3 no_rendering_mode.py --no-rendering
### Start recording
The [__recorder__](adv_recorder.md) can be started at anytime. The script does it at the very beginning, in order to capture everything, including the spawning of the first actors. If no path is detailed, the log will be saved into `CarlaUE4/Saved`.
The [__recorder__](adv_recorder.md) can be started at anytime. The script does it at the very beginning, in order to capture everything, including the spawning of the first actors. If no path is detailed, the log will be saved into `CarlaUnreal/Saved`.
```py
# --------------
@ -737,7 +737,7 @@ So far, a simulation has been recorded. Now, it is time to examine the recording
It is time to run a new simulation.
```sh
./CarlaUE4.sh
./CarlaUnreal.sh
```
To reenact the simulation, [choose a fragment](#choose-a-fragment) and run the script containing the code for the playback.

View File

@ -15,12 +15,12 @@ The RoadRunner software from MathWorks provides plugins for Unreal Engine to hel
__1.__ The plugins are available for download from the [MathWorks website](https://www.mathworks.com/help/roadrunner/ug/Downloading-Plugins.html). MathWorks also has a [full tutorial](https://www.mathworks.com/help/roadrunner/ug/Exporting-to-CARLA.html), similar to this one, on how to import maps to CARLA using the plugins.
__2.__ Extract the contents of the downloaded folder and move the folders `RoadRunnerImporter`, `RoadRunnerCarlaIntegration` and `RoadRunnerMaterials` to `<carla>/Unreal/CarlaUE4/Plugins/`.
__2.__ Extract the contents of the downloaded folder and move the folders `RoadRunnerImporter`, `RoadRunnerCarlaIntegration` and `RoadRunnerMaterials` to `<carla>/Unreal/CarlaUnreal/Plugins/`.
__3.__ Rebuild the plugin following the instructions below:
* __On Windows.__
* Right-click the `.uproject` file in `<carla>/Unreal/CarlaUE4` and select `Generate Visual Studio project files`.
* Right-click the `.uproject` file in `<carla>/Unreal/CarlaUnreal` and select `Generate Visual Studio project files`.
* In the root folder of CARLA, run the command:
```sh
@ -30,7 +30,7 @@ make launch
* __On Linux.__
* Run the following command:
```sh
UE4_ROOT/GenerateProjectFiles.sh -project="carla/Unreal/CarlaUE4/CarlaUE4.uproject" -game -engine
UE4_ROOT/GenerateProjectFiles.sh -project="carla/Unreal/CarlaUnreal/CarlaUnreal.uproject" -game -engine
```
__4.__ In the Unreal Engine window, make sure the checkbox is selected for both plugins `Edit > Plugins`.
@ -67,7 +67,7 @@ This method of importing maps can be used with generic `.fbx` and `.xodr` files.
To import a map manually to Unreal Engine:
__1.__ In your system's file explorer, copy the `.xodr` file to `<carla-root>/Unreal/CarlaUE4/Content/Carla/Maps/OpenDrive`.
__1.__ In your system's file explorer, copy the `.xodr` file to `<carla-root>/Unreal/CarlaUnreal/Content/Carla/Maps/OpenDrive`.
__2.__ Open the Unreal Engine editor by running `make launch` in the carla root directory. In the _Content Browser_ of the editor, navigate to `Content/Carla/Maps/BaseMap` and duplicate the `BaseMap`. This will provide a blank map with the default sky and lighting objects.
@ -145,7 +145,7 @@ __14.__ In the _Modes_ panel, search for the __Open Drive Actor__ and drag it in
>>![ue_opendrive_actor](../img/ue_opendrive_actor.jpg)
__15.__ In the _Details_ panel, check `Add Spawners` and then click on the box beside `Generate Routes`. This will find the `.xodr` file with the same map name in the `<carla-root>/Unreal/CarlaUE4/Content/Carla/Maps/OpenDrive` directory and use it to generate a series of _RoutePlanner_ and _VehicleSpawnPoint_ actors.
__15.__ In the _Details_ panel, check `Add Spawners` and then click on the box beside `Generate Routes`. This will find the `.xodr` file with the same map name in the `<carla-root>/Unreal/CarlaUnreal/Content/Carla/Maps/OpenDrive` directory and use it to generate a series of _RoutePlanner_ and _VehicleSpawnPoint_ actors.
>>![ue_generate_routes](../img/ue_generate_routes.png)

View File

@ -47,7 +47,7 @@ make import ARGS="--package=<package_name>"
make import ARGS="--no-carla-materials"
```
A folder will be created in `Unreal/CarlaUE4/Content` with the name of your map package. It will contain config files, overdrive information, static asset information and navigation information.
A folder will be created in `Unreal/CarlaUnreal/Content` with the name of your map package. It will contain config files, overdrive information, static asset information and navigation information.
---

View File

@ -59,7 +59,7 @@ __2.__ Double check your mesh names. Mesh names should start with any of the app
![ue_meshes](../img/ue_meshes.jpg)
__3.__ Press `ctrl + A` to select everything and export the map by selecting `File` -> `Carla Exporter`. A `<mapName>.obj` file will be created in `Unreal/CarlaUE4/Saved`.
__3.__ Press `ctrl + A` to select everything and export the map by selecting `File` -> `Carla Exporter`. A `<mapName>.obj` file will be created in `Unreal/CarlaUnreal/Saved`.
__4.__ Move the `<mapName>.obj` and the `<mapName>.xodr` to `Util/DockerUtils/dist`.

View File

@ -23,7 +23,7 @@ CARLA can be launched using the command line using the executable in Windows or
```sh
cd /carla/root
./CarlaUE4.sh
./CarlaUnreal.sh
```
To manipulate CARLA through the Python API, we need to connect the Python client to the server through an open port. The client controls the simulator through the [__client and world objects__](foundations.md#world-and-client) Open a Python notebook or create a new script, then add the following code to the start of the script or the main function:

View File

@ -11,7 +11,7 @@ CASE_SENSE_NAMES = YES
SORT_BRIEF_DOCS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_LOGFILE = Doxygen/warnings.log
INPUT = Unreal/CarlaUE4/Source Unreal/CarlaUE4/Plugins/Carla/Source LibCarla/source
INPUT = Unreal/CarlaUnreal/Source Unreal/CarlaUnreal/Plugins/Carla/Source LibCarla/source
FILE_PATTERNS = *.cpp *.h *.hpp *.cc
EXCLUDE = LibCarla/source/carla/Version.h
RECURSIVE = YES
@ -27,7 +27,7 @@ FORMULA_FONTSIZE = 12
GENERATE_LATEX = NO
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
INCLUDE_PATH = Unreal/CarlaUE4/Source Unreal/CarlaUE4/Plugins/Carla/Source LibCarla/source
INCLUDE_PATH = Unreal/CarlaUnreal/Source Unreal/CarlaUnreal/Plugins/Carla/Source LibCarla/source
INCLUDE_FILE_PATTERNS = *.h *.hpp
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES

12
Jenkinsfile vendored
View File

@ -43,7 +43,7 @@ pipeline
{
steps
{
sh 'git update-index --skip-worktree Unreal/CarlaUE4/CarlaUE4.uproject'
sh 'git update-index --skip-worktree Unreal/CarlaUnreal/CarlaUnreal.uproject'
sh 'make setup ARGS="--python-version=3.7,2 --target-wheel-platform=manylinux_2_27_x86_64 --chrono"'
}
}
@ -53,7 +53,7 @@ pipeline
{
sh 'make LibCarla'
sh 'make PythonAPI ARGS="--python-version=3.7,2 --target-wheel-platform=manylinux_2_27_x86_64"'
sh 'make CarlaUE4Editor ARGS="--chrono"'
sh 'make CarlaUnrealEditor ARGS="--chrono"'
sh 'make plugins'
sh 'make examples'
}
@ -134,7 +134,7 @@ pipeline
unstash name: 'ubuntu_examples'
sh 'tar -xvzf Dist/CARLA*.tar.gz -C Dist/'
// sh 'tar -xvzf Dist/AdditionalMaps*.tar.gz -C Dist/'
sh 'DISPLAY= ./Dist/CarlaUE4.sh -nullrhi -RenderOffScreen --carla-rpc-port=3654 --carla-streaming-port=0 -nosound > CarlaUE4.log &'
sh 'DISPLAY= ./Dist/CarlaUnreal.sh -nullrhi -RenderOffScreen --carla-rpc-port=3654 --carla-streaming-port=0 -nosound > CarlaUnreal.log &'
sh 'make smoke_tests ARGS="--xml --python-version=3.7 --target-wheel-platform=manylinux_2_27_x86_64"'
sh 'make run-examples ARGS="localhost 3654"'
}
@ -142,7 +142,7 @@ pipeline
{
always
{
archiveArtifacts 'CarlaUE4.log'
archiveArtifacts 'CarlaUnreal.log'
junit 'Build/test-results/smoke-tests-*.xml'
deleteDir()
node('master')
@ -240,7 +240,7 @@ pipeline
{
bat """
call ../setEnv64.bat
git update-index --skip-worktree Unreal/CarlaUE4/CarlaUE4.uproject
git update-index --skip-worktree Unreal/CarlaUnreal/CarlaUnreal.uproject
"""
bat """
call ../setEnv64.bat
@ -262,7 +262,7 @@ pipeline
"""
bat """
call ../setEnv64.bat
make CarlaUE4Editor ARGS="--chrono"
make CarlaUnrealEditor ARGS="--chrono"
"""
bat """
call ../setEnv64.bat

View File

@ -47,7 +47,6 @@ if (BUILD_CARLA_SERVER)
${LIBCARLA_SOURCE_PATH}/carla/streaming/detail/tcp/*.cpp
${LIBCARLA_SOURCE_PATH}/carla/multigpu/*.cpp
)
if (ENABLE_ROS2)
file (
GLOB
@ -147,25 +146,6 @@ if (BUILD_CARLA_SERVER)
${CARLA_RTTI_DEFINITIONS}
)
install (
TARGETS
carla-server
DESTINATION lib
)
foreach (HEADER ${LIBCARLA_SERVER_HEADERS})
cmake_path (GET HEADER PARENT_PATH HEADER_PARENT)
cmake_path (
RELATIVE_PATH HEADER_PARENT
BASE_DIRECTORY ${LIBCARLA_SOURCE_PATH}/carla
OUTPUT_VARIABLE HEADER_RELATIVE
)
install (
FILES ${HEADER}
DESTINATION include/carla/${HEADER_RELATIVE}
)
endforeach ()
endif ()
@ -340,19 +320,4 @@ if (BUILD_CARLA_CLIENT)
${CARLA_RTTI_DEFINITIONS}
)
install (TARGETS carla-client DESTINATION lib)
foreach (HEADER ${LIBCARLA_CLIENT_HEADERS})
cmake_path (GET HEADER PARENT_PATH HEADER_PARENT)
cmake_path (
RELATIVE_PATH HEADER_PARENT
BASE_DIRECTORY ${LIBCARLA_SOURCE_PATH}/carla
OUTPUT_VARIABLE HEADER_RELATIVE
)
install (
FILES ${HEADER}
DESTINATION include/carla/${HEADER_RELATIVE}
)
endforeach ()
endif ()

View File

@ -116,7 +116,7 @@ namespace detail {
std::string opendrive,
const rpc::OpendriveGenerationParameters & params, bool reset_settings) {
// The "OpenDriveMap" is an ".umap" located in:
// "carla/Unreal/CarlaUE4/Content/Carla/Maps/"
// "carla/Unreal/CarlaUnreal/Content/Carla/Maps/"
// It will load the last sended OpenDRIVE by client's "LoadOpenDriveEpisode()"
constexpr auto custom_opendrive_map = "OpenDriveMap";
_client.CopyOpenDriveToServer(std::move(opendrive), params);

View File

@ -59,7 +59,7 @@ namespace geom {
return std::sqrt(SquaredLength2D());
}
constexpr Vector3D Abs() const {
inline Vector3D Abs() const {
return Vector3D(abs(x), abs(y), abs(z));
}

View File

@ -1,6 +1,9 @@
include Util/BuildTools/Vars.mk
ifeq ($(OS),Windows_NT)
include Util/BuildTools/Windows.mk
else
include Util/BuildTools/Linux.mk
endif
launch PythonAPI LibCarla CarlaUnrealEditor CarlaUnrealEditor launch-only:
@echo "MakeFile build is currently disabled."
# include Util/BuildTools/Vars.mk
# ifeq ($(OS),Windows_NT)
# include Util/BuildTools/Windows.mk
# else
# include Util/BuildTools/Linux.mk
# endif

View File

@ -4,15 +4,6 @@ project (
VERSION ${CARLA_VERSION}
)
find_package (
Python
COMPONENTS
Interpreter
Development.Module
Development.Embed
REQUIRED
)
set (PYTHON_API_PATH ${CARLA_WORKSPACE_PATH}/PythonAPI)
set (PYTHON_API_CARLA_PATH ${PYTHON_API_PATH}/carla)
@ -49,7 +40,17 @@ if (ENABLE_RSS)
list (APPEND PYTHON_API_SOURCES ${PYTHON_API_CARLA_PATH}/src/AdRss.cpp)
endif ()
Python_add_library (
find_package (
Python3
COMPONENTS
Interpreter
Development.Module
Development.Embed
Development.SABIModule
REQUIRED
)
Python3_add_library (
carla-python-api MODULE WITH_SOABI
${PYTHON_API_SOURCES}
)
@ -81,7 +82,6 @@ target_compile_definitions (
${CARLA_COMMON_DEFINITIONS}
${CARLA_RTTI_DEFINITIONS}
BOOST_ALL_NO_LIB
BOOST_PYTHON_STATIC_LINK
LIBCARLA_WITH_PYTHON_SUPPORT
)
@ -97,12 +97,23 @@ else ()
set (PYD_EXT .so)
endif ()
set (
CARLA_PYTHON_API_SYMLINK_PATH
${PYTHON_API_PATH}/examples/carla${PYD_EXT}
)
add_custom_command (
OUTPUT ${CARLA_PYTHON_API_SYMLINK_PATH}
COMMENT
"Creating CARLA PythonAPI .PYD/.SO symlink..."
COMMAND
${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE:carla-python-api> ${PYTHON_API_PATH}/examples/carla${PYD_EXT}
)
# If this command fails, enable developer mode if on Windows.
add_custom_target (
carla-python-api-symlink
ALL
COMMAND
${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE:carla-python-api> ${PYTHON_API_PATH}/examples/carla${PYD_EXT}
DEPENDS ${CARLA_PYTHON_API_SYMLINK_PATH}
)
add_dependencies (

View File

@ -223,7 +223,7 @@
- param_name: filename
type: str
doc: >
Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUE4/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path.
Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUnreal/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path.
- param_name: additional_data
type: bool
default: False
@ -235,7 +235,7 @@
- def_name: stop_recorder
params:
doc: >
Stops the recording in progress. If you specified a path in `filename`, the recording will be there. If not, look inside `CarlaUE4/Saved/`.
Stops the recording in progress. If you specified a path in `filename`, the recording will be there. If not, look inside `CarlaUnreal/Saved/`.
# --------------------------------------
- def_name: get_available_maps
params:

View File

@ -1 +1,2 @@
cache
carla.so
carla.pyd

View File

@ -2,6 +2,21 @@ project (
carla-ue
)
set (
CARLA_UE_PATH
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUnreal
)
set (
CARLA_UE_PLUGINS_PATH
${CARLA_UE_PATH}/Plugins
)
set (
CARLA_UE_PROJECT_PATH
${CARLA_UE_PATH}/CarlaUnreal.uproject
)
if (WIN32)
set (
CARLA_UE_GENERATE_PROJECT_SCRIPT
@ -14,43 +29,116 @@ else ()
)
endif ()
set (
CARLA_UE_PATH
${CARLA_WORKSPACE_PATH}/Unreal/CarlaUE4
)
set (
CARLA_UE_PROJECT_PATH
${CARLA_UE_PATH}/CarlaUE4.uproject
)
add_custom_target (
carla-ue-generate-project-files
ALL
DEPENDS
carla-server
add_custom_command (
OUTPUT ${CARLA_UE_PATH}/CMakeLists.txt
COMMENT
"Generating Carla UE project files..."
"Generating UE project files for CARLA..."
COMMAND
${CARLA_UE_GENERATE_PROJECT_SCRIPT}
-project=${CARLA_UE_PROJECT_PATH}
-game
-engine
-makefiles
-CMakefile
)
add_custom_target (
carla-ue-build
carla-ue-generate-project-files
DEPENDS ${CARLA_UE_PATH}/CMakeLists.txt
)
if (CMAKE_TOOLCHAIN_FILE)
cmake_path (
ABSOLUTE_PATH CMAKE_TOOLCHAIN_FILE
BASE_DIRECTORY ${CARLA_WORKSPACE_PATH}
NORMALIZE
OUTPUT_VARIABLE TOOLCHAIN_FILE
)
set (TOOLCHAIN_FILE_OPTION --toolchain=${TOOLCHAIN_FILE})
else ()
set (TOOLCHAIN_FILE_OPTION)
endif ()
add_custom_command (
OUTPUT carla-ue-configure.stamp
COMMENT
"Configuring Carla Unreal..."
COMMAND
${CMAKE_COMMAND} -E touch carla-ue-configure.stamp
COMMAND
${CMAKE_COMMAND}
-S ${CARLA_UE_PATH}
-G ${CMAKE_GENERATOR}
-B ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target (
carla-ue-configure
DEPENDS
carla-ue-configure.stamp
carla-ue-generate-project-files
)
add_custom_command (
OUTPUT carla-ue.stamp
COMMENT
"Building Carla Unreal..."
COMMAND
${CMAKE_COMMAND} -E touch carla-ue.stamp
COMMAND
${CMAKE_COMMAND}
--build ${CMAKE_CURRENT_BINARY_DIR}
--target CarlaUnrealEditor
--verbose
)
add_custom_target (
carla-ue
ALL
DEPENDS
carla-ue-generate-project-files
COMMENT
"Building Carla UE..."
COMMAND
make -C ${CARLA_UE_PROJECT_PATH} CarlaUE4Editor
carla-ue-configure
carla-ue.stamp
)
add_custom_target (
launch-only
COMMAND
${CARLA_UNREAL_ENGINE_PATH}/Engine/Binaries/Linux/UnrealEditor
${CARLA_UE_PROJECT_PATH}
-${CARLA_UNREAL_RHI}
)
add_custom_target (
launch
DEPENDS
carla-ue
launch-only
)
file (
MAKE_DIRECTORY
${CARLA_UE_PATH}/Content/Carla/ExportedMaps
)
carla_two_step_configure_file (
${CARLA_UE_PLUGINS_PATH}/Carla/Source/Carla/Carla.Build.cs
${CARLA_UE_PLUGINS_PATH}/Carla/Source/Carla/Carla.Build.cs.in
)
carla_two_step_configure_file (
${CARLA_UE_PLUGINS_PATH}/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs
${CARLA_UE_PLUGINS_PATH}/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs.in
)

View File

@ -1,72 +0,0 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
FOVScale=0.011110
DoubleClickTime=0.200000
bCaptureMouseOnLaunch=False
DefaultViewportMouseCaptureMode=CaptureDuringMouseDown
bDefaultViewportMouseLock=False
DefaultViewportMouseLockMode=DoNotLock
+ActionMappings=(ActionName="RestartLevel",Key=R,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="Handbrake",Key=SpaceBar,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ToggleManualMode",Key=M,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ToggleHUD",Key=G,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="Jump",Key=Enter,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ToggleReverse",Key=Q,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="UseTheForce",Key=F,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ToggleCamera",Key=Tab,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ChangeWeather",Key=C,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName="ToggleAutopilot",Key=P,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+AxisMappings=(AxisName="CameraZoom",Key=MouseWheelAxis,Scale=-20.000000)
+AxisMappings=(AxisName="CameraZoom",Key=PageUp,Scale=-10.000000)
+AxisMappings=(AxisName="CameraZoom",Key=PageDown,Scale=10.000000)
+AxisMappings=(AxisName="CameraUp",Key=Up,Scale=1.000000)
+AxisMappings=(AxisName="CameraUp",Key=Down,Scale=-1.000000)
+AxisMappings=(AxisName="CameraRight",Key=Right,Scale=1.000000)
+AxisMappings=(AxisName="CameraRight",Key=Left,Scale=-1.000000)
+AxisMappings=(AxisName="MoveForward",Key=W,Scale=1.000000)
+AxisMappings=(AxisName="MoveRight",Key=D,Scale=1.000000)
+AxisMappings=(AxisName="MoveRight",Key=A,Scale=-1.000000)
+AxisMappings=(AxisName="Brake",Key=B,Scale=1.000000)
+AxisMappings=(AxisName="MoveForward",Key=S,Scale=-1.000000)
+AxisMappings=(AxisName="MoveUp",Key=E,Scale=1.000000)
+AxisMappings=(AxisName="MoveUp",Key=Q,Scale=-1.000000)
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
ConsoleKey=None
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde

View File

@ -1,5 +0,0 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CarlaUE4.h"
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, CarlaUE4, "CarlaUE4" );

View File

@ -21,5 +21,6 @@ Config/CarSimConfig.ini
*.code-workspace
.idea
.vscode
.ignore
CMakeLists.txt
Makefile

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -5,7 +5,7 @@
"Description": "",
"Modules": [
{
"Name": "CarlaUE4",
"Name": "CarlaUnreal",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [

View File

@ -0,0 +1,122 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=False
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bEnableInputDeviceSubsystem=True
bShouldFlushPressedKeysOnViewportFocusLost=True
bEnableDynamicComponentInputBinding=True
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CaptureDuringMouseDown
DefaultViewportMouseLockMode=DoNotLock
FOVScale=0.011110
DoubleClickTime=0.200000
+ActionMappings=(ActionName="RestartLevel",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
+ActionMappings=(ActionName="Handbrake",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
+ActionMappings=(ActionName="ToggleManualMode",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=M)
+ActionMappings=(ActionName="ToggleHUD",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=G)
+ActionMappings=(ActionName="Jump",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Enter)
+ActionMappings=(ActionName="ToggleReverse",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Q)
+ActionMappings=(ActionName="UseTheForce",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F)
+ActionMappings=(ActionName="ToggleCamera",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab)
+ActionMappings=(ActionName="ChangeWeather",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)
+ActionMappings=(ActionName="ToggleAutopilot",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P)
+AxisMappings=(AxisName="CameraZoom",Scale=-20.000000,Key=MouseWheelAxis)
+AxisMappings=(AxisName="CameraZoom",Scale=-10.000000,Key=PageUp)
+AxisMappings=(AxisName="CameraZoom",Scale=10.000000,Key=PageDown)
+AxisMappings=(AxisName="CameraUp",Scale=1.000000,Key=Up)
+AxisMappings=(AxisName="CameraUp",Scale=-1.000000,Key=Down)
+AxisMappings=(AxisName="CameraRight",Scale=1.000000,Key=Right)
+AxisMappings=(AxisName="CameraRight",Scale=-1.000000,Key=Left)
+AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=W)
+AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D)
+AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=A)
+AxisMappings=(AxisName="Brake",Scale=1.000000,Key=B)
+AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=S)
+AxisMappings=(AxisName="MoveUp",Scale=1.000000,Key=E)
+AxisMappings=(AxisName="MoveUp",Scale=-1.000000,Key=Q)
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde

1
Unreal/CarlaUnreal/Plugins/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
StreetMap/

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More