Tôi có vẻ hiểu lầm cách triển khai sự kiện trùng lặp trên các thành phần của mình. Tôi đã tạo một USphereComponent để theo dõi nhân vật của mình. Nó được thiết kế để bắn các sự kiện chồng chéo về diễn viên lân cận khác mà nằm trong tầm với của người chơi:USphereComponent and Overlap Events
AScrollsCharacter::AScrollsCharacter()
{
...Redacted irellevant code...
//Create activate trigger radius
USphereComponent* activateRadius = CreateDefaultSubobject<USphereComponent>(TEXT("Activate Radius"));
activateRadius->InitSphereRadius(ACTIVATE_RADIUS);
activateRadius->bGenerateOverlapEvents = true;
activateRadius->SetupAttachment(RootComponent);
activateRadius->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);
activateRadius->OnComponentBeginOverlap.AddDynamic(this, &AScrollsCharacter::OnOverlapActivateSphere);
activateRadius->bHiddenInGame = false;
}
void AScrollsCharacter::OnOverlapActivateSphere(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("We got a collision."));
}
Thành phần cầu gắn mà không có lỗi, và là bán kính được vẽ trên màn hình cùng kích thước chính xác. Tuy nhiên, khi tôi mang bán kính tới các diễn viên khác trong trò chơi và khiến họ bị chồng chéo lên nhau, sự kiện đó dường như không bắn.
Tất cả các tác nhân tham gia đều có cờ Sự kiện tạo chồng chéo được đặt thành true.
Ai đó có thể giúp tôi hiểu những gì tôi bị thiếu trong thiết lập này không?
Chỉnh sửa: Các giới hạn gỡ lỗi của thành phần hình cầu có màu cam trong trình chỉnh sửa nhưng chuyển sang màu đỏ khi trò chơi đang chạy. Sự thay đổi màu đó có ý nghĩa không?
Họ đang thực hiện. Tôi đã nói trong bài viết rằng tất cả các diễn viên liên quan đều có cờ Sự kiện tạo chồng lấp nhau được đặt thành true, ngụ ý rằng tất cả họ đều có các thành phần va chạm. – nathan