本文整理汇总了C++中UStaticMeshComponent::IsSimulatingPhysics方法的典型用法代码示例。如果您正苦于以下问题:C++ UStaticMeshComponent::IsSimulatingPhysics方法的具体用法?C++ UStaticMeshComponent::IsSimulatingPhysics怎么用?C++ UStaticMeshComponent::IsSimulatingPhysics使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UStaticMeshComponent
的用法示例。
在下文中一共展示了UStaticMeshComponent::IsSimulatingPhysics方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetActorInView
AActor* USCarryObjectComponent::GetActorInView()
{
APawn* PawnOwner = Cast<APawn>(GetOwner());
AController* Controller = PawnOwner->Controller;
if (Controller == nullptr)
{
return nullptr;
}
FVector CamLoc;
FRotator CamRot;
Controller->GetPlayerViewPoint(CamLoc, CamRot);
const FVector TraceStart = CamLoc;
const FVector Direction = CamRot.Vector();
const FVector TraceEnd = TraceStart + (Direction * MaxPickupDistance);
FCollisionQueryParams TraceParams(TEXT("TraceActor"), true, PawnOwner);
TraceParams.bTraceAsyncScene = true;
TraceParams.bReturnPhysicalMaterial = false;
TraceParams.bTraceComplex = false;
FHitResult Hit(ForceInit);
GetWorld()->LineTraceSingleByChannel(Hit, TraceStart, TraceEnd, ECC_Visibility, TraceParams);
/* Check to see if we hit a staticmesh component that has physics simulation enabled */
UStaticMeshComponent* MeshComp = Cast<UStaticMeshComponent>(Hit.GetComponent());
if (MeshComp && MeshComp->IsSimulatingPhysics())
{
return Hit.GetActor();
}
return nullptr;
}
示例2: OnPickupMulticast_Implementation
void USCarryObjectComponent::OnPickupMulticast_Implementation(AActor* FocusActor)
{
if (FocusActor && FocusActor->IsRootComponentMovable())
{
/* Find the static mesh (if any) to disable physics simulation while carried
Filter by objects that are physically simulated and can therefor be picked up */
UStaticMeshComponent* MeshComp = Cast<UStaticMeshComponent>(FocusActor->GetComponentByClass(UStaticMeshComponent::StaticClass()));
if (MeshComp && MeshComp->IsSimulatingPhysics())
{
MeshComp->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
MeshComp->SetSimulatePhysics(false);
}
FocusActor->AttachToComponent(this, FAttachmentTransformRules::KeepWorldTransform);
}
}