diff --git a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp index 3e5ab129e49a6a8aeb24ba11a17bd5f4a6d5447a..79d45af5453e98477424a3813aac7a6ad6b0dec6 100644 --- a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp +++ b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp @@ -207,11 +207,12 @@ void ACAVEOverlayController::Tick(float DeltaTime) tape_root->SetRelativeLocation(shutter_position * FVector(0, 0, 1)); //Only apply Z float tape_opacity = calculateOpacityFromPosition(shutter_position); - tape_material_dynamic_->SetScalarParameterValue("BarrierOpacity", tape_opacity); - UE_LOG(CAVEOverlayLog, Log, TEXT("Flystick %p, pos (%f,%f,%f), opacity %f"), shutter_glasses_, shutter_position.X, shutter_position.Y, shutter_position.Z, tape_opacity); + UE_LOG(CAVEOverlayLog, Log, TEXT("Glasses %p, pos (%f,%f,%f), opacity %f"), shutter_glasses_, shutter_position.X, shutter_position.Y, shutter_position.Z, tape_opacity); UE_LOG(CAVEOverlayLog, Log, TEXT("TapeMaterial %p"), tape_material_dynamic_); + tape_material_dynamic_->SetScalarParameterValue("BarrierOpacity", tape_opacity); + if (FMath::IsWithin(FVector2D(shutter_position).GetAbsMax(), wall_distance_ - wall_warning_distance_, wall_distance_)) { //in warning distance == red tape tape_material_dynamic_->SetVectorParameterValue("StripeColor", FVector(1, 0, 0)); }