3dperceptionlab / unrealrox

MIT License
96 stars 15 forks source link

Build errors when compiling project in VS2017 CE with UE 4.21.2 #2

Closed m-talha closed 5 years ago

m-talha commented 5 years ago

I am getting numerous build errors when trying to compile the robotrix project in VS 2017- see below. I also tried to run the UE project file which resulted in failing to build robotrix, AnimNode and AnimNodeEditor modules.

Do I need to compile UE 4.18 from source? Is this currently incompatible with UE 4.21?

image

PabloMzGz commented 5 years ago

Hello, sorry for the big delay in the answer.

The version in the repository is only compatible with UE4.18. However, we have already ported it to 4.19, it just needs some minor changes to work (which would be written at the end of the post). Nevertheless, we have not tried with 4.20, 4.21 or 4.22, so we don't know if these modifications will be enough for these versions. We planned to create a repository branch for each engine version, but it is not a priority right now.

About compiling the whole engine, it was needed in order to obtain segmentation masks, however, it is not needed anymore. The version in the experimental branch of the repository obtains masks in a very different way, so working with this version will be faster.

Sorry again, and thank you very much for trying the tool.

Changes needed for engine version 4.19

1. In ROXBasePawn.cpp

// 4.19 MotionController_R->MotionSource = TEXT("Right"); MotionController_L->MotionSource = TEXT("Left");


  - Way of hiding the HUD in playback mode

// 4.18 PC->GetHUD()->ShowHUD();

// 4.19 PC->GetHUD()->Destroy();


**2. In ROXPlayerController.cpp**
  - GetHMDDeviceType() function is not available anymore

// 4.18 -> GEngine->XRSystem->GetHMDDevice()->GetHMDDeviceType() returns an enumeration HMDDeviceType = ((EROXHMDDeviceType)GEngine->XRSystem->GetHMDDevice()->GetHMDDeviceType());

// 4.19 -> GEngine->XRSystem->GetSystemName() returns a FName if (GEngine->XRSystem->GetSystemName() == TEXT("OculusHMD")) HMDDeviceType = EROXHMDDeviceType::EDT_OculusRift; //TEXT("OculusHMD") else HMDDeviceType = EROXHMDDeviceType::EDT_SteamVR; //TEXT("SteamVR")


  - Changed the way of accessing Forward/Right Vector

// 4.18 GetActorForwardVector() GetActorRightVector()

// 4.19 this->RootComponent->GetForwardVector() this->RootComponent->GetRightVector()


  - Ensure that PlayerController rotation is 0

// 4.19 - Put this in BeginPlay() this->RootComponent->SetWorldRotation(FRotator(0.0f, 0.0f, 0.0f));

nath-partha commented 3 years ago

Hi Guys, I am currently trying to use the robotrix project in UE4.26. I wanted ask if you have tried this or any other project with your ROXPawn character in 4.26 or any UE closer to it?

Additionally after dealing with most of the errors in the project, I am left with these ones. I am still new in UE, and cant find the LINK file mentioned in the errors.

Possible solutions2