Merge branch 'dev'
This commit is contained in:
commit
f22656131e
|
@ -1,3 +1,9 @@
|
||||||
|
## CARLA 0.4.4
|
||||||
|
|
||||||
|
* Fixed regression walkers despawning when stopping after seeing a car
|
||||||
|
* Changed, collision is only registered if player moves faster than 1 km/h
|
||||||
|
* Fixed issue walkers resume movement after sensing nothing, but the car is still there sometimes
|
||||||
|
|
||||||
## CARLA 0.4.3
|
## CARLA 0.4.3
|
||||||
|
|
||||||
* Fixed issue with reward, intersect other lane wasn't sent to the client
|
* Fixed issue with reward, intersect other lane wasn't sent to the client
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"FileVersion": 3,
|
"FileVersion": 3,
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"VersionName": "0.4.3",
|
"VersionName": "0.4.4",
|
||||||
"FriendlyName": "CARLA",
|
"FriendlyName": "CARLA",
|
||||||
"Description": "",
|
"Description": "",
|
||||||
"Category": "Science",
|
"Category": "Science",
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
CARLA UE4
|
CARLA UE4
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
To run the game with the second city
|
||||||
|
|
||||||
|
$ CarlaUE4.sh /Game/Maps/CARLA_ORIGIN_1
|
||||||
|
|
||||||
To run the game at fixed time-step, e.g. 30 FPS
|
To run the game at fixed time-step, e.g. 30 FPS
|
||||||
|
|
||||||
$ CarlaUE4.sh -benchmark -fps=30
|
$ CarlaUE4.sh -benchmark -fps=30
|
||||||
|
|
|
@ -204,10 +204,10 @@ void AWalkerAIController::OnMoveCompleted(
|
||||||
void AWalkerAIController::SenseActors(const TArray<AActor *> Actors)
|
void AWalkerAIController::SenseActors(const TArray<AActor *> Actors)
|
||||||
{
|
{
|
||||||
const auto *aPawn = GetPawn();
|
const auto *aPawn = GetPawn();
|
||||||
if ((aPawn != nullptr) && IntersectsWithVehicle(*aPawn, Actors)) {
|
if ((Status == EWalkerStatus::Moving) &&
|
||||||
|
(aPawn != nullptr) &&
|
||||||
|
IntersectsWithVehicle(*aPawn, Actors)) {
|
||||||
TryPauseMovement();
|
TryPauseMovement();
|
||||||
} else if (Status == EWalkerStatus::Paused) {
|
|
||||||
TryResumeMovement();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,9 @@ void AWalkerSpawnerBase::Tick(float DeltaTime)
|
||||||
const int32 Index = (++CurrentIndexToCheck % WalkersBlackList.Num());
|
const int32 Index = (++CurrentIndexToCheck % WalkersBlackList.Num());
|
||||||
auto Walker = WalkersBlackList[Index];
|
auto Walker = WalkersBlackList[Index];
|
||||||
const auto Status = GetWalkerStatus(Walker);
|
const auto Status = GetWalkerStatus(Walker);
|
||||||
if (Status != EWalkerStatus::Moving) {
|
if ((Status == EWalkerStatus::MoveCompleted) ||
|
||||||
|
(Status == EWalkerStatus::Invalid) ||
|
||||||
|
(Status == EWalkerStatus::RunOver)) {
|
||||||
WalkersBlackList.RemoveAtSwap(Index);
|
WalkersBlackList.RemoveAtSwap(Index);
|
||||||
if ((Walker != nullptr) && (Status != EWalkerStatus::RunOver)) {
|
if ((Walker != nullptr) && (Status != EWalkerStatus::RunOver)) {
|
||||||
Walker->Destroy();
|
Walker->Destroy();
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#include "ModuleManager.h"
|
#include "ModuleManager.h"
|
||||||
|
|
||||||
#include "NonCopyable.h"
|
#include "Util/NonCopyable.h"
|
||||||
|
|
||||||
DECLARE_LOG_CATEGORY_EXTERN(LogCarla, Log, All);
|
DECLARE_LOG_CATEGORY_EXTERN(LogCarla, Log, All);
|
||||||
DECLARE_LOG_CATEGORY_EXTERN(LogCarlaServer, Log, All);
|
DECLARE_LOG_CATEGORY_EXTERN(LogCarlaServer, Log, All);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include "Carla.h"
|
#include "Carla.h"
|
||||||
#include "DynamicWeather.h"
|
#include "DynamicWeather.h"
|
||||||
|
|
||||||
#include "IniFile.h"
|
#include "Util/IniFile.h"
|
||||||
|
|
||||||
#include "Components/ArrowComponent.h"
|
#include "Components/ArrowComponent.h"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
#include "CommandLine.h"
|
#include "CommandLine.h"
|
||||||
#include "DynamicWeather.h"
|
#include "DynamicWeather.h"
|
||||||
#include "IniFile.h"
|
#include "Util/IniFile.h"
|
||||||
|
|
||||||
// INI file sections.
|
// INI file sections.
|
||||||
#define S_CARLA_SERVER TEXT("CARLA/Server")
|
#define S_CARLA_SERVER TEXT("CARLA/Server")
|
||||||
|
|
|
@ -245,8 +245,11 @@ void ACarlaVehicleController::OnCollisionEvent(
|
||||||
FVector NormalImpulse,
|
FVector NormalImpulse,
|
||||||
const FHitResult& Hit)
|
const FHitResult& Hit)
|
||||||
{
|
{
|
||||||
|
// Register collision only if we are moving faster than 1 km/h.
|
||||||
|
if (FMath::Abs(GetVehicleForwardSpeed()) > 1.0f) {
|
||||||
CarlaPlayerState->RegisterCollision(Actor, OtherActor, NormalImpulse, Hit);
|
CarlaPlayerState->RegisterCollision(Actor, OtherActor, NormalImpulse, Hit);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
// -- Input bindings -----------------------------------------------------------
|
// -- Input bindings -----------------------------------------------------------
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "GraphTypes.h"
|
#include "GraphTypes.h"
|
||||||
#include "ListView.h"
|
|
||||||
#include "Position.h"
|
#include "Position.h"
|
||||||
|
#include "Util/ListView.h"
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
// CARLA, Copyright (C) 2017 Computer Vision Center (CVC)
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
namespace MapGen {
|
|
||||||
|
|
||||||
template<typename IT>
|
|
||||||
class CARLA_API ListView
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
using iterator = IT;
|
|
||||||
|
|
||||||
explicit ListView(iterator begin, iterator end) : Begin(begin), End(end) {}
|
|
||||||
|
|
||||||
template <typename STL_CONTAINER>
|
|
||||||
explicit ListView(STL_CONTAINER &StlContainer) :
|
|
||||||
Begin(iterator(StlContainer.begin())),
|
|
||||||
End(iterator(StlContainer.end())) {}
|
|
||||||
|
|
||||||
ListView(const ListView &) = default;
|
|
||||||
ListView &operator=(const ListView &) = delete;
|
|
||||||
|
|
||||||
iterator begin() const {
|
|
||||||
return Begin;
|
|
||||||
}
|
|
||||||
|
|
||||||
iterator end() const {
|
|
||||||
return End;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool empty() const {
|
|
||||||
return Begin == End;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
const iterator Begin;
|
|
||||||
|
|
||||||
const iterator End;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace MapGen
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
#define LOCTEXT_NAMESPACE "CarlaRoadMap"
|
#define LOCTEXT_NAMESPACE "CarlaRoadMap"
|
||||||
|
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
/// -- Static local methods ----------------------------------------------------
|
// -- Static local methods -----------------------------------------------------
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
static uint32 ClampFloatToUInt(const float Value, int32 Min, int32 Max)
|
static uint32 ClampFloatToUInt(const float Value, int32 Min, int32 Max)
|
||||||
{
|
{
|
||||||
|
@ -31,9 +31,9 @@ static float GetRotatedAzimuthAngle(const FVector &Direction)
|
||||||
return SphericalCoords.Y + PI;
|
return SphericalCoords.Y + PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
/// -- FRoadMapPixelData -------------------------------------------------------
|
// -- FRoadMapPixelData --------------------------------------------------------
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
uint16 FRoadMapPixelData::Encode(bool IsRoad, bool HasDirection, const FVector &Direction)
|
uint16 FRoadMapPixelData::Encode(bool IsRoad, bool HasDirection, const FVector &Direction)
|
||||||
{
|
{
|
||||||
|
@ -58,9 +58,9 @@ FColor FRoadMapPixelData::EncodeAsColor() const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
/// -- URoadMap ----------------------------------------------------------------
|
// -- URoadMap -----------------------------------------------------------------
|
||||||
/// ============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
URoadMap::URoadMap(const FObjectInitializer& ObjectInitializer) :
|
URoadMap::URoadMap(const FObjectInitializer& ObjectInitializer) :
|
||||||
Super(ObjectInitializer),
|
Super(ObjectInitializer),
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "GraphTypes.h"
|
#include "GraphTypes.h"
|
||||||
#include "NonCopyable.h"
|
#include "Util/NonCopyable.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
// CARLA, Copyright (C) 2017 Computer Vision Center (CVC)
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
template<typename IT>
|
||||||
|
class CARLA_API ListView
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
using iterator = IT;
|
||||||
|
|
||||||
|
explicit ListView(iterator begin, iterator end) : Begin(begin), End(end) {}
|
||||||
|
|
||||||
|
template <typename STL_CONTAINER>
|
||||||
|
explicit ListView(STL_CONTAINER &StlContainer) :
|
||||||
|
Begin(iterator(StlContainer.begin())),
|
||||||
|
End(iterator(StlContainer.end())) {}
|
||||||
|
|
||||||
|
ListView(const ListView &) = default;
|
||||||
|
ListView &operator=(const ListView &) = delete;
|
||||||
|
|
||||||
|
iterator begin() const {
|
||||||
|
return Begin;
|
||||||
|
}
|
||||||
|
|
||||||
|
iterator end() const {
|
||||||
|
return End;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool empty() const {
|
||||||
|
return Begin == End;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
const iterator Begin;
|
||||||
|
|
||||||
|
const iterator End;
|
||||||
|
};
|
|
@ -7,5 +7,5 @@ public:
|
||||||
|
|
||||||
NonCopyable(const NonCopyable &) = delete;
|
NonCopyable(const NonCopyable &) = delete;
|
||||||
|
|
||||||
void operator=(const NonCopyable &x) = delete;
|
void operator=(const NonCopyable &) = delete;
|
||||||
};
|
};
|
|
@ -3,7 +3,7 @@
|
||||||
#include "Carla.h"
|
#include "Carla.h"
|
||||||
#include "WeatherDescription.h"
|
#include "WeatherDescription.h"
|
||||||
|
|
||||||
#include "IniFile.h"
|
#include "Util/IniFile.h"
|
||||||
|
|
||||||
static FString PrecipitationTypeToString(EPrecipitationType PrecipitationType)
|
static FString PrecipitationTypeToString(EPrecipitationType PrecipitationType)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue