[UE5] ProjectileMovementComponent

2024. 6. 12. 19:08·언리얼엔진5/각종 지식

 

ProjectileMovementComponent

    언리얼 엔진에서 탄환, 로켓, 화살 등과 같은 발사체의 운동을 처리하기 위한 컴포넌트입니다. 이 컴포넌트를 사용하면 발사체가 물리 법칙에 따라 자연스럽게 움직이고 상호작용하도록 만들 수 있습니다.

 

 

사용 예시

// Fill out your copyright notice in the Description page of Project Settings.


#include "Weapon/VITracerRound.h"
#include "Components/SphereComponent.h"
#include "GameFrameWork/ProjectileMovementComponent.h"

// Sets default values
AVITracerRound::AVITracerRound()
{
	Sphere = CreateDefaultSubobject<USphereComponent>(TEXT("Sphere"));

	Sphere->SetupAttachment(RootComponent);

	

	StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMesh"));

	StaticMesh->SetupAttachment(Sphere);
	StaticMesh->SetRelativeScale3D(FVector(8.75f, 0.5f, 0.5f));
	

	ProjectileMovement = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("ProjectileMovement"));

	ProjectileMovement->SetUpdatedComponent(RootComponent);

	ProjectileMovement->InitialSpeed = 7000.0f;
	ProjectileMovement->Bounciness = 0;
	ProjectileMovement->Friction = 0;
	ProjectileMovement->InterpLocationTime = 0.05f;
	ProjectileMovement->ProjectileGravityScale = 0.0f;
	ProjectileMovement->InitialSpeed = 12000.f;

	StaticMesh->OnComponentHit.AddDynamic(this, &AVITracerRound::OnHitStaticMesh);
	Sphere->OnComponentHit.AddDynamic(this, &AVITracerRound::OnHitSphere);

	


}

void AVITracerRound::OnHitStaticMesh( UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
{
	Destroy();
	

}

void AVITracerRound::OnHitSphere(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
{
	Destroy();

}
FTransform TF;

TF.SetLocation(Muzzle->getComponentLocation);
				
UCameraComponent* FPPCamera = Cast<AVICharacter>(World->GetFirstPlayerController()->GetCharacter())->GetCamera();

TF.SetRotation(FPPCamera->GetComponentRotation().Quaternion());
TF.SetScale3D(FVector(0.05f, 0.05f, 0.05f));
				
World->SpawnActor<AActor>(TracerRoundRef, TF);

    

 

sphere 및 staticmesh, projectileMovementCompoent 를 부착 한 뒤 총구로부터 트랜스폼을 받아와 스폰액터를 하면 발사된다. 

'언리얼엔진5 > 각종 지식' 카테고리의 다른 글

[UE5 C++] AIPerception을 활용하여 AI 가 캐릭터를 감지하게 만들기  (0) 2025.05.23
[UE5 C++] 언리얼엔진 Timeline C++ 에서 구현하기  (0) 2024.06.19
[UE5] Quat(쿼터니언) / Rotator (로테이터)  (0) 2024.06.12
[UE5] 타이머 사용하기  (0) 2024.06.12
[UE5] 월드에 액터를 스폰하는 방법 (SpawnActor)  (0) 2024.06.12
'언리얼엔진5/각종 지식' 카테고리의 다른 글
  • [UE5 C++] AIPerception을 활용하여 AI 가 캐릭터를 감지하게 만들기
  • [UE5 C++] 언리얼엔진 Timeline C++ 에서 구현하기
  • [UE5] Quat(쿼터니언) / Rotator (로테이터)
  • [UE5] 타이머 사용하기
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (181)
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (60)
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (9)
        • 블루프린트 Paper2D 로 게임 만들기 (14)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      C언어 실습문제
      언리얼엔진5 fps 프로젝트
      실전C프로그래밍 나중채
      실전 C프로그래밍 나중채
      핸즈온 머신러닝
      c++ 17298
      c++ 7576
      핸즈온 머신러닝 2판
      c++ 16929
      언리얼엔진
      실전 C 프로그래밍
      실전 C프로그래밍
      언리얼엔진5
      실전 C프로그래밍 실습문제
      c언어
      c++ 2178
      티스토리챌린지
      실전C프로그래밍
      오블완
      실전C프로그래밍 실습문제
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [UE5] ProjectileMovementComponent
    상단으로

    티스토리툴바