Hey Guys
Reddit seems really helpful so i thought i would post another little problem i am having, basically i have copied the first person shooter projectile and my bullets are going straight through everything, including players
Here is my projectile:
Collision:
Mesh: http://postimg.org/image/kgdos53ed/
Projectile Movement: http://postimg.org/image/a8pnni0zj/
Any help would be greatly appreciated, thank you!
Here’s a video of the problem
Hi Colloseus,
It’s hard to tell without stepping through the code, but have you tried setting your Capsule component as the RootComponent? I see you have a default scene root, and the way the UMovementComponent works is if there isn’t a specified component to update for movement it will choose the root primitive component as shown below
void UMovementComponent::InitializeComponent()
{
bInInitializeComponent = true;
Super::InitializeComponent();
UPrimitiveComponent* NewUpdatedComponent = NULL;
if (UpdatedComponent != NULL)
{
NewUpdatedComponent = UpdatedComponent;
}
else if (bAutoRegisterUpdatedComponent)
{
// Auto-register owner's root primitive component if found.
AActor* MyActor = GetOwner();
if (MyActor)
{
NewUpdatedComponent = MyActor->GetRootPrimitiveComponent();
if (!NewUpdatedComponent)
{
FMessageLog("PIE").Warning(FText::Format(LOCTEXT("NoRootPrimitiveWarning", "Movement component {0} must update a PrimitiveComponent, but owning actor '{1}' does not have a root PrimitiveComponent. Auto registration failed."),
FText::FromString(GetName()),
FText::FromString(MyActor->GetName())
));
}
}
}
PlaneConstraintNormal = PlaneConstraintNormal.SafeNormal();
SetUpdatedComponent(NewUpdatedComponent);
bInInitializeComponent = false;
}
My first guess would be to make your collision component your root component and see if that works.
Hey thanks for replying, i managed to get this working by copying an object from the game that was already colliding and just changed the size and texture