< '언리얼엔진5' 카테고리의 글 목록 (6 Page)

언리얼엔진5 59

[Paper2D로 게임 만들기 필기] 4-5. DataTable, 피격 판정, Widget Blueprint, FSM, Controller

지금까지 클래스에 들어있는 변수들을 변수 내에 멤버 변수로 선언해서 사용을 했었는데, 데이터 테이블을 사용하면 더 효율적으로 관리할 수 있다. 먼저 구조체를 만들어서 테이블에 원소를 넣기 쉽게 만든다. Structure 이렇게 만들어준 구조체를 데이터 테이블에서 사용할 예정이다. DataTable 이미지 파일, 객체에 대한 정보, 서버에서 받아오는 정보들 등 담아둘 정보가 많은 경우에는 멤버 변수로 모두 관리하기가 매우 힘들다. 따라서 이렇게 구조체를 만들고 데이터 테이블에 넣어 두면 정보를 조회하기도 편하고, 관리하기도 편하다. getDataTableRow를 통해 정보를 가져온다. 마찬가지로 이전의 애니메이션에서 하나하나 가져왔던 데이터들을 데이터 테이블의 Row를 불러와서 Select문에 집어넣을 수..

[Paper2D로 게임 만들기 필기] 1-2. Unreal VS Unity, Spirte & Texture, 키 매핑, 매크로

언리얼 엔진의 계층구조 유니티에서는 큐브를 만들 때 아예 빈 깡통에서 채워 나간다. 반면에 언리얼 엔진은 이미 큐브를 생성하면 여러 기능을 가지고 있다. ex) cube 를 만들면 Actor 클래스를 상속받아져 있다. 언리얼엔진은 따라서 상속구조를 잘 이해 해야한다. Unity : 컴포넌트가 핵심 Unreal : 상속 구조가 0순위 Sprite : 게임 등지에서 사용되는 움직이는 2차원 비트맵 개체를 가리키는 용어. 마치 도깨비불이 둥둥 떠다니듯 배경화면과 독립적으로 움직일 수 있었기 때문에 sprite를 어원으로 삼은 것 같다 (출처 : 나무위키) Texture : 물체에 옷을 입힌다. Flipbook 프레임 속도 및 여러 이미지로 움직이는 스프라이트를 만들 수 있다. Actor -> Pawn -> C..

[언리얼엔진 5 필기] 7. Rotator, 슬라임 경주 만들기, Event Dispatcher

X, Y, Z 축으로 회전할 때 세개의 값으로만 관리하면 축이 겹쳐서 어느 순간 관리가 불가능한 상황이 됌(Gimbal Lock)따라서 Rotator 객체를 사용한다.Rotator x,y,z,w 네 개의 값을 가짐 . 왜 네 개의 값을 가지는가? w는 무엇인가? 에 대한 설명은https://luv-n-interest.tistory.com/805 쿼터니언(사원수), Quaternions//21.12.17 업데이트 회전에 관해서 오일러와 쿼터니언이 있다. 우리가 상식으로 알고 있는 것은 오일러이고 오일러를 보완하기 나온 것이 쿼터니언이다. 알아보자 이해하기 위해선 복소수를 알고luv-n-interest.tistory.com이 분의 글을 참조했다. 유치원생의 관점에서 요약하자면 사원수를 이용해 벡터를 4차원 ..

[언리얼엔진 5 필기] 6. 은닉성 , 구조체, 벡터,

은닉성 public : 누구에게나 공개 protected : 상속 받아서 만들어진 클래스들은 사용 가능 private : 내부적으로만 접근 가능 (동일한 클래스 안) 굳이 구분하자면 은닉성 : 데이터를 숨기는 것 캡슐화 : 은닉화된 데이터와 로직을 묶는 개념 위험한 것을 외부에 노출시키지 않는다 구조체 딱히 설명할게... 없다. 로컬 좌표, 월드 좌표 로컬 좌표 : 오브젝트의 중앙이 원점이 되어 좌표계 구성 월드 좌표 : 월드를 기준으로 하는 절대 좌표계 위 같은 상황에 Gun 객체의 좌표는 플레이어를 기준으로 설정되게 된다. 벡터 물체 이동에 고정값을 넣으면 컴퓨터의 성능에 따라 Event Tick 이 달라져서 고정값을 넣으면 절대!!! 안된다. Delta Seconds : 경과 시간을 이용해서 곱해서..

[언리얼엔진5 필기] 5. 블루프린트 클래스, 상속, 형변환

블루프린트 클래스 - 하나의 설계도이다. (붕어빵 틀 같은 느낌) - 관련된 이벤트도 클래스에서 직접 관리 멤버 변수는 메모리를 차지하지만 멤버 함수는 heap 영역에 한번만 만들어지고 같은 객체들이 함수를 공유하기 때문에 실질적으로 메모리에 큰 영향이 없다. 따라서 멤버 변수에 대한 관리만 신경써주면 된다. 인자 값을 참조로 받는 경우에는 isValid 체크 를 까먹지 않아야 한다. 상속성 - C++ 과 이하동일. 형변환 형변환을 했을 시 상위 클래스로 형변환 하면 멤버변수는 사용할 수가 없다.(Knight -> Player) BP player 하위에 mage, knight 가 있을 때 함수가 Knight 객체만을 인자로 받게 해 놓았으면 데이터를 관리할 수 없기 때문에 형변환을 통해 상위 클래스인 P..

[언리얼엔진5 필기] 4. 배열, 맵, 해시테이블, 버블정렬,

RESIZE 0으로 인자만큼 배열 크기 초기화. Set Array Elem index를 item으로 변경. Size to Fit -> 배열의 인덱스보다 높은 index 를 설정할때 체크해주면 강제로 영역을 늘려서 할당해줌. 로또 번호 생성기 0~5까지의 배열 인덱스에 1-45 범위의 로또 번호가 생성된다. (ADDUNIQUE 로 중복 제거) 버블 정렬 맵 중복되는 키가 있으면 마지막으로 적용한 키가 들어감. Find를 사용하면 값이 없을 경우 맵에 추가해준다. ex) tmp 검색 -> 'tmp' : '0' Contains는 단순히 데이터가 있는지 불리언으로 반환해준다. 4일차 후기 버블정렬은 기본중의 기본이지만 블루프린트를 이용해 코딩을 하려 하니 익숙치는 않았다. 강의를 들으며 실습을 직접 해보며 익숙..

[언리얼엔진5 필기] 2. 사칙연산, 디버깅, 논리연산, 흐름제어

사칙연산 주의점 - 타 언어와 같이 정수 / 정수 나눗셈 주의. 이하생략 문자열 포맷 -formattext 로 사용 가능. 직관적이다. 디버그 - F9로 중단점 설정 가능, F10으로 단계별 이동 (비주얼과 동일) - 블루프린트에서 각 노드의 변수에 커서를 둬서 값 확인 가능 논리연산 - 타 언어와 동일. 흐름 제어 - 시퀀스 노드 0 , 1 (0번 시퀀스가 모두 실행되면 1번 시퀀스가 실행됌.) - FlipFlop A, B 를 반복적으로 실행. (A, B, A, B, A, B) Min, Max 노드 를 사용해서 더 단순하게 사용 가능하다. Min 도 동일. Clamp 를 사용하면 브랜치와 Min, Max 노드를 사용하지 않고 통합해서 사용 가능하다. 2일차 후기 - 기본 C++ 문법을 블루프린트로 실습..

[언리얼엔진5 필기] 1. 변수 타입 / get set

2023-07-12 언리얼엔진 공부 시작 (인프런 - Rookies 언리얼 엔진 강의) 게임의 구성요소 1. 데이터 - 컴퓨터에게 알려주는 게임 세상의 요소 (램에 저장됌) 2. 로직 - 데이터 연산을 담당 일반적으로는 불리언 변수 앞에는 b를 붙임. ex) bSound 변수는 대문자로 시작. DOUBLE PRECISION 데이터 타입은 2배의 정밀도를 갖는 부동 소수점 숫자를 갖는다. 정밀도는 자동으로 FLOAT의 정밀도보다 높은데, 허용되는 값의 범위는 FLOAT에서와 마찬가지로 사용되고 있는 시스템에 따라 다를 수 있다. Name - 상수형 명시 타입 / 용량 적게 차지함 Text - 언어 로컬라이제이션 에 좋음 String - 그냥 문자열 / 플레이어 이름 get / set - 일반적인 get s..