홈>
배우에게 총알을 쏘고 싶어요
탄알을 발사하려면 우주에 위치가 필요하다는 것을 알고 있습니다. 액터로 모델 세트 형태로되어 있습니다. 이제 액터와 동일한 시작 좌표로 새 객체 (이 경우 글 머리 기호)를 생성하고 액터가 향하는 방향으로 이동 방향을 설정해야합니다.
(총을 상상하면 총알 끝의 좌표에 총알이 생성되고 총알이 총이 향한 방향으로 앞으로 움직입니다)
총에 총알을 생성하는 방법이나 총알의 속도를 설정하는 방법을 알 수 없습니다. 언리얼에서 어떻게하면 되나요?
-
답변 # 1
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
새로운 액터를 만들려면
SpawnActor
를 사용하면됩니다. .UWorld
회원입니다 따라서 그 중 하나가 필요합니다. 와이즈 비즈 위치와 회전을 취합니다.SpawnActor
라는 캐릭터 액터 인스턴스 제공 (총을 발사하는 사람) 및 사용자 지정 총알 배우Character
, 당신은 할 수 있습니다 :이제
UWorld* World = characterActor->GetWorld(); ABullet* Bullet = World->SpawnActor<ABullet>( Character->GetActorLocation(), Character->GetActorRotation() );
가 있습니다 당신은 함께 일할 수 있습니다. 언리얼의 액터에는 속도 속성이 내재적으로 없습니다 (있는 경우). 총알의 속도를 처리하려면Bullet
를 제공하십시오. 속도 속성을 지정하고 생성 후 설정합니다 (ABullet
) 그런 다음Bullet->Velocity = FVector(...)
에서 배우의 위치를 업데이트하십시오. 의 틱 기능 또는ABullet
와 같은 움직임 구성 요소를 부착 총알 배우에게. 후자가 더 나은 옵션 일 것입니다.탄을 스폰하기위한 위의 코드는 캐릭터 액터의 월드 위치에 스폰됩니다. 캐릭터의 총신이 끝날 때 총알을 스폰하려는 경우가 있습니다. 이를 수행하는 간단한 방법은 글 머리 기호가 스폰 될 지점에서 캐릭터의 메시에 이름 지정된 소켓을 배치하고 액터의 스태틱 메시 컴포넌트를 가져 오며
<시간>UProjectileMovementComponent
에서 이름 지정된 소켓의 상대 위치를 얻는 것입니다. 캐릭터의 오브젝트. 총알에 주어진 초기 위치에 해당 상대 위치를 추가하여 해당 소켓의 위치에서 생성하십시오.UStaticMesh