간단하게 언리얼 배터리 콜랙터 정리

언리얼 c++ 배터리 콜랙터

1장. 인트로 + 오리엔테이션 (별거없음)

2장. 파일 이주와 디폴트 신 설정(별거없음)

3장.프로그래밍
-generated.h아래에 해더를 추가할수없다. buildtool이 제일 마지막에 찾아서 인식하기때문이다.

- UCLASS()메크로, 가비지콜렉션, 키워드등등 UObject(언리얼 전용)기반으로 클래스를 설정한다. 

-GENERATED_BODY로 엔진링킹(엔진연결)을 한다.

-UPROPERTY(접근제한, 블루프린트 접근데한, 카테고리,메타순으로 나열)

-CreateDefaultSubObject라는 메크로 핼퍼가 값을 할당하게 도와준다.

4장. 값넣기. 함수들
- BlueprintPure접근으로 코드상으로 값변경이 가능하나. 블루프린트에선 안받으므로, 스택애서 반환하는경우 값이 2번 Pop되므로 Get함수용으로만 사용하고, BlueprintCallable로 값할당사용, blueprintCallable은 값이 자주안바뀌고 연산이 오래걸릴때 사용

5장. 배터리 생성 (별거없음)

6장. 어디다 생성할것가
- GetMesh()->SetSimulatePhysics(true);로 물리처리 온!
- #include "Kismet/KismetMathLibrary.h"로 수학 함수를 불러올수있다.

-FVector SpawnOrigin = WhereToSpawn->Bounds.Origin;
FVector SpawnExtent = WhereToSpawn->Bounds.BoxExtent;

return UKismetMathLibrary::RandomPointInBoundingBox(SpawnOrigin, SpawnExtent);
이렇게 하면 박스모양 랜덤포인터를 만들 수 있다.

7장. 어떻게 넣을것인가?
- World->SpawnActor<APickUp>(SpawnLocation, SpawnRotation, SpawnParams); 
SpawnActor를 통해 스폰시킬수 있다.


8장. 타이머
-SpawnTimer 로 선언후. GetWorldTimerManager().SetTimer(타이머 변수, 콜백함수, 반복여부 처음 시작시 시간); 로 활성화


9장 캐릭터 
- Destroy로 파괴.
- 캐릭터 샛팅 USphereComponent만듬 (별거없음)

10장 수집하기
- collectPicups함수를 캐릭터에 만들고 CollectionSphere->GetOverlappingActors(CollectedActors);로 충돌된 엑터 다받은뒤 순차반복문으로 채크
- 키바인딩이 끝 ㅋ

11장 배터리 파워 샛팅
- 플롯으로 currentbettery만든게 전부 (별거없음)

12장 10장에서 배터리 충돌한거 파워 올려줌 별거없음 (별거없음)

13장. 매시간마다 배터리 깎기
- Tick함수에다가 Berrety를 deltatime만금 깎음 별거없음 

14, 15
블루프린트 편집, Targetpoint사용한것외엔 별다른거없음

16장
- UUserWidget선언후 CreateWidget함수로 호출 별다른건 없음

17장
UEnum에 대한건데 역시 어려운건 없음

18. 토글 활성화여부
UGameplayStatics::GetAllAcorsOfClass로 모든 클레스 찾기



댓글

이 블로그의 인기 게시물

전문가를 위한 c++ 18장 함수오버로딩

GPG 3권 챕터1.2 객체 조합식 게임 프레임웍