gpt4 book ai didi

c++ - DontSpawnIfColliding 不检查 SpawnActor 函数生成的 actor

转载 作者:行者123 更新时间:2023-11-28 05:20:58 25 4
gpt4 key购买 nike

 void USpawner::Spawn(TSubclassOf<AMyActor> myactor)
{
UWorld* World = GEngine->GameViewport->GetWorld();
ACharacter* myCharacter = UGameplayStatics::GetPlayerCharacter(World, 0);
FVector loc = myCharacter->GetActorLocation();
FActorSpawnParameters ActorSpawnParameters;
ActorSpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::DontSpawnIfColliding;

AMyActor* NewActor = World->SpawnActor<AMyActor>(myactor, loc, FRotator::ZeroRotator, ActorSpawnParameters);
}

此代码可以很好地生成第一个 actor 并检查现有对象,因此它不会在可能与某些东西发生碰撞的地方生成。然而,我第二次生成一个对象时,我注意到在检查碰撞时没有考虑从此函数生成的对象。

我做错了什么?

最佳答案

当使用SpawnActor 方法时,有时默认的策略是没有用的。相反,您应该同时设置一个碰撞预设和(为了安心)一个碰撞 channel ,仔细检查碰撞响应不是忽略同一类(class)的 Actor 。

关于c++ - DontSpawnIfColliding 不检查 SpawnActor 函数生成的 actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com