UE5

    c++ const 매개변수 , 아웃매개변수

    c++ const 매개변수 , 아웃매개변수

    1. const 매개변수 단점 : 함수내부에서 데미지 수정시 원본데미지의 값도 바뀌어버림 해결 : const // 함수내부에서는 조회만 가능토록 제한. 2. 아웃매개변수 특징 : float&인데 const가 안붙어있음, 매개변수이름이 Out변수명임. 변수초기화를 안하고 함수에 넘김 왜사용? : 함수내부에서 값을 넣어주기를 원하는 경우

    c++ & 참조타입 vs *포인터 비교

    c++ & 참조타입 vs *포인터 비교

    1. 참조타입은 일종의 별명이다. a의 별칭을 another_a 라고 지은것. a가바뀌면 another_a도 바뀜. float a = 3; float& anohter_a = a; UE_LOG(LogTemp, Display, TEXT("a is %f another_a is %f"), a, anohter_a); 2. 포인터 : 여러곳에서 참조해야되는 경우에만 사용 참조타입 : 널불가능 => 안전성 up 웬만하면 참조타입을 사용하라.

    언리얼엔진 트레이스 디버깅용 빨간선 찍는방법

    언리얼엔진 트레이스 디버깅용 빨간선 찍는방법

    0. 트레이스란? 그림과 같이 물체등을 추적 => 플레이어가 뭘 가르키고 있는지 추적한다. 종류 : 라인, 원형, 트레이스채널(추적가능한 오브젝트목록 등록, 그것만 추적 / 나머지는 무시함) 등. 1.Grabber cpp만들고 2. BP_Player의 카메라에 달아준다. FVector Start=GetComponentLocation(); FVector End= Start +GetForwardVector()*MaxGrabDistance; DrawDebugLine(GetWorld(), Start, End, FColor::Red); 3.실행결과 F8을 눌러 빙의를 풀어야 빨간선이 보인다.

    c++ -> 연산자 사용방법

    c++ -> 연산자 사용방법

    *예시1 (*Owner).멤버함수 를 간소화한것이 -> 연산자이다. Owner -> 멤버함수 //위와동일 //이 cpp 파일의 주인인 Actor의 주소 가져오기 AActor* Owner = GetOwner(); //같은코드임. //1. Owner의 주소를 타고가서 (*Owner) //2. 실제객체의 맴버함수실행 FString Name=(*Owner).GetActorNameOrLabel(); FString Name2 = Owner->GetActorNameOrLabel(); UE_LOG(LogTemp, Display, TEXT("Mover Onwer Address : %s"), *Name2); * 예시2 //이 cpp 파일의 주인인 Actor의 주소 가져오기 AActor* Owner = GetOwner();..

    언리얼 엔진 로그찍는방법

    1. UE_LOG(카테고리, 심각도, 텍스트) 2. 문자열 변수 저장은 FString을 이용하면된다. 주의 : 접근시 변수앞에 *을 붙여야됨. 포인트 형식으로 저장되는 듯 하다. 3. 예시 float OverShoot = DistanceMoved - MoveLimit; FString Name = GetName(); UE_LOG(LogTemp, Display, TEXT("%s Platform overshooted by %f"),*Name, OverShoot);

    언리얼엔진에서 캐릭터 충돌 인식버그 해결방법

    언리얼엔진에서 캐릭터 충돌 인식버그 해결방법

    1. 문제 : 언리얼에서는 움직이는 캐릭터만 충돌감지를한다. => 정지한 캐릭터와 물체가 겹치면 버그발생 (보기안좋고 어지럽다) 2.해결 : 캐릭터 블루프린트에서 +1이동, -1이동을 주면 -> 위치는 그대로이고 계속이동중이다. Sweep체크 => 충돌감지 On 3. 문제2 : 회전방향이 없어서 캐릭터가 정면만 바라본다 4. 해결 2: get actor rotation을 받아서 주면된다.

    스탯 매니저

    * 구현 1.MyGameInstance.cpp->GameInstance 만들기

    아이템 줍기

    아이템 줍기

    * 구현 1. 줍줍할수 있는애들 MyCollective 엔진-콜리전-새 오브젝트, 새 프로파일 캐릭터랑만 겹침판정 => 겹치면 이벤트 발생 캐릭터에서도 겹칩설정해주기 2. MyWeapon-> 트리거변수 => 충돌영역지정 박스 ※캐릭터->줍기부분 주석처리 트리거는 UBoxComponent 타입임 AMyWeapon::AMyWeapon() { // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; //3.무기 만들어줌 Weapon = CreateDefaultSubobject(TEXT("WEAPON"..