언리얼엔진/언리얼 C++ 39

Pawn

※ 개인적인 공부를 위해 포스팅 하는 글입니다.#Pawn클래스 생성 후 대충 구경을 해봤다..항상 F12로 타고 들어가서 구경하는 습관을 들이도록 하자.C++기반 블프를 만들어서도 살펴봤다다양한 컴포넌트들이 있다.폰이 무엇인지는 언리얼에서도 잘 설명해 주고 있다.컨트롤러에 관한 인풋은 여기에 바인드하라고 언리얼에서 설명해 주고 있다.여기에서 빙의를 설정할 수 있다. 블프에서 하면 얘객체는 전체 다 적용이고 배치를 한 후에 하면 얘만 적용된다게임모드는 월드세팅에서 하든, 게임모드 블루프린트에서 하든, 게임모드 C++에서 하든 폰 클래스를 연결해주면된다.그 후 플레이어 스타트를 정하든 C++로 스폰을하든 코드로치든... 무슨방법이든 하면된다 # PlayerController# 생성할걸 생성해주고 블루프린트에..

상대좌표와 엑터의 계층구조

※ 개인적인 공부를 위해 포스팅 하는 글입니다.     1. 로컬 2 월드. 테스트를 위해 로테이션을 좀 돌렸다. 로컬은 내 기준 (변할 수 있음) / 월드는 세계 기준(항상 고정)  이 코드는 월드좌표끼리 계산을 하기때문에 아무 문제가 없었다. 하지만 로컬이랑 월드를 혼동해서 사용하면 큰일난다.이런 계층구조에 따라 또 좌표계가 달라진다... 그걸 상대좌표 라고 부른다. 이런 비행기 모양이 있다고 치자 계층 구조에 따라 위치가 상대적으로 바뀌기에 조립을 하기전에 모양을 잡아주고 계층을 잡아줬다. 코드로 하려면 이런 구조를 이용해서 하면되겠다. 회전 잡는건 롤 피치 요 를 받는데 x y z(롤,피치,요) 순서다. 인자를 받는건 y,z,x라고 생각하면되겠다. Relative(상대좌표) 를 조절해주는 모습파일..

벡터(수학)와 Actor의 이동

※ 개인적인 공부를 위해 포스팅 하는 글입니다.이전 개념 포스팅 링크https://season97.tistory.com/6 벡터와 좌표계이 수치는 영점으로 부터 얼마나 떨어져있느냐..타고 들어 가면 더블로 되어있다~ ▶ 벡터란? ㆍ 벡터는 크기와 방향을 정의하는 값. 일반적으로 화살표로 그려져 화살표의 길이가 벡터의 크기season97.tistory.com   이 수치는 영점으로 부터 얼마나 떨어져있느냐..타고 들어 가면 더블로 되어있다~ ㆍ 크기와 방향을 동시에 가지고있다 # 엑터 이동시켜보기 코드는 직관적이다. 속도를 정해주고 Forward 방향으로 위치를 밀어주고있다. 뭐 엉금엉금 큐브가 이동할것이다.SetActorLocation은 가장 기본적인 함수.AddActorWorldOffset은 바뀐 방향..

Actor

※ 개인적인 공부를 위해 포스팅 하는 글입니다. #Actorㆍ 블프에서 하는건 아주 간단하게 한다. 그러면 c++에선 어떻게 해야할까?  #C++ ㆍ UStaticMeshComponent 도 하나의 클래스라, 클래스 전방 선언을 해주고 CPP에서 include를 해주자ㆍ 하나 팁인데 모르겠으면  UStaticMeshComponent 같은 클래스명에 f12로 타고들어가면 대충 뭘 include를 해야될지 힌트를 얻을 수 있다.   # 생성자 사용은 최소한으로ㆍ 생성자는 CDO의 영역이다. 에디터가 실행될 때 초기화 된다.ㆍ 코드를 입력하고 BP_R1을 보면 C++에서 편집 이라고 나와있다. C++에 의해 넘어온 애라는 소리다. ㆍ 현재는 뭐 아무것도 나와있지 않다. 프로퍼티 지정자를 사용하지 않아서 블프에..

머태리얼

ㆍ 빈 프로잭트 기반으로 만들었어서 콘텐츠를 추가해서 기본 모델을 가져왔다.ㆍ 필요 없는걸 삭제하고 정리할라했는데 에디터에서 할라니까 또 말썽이다...ㆍ 에디터를 끄고 파일탐색기에서 해주고 다시켰다.. 머테리얼 간단 포스팅: https://season97.tistory.com/12 머터리얼(Material)과 머터리얼 인스턴스(Material Instance)▶ 머터리얼과 머터리얼 인스턴스는 3D 객체에 텍스처와 색상,반사 등의 시각적 속성을 부여하는데 사용된다. 1. 머터리얼 ㆍ 언리얼 엔진에서 머터리얼은 3D 객체에 적용되는 표면의 외관을 정season97.tistory.com  # 매쉬의 종류는 스캘래탈 매쉬가 있고 스태틱 매쉬가 있다.ㆍ 말 그대로다. 정적이면 스태틱으로 하면 되고 애니메이션이 필..

UObject

#언리얼에선 C++ 리플렉션 시스템을 구현해 놓기 위해 많은 노력을 했다.ㆍ언리얼의 리플렉션의 도움을 받으려면 프로퍼티 지정자를 반드시 적어줘야 한다.#프로퍼티 지정자 공식 링크 :https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-uproperties?application_version=5.1 ㆍ 프로퍼티와 관련된 옵션은 위 링크에서 찾을 수 있다.ㆍ 다양한 옵션들이 있고, 지정할 수 있다.  ㆍ블루프린트와 호환하는 옵션 등등도 많으니 정독 ㄱㄱ  ㆍ C++클래스는 BP와 호환이 된다. (역방향인 BP클래스가 C++로는 안됨) ㆍ private와는 BlueprintReadWrite는 호환이 안돼서 protected로 바꿔줬..

언리얼C++ 여러가지 기본팁

# 유니티와 언리얼의 가장 큰 차이점상속구조냐 (언리얼) , 컴포넌트 구조냐(유니티)의 차이가 있다.   # cpp파일은 에디터에서 만들어도 되고, 파일탐색기에서 만들어도 된다. 파일 탐색기에서 만들었으면 툴->vs새로고침을 해주자, 리로드는 항상 모두리로드를 하자 삭제같은 경우엔 반드시 에디터를 종료하고 파일 탐색기에서 원본 소스를 삭제해 줘야 한다.   # 소소를 필터로 정리하고 싶다면.... 비주얼스튜디오에서 필터로 정리하면 어처피 날아간다.파일 탐색기 경로로 들어가서 직접 폴더를 생성해 줘야함모든 변경점을 적용할려면 Generate Visual Studio project files를 눌르면 된다.   작업을 할 때는, 헤더를 고칠땐 에디터를 종료하고 변경해주자-> 웬만한 방법은 그냥 vs에서 작업..

애니메이션

▶ 애니메이션의 유형 1. 휴머노이드 ㆍ 머리, 팔2개, 몸통, 다리2개 즉 사람처럼 생긴 오브젝트 (캐릭터) ㆍ 일반적으로 인간형으로 분류할 수 있으며 이는 인간형 오브젝트들이 리타겟팅을 이용해서 애니메이션을 서로 공유를 할 수 있다는 얘기가 된다. ※ 리타겟팅? - 똑같은 개체(인간형)끼리 애니메이션을 공유할 수 있는 기능   2. 제네릭 ㆍ 휴머노이드를 제외한 나머지 오브젝트들을 보통 제네릭으로 분류해서 처리한다. ㆍ 특징은 리타겟팅을 통한 애니메이션을 원활하게 공유할 수는 없지만 상대적으로 휴머노이드 객체보다 코스트가 낮은 경우가 많다. ▶ 페르소나와 메카님ㆍ 언리얼은 페르소나 유니티는 메카님으로 각각의 엔진에 특화된 기능을 가지고 있다 1. 페르소나 ㆍ 언리얼에서 사용하는 애니메이션 시스템 ㆍ ..

C++ 기반 프로젝트 만들기와 계층구조, 코딩규약

▶ 들어가기에 앞서 C++ 기반 프로젝트 만들기 ㆍ 블루프린트 기반의 프로젝트에 그냥 C++클래스를 붙히면 오류가 발생할 확률이 매우 높다고 한다.. ㆍ 기반 프로젝트를 c++로 만들어야 하는데 이 과정에서도 오류가 정말 많이 발생해서 골치가 아팠다. ㆍ프로젝트가 안만들어진다면 우선 Visual Studio 2022버전을 다운받아줘야 한다. ※ 출처 :https://docs.unrealengine.com/5.1/ko/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/ ㆍ 위 사진과 같이 필요한 것들을 체크해줘서 2022버전을 설치해 주자 ㆍ 또한 프로젝트를 만드는 경로에 "절대" 한글경로가 들어가..