일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- enumasByue
- BFS
- unorder_map
- 정렬알고리즘
- UE_LOG
- 델리게이트
- 애셋로드
- 언리얼가비지컬렉터
- UML관련
- 정렬
- 크리티컬섹션
- 람다
- 알고리즘
- 데이터애셋
- moreeffectiveC++
- C++최적화
- map
- 람다사용정렬
- C++
- 선택정렬
- 구조적 바인딩
- dataasset
- 자료구조
- UE4 커스텀로그
- stl
- 스마트포인터
- 프로그래머스
- 강참조
- UELOG
- 약참조
- Today
- Total
목록UnrealEngine (81)
기억을 위한 기록들
BlueprintImplementableEvent - C++ 바디 구현이 불가능(모든것이 블루프린트에서 발생)(헤더파일에만 작성 된 함수) - 일반적으로 블루프린트에서 오버라이드 - 블루프린트 이벤트 그래프에서 커스텀 이벤트에 가깝다. - 사용 예 : 캐릭터가 아이템을 획득 시 어떤 효과가 발동되는가에 관한 이벤트를 다양하게 만들어줌. BlueprintNativeEvent - BlueprintImplementableEvent와 달리 C++로 함수 바디 구현이 가능 - 블루프린트에서 오버라이드(c++ 그대로 호출 or 새롭게 변경) 가능 - 기본 구현이 C++에 있으므로 블루프린트에서 반드시 구현 하지 않아도 됨. - 선언부 부분에는 상관없지만, 구현부 부분 함수명 뒤에 _Implementation 무조건..
www.youtube.com/watch?v=AfmoNJ84J6k&ab_channel=Hyo www.youtube.com/watch?v=cIJCocOo3fo&ab_channel=Hyo

혼자 뭘 좀 찾아보다가 발견한 C++로 만들어진 액터 컴포넌트를 블루프린트 상에서 호출하기 위한 방법이다. 여기서 내가 만든 UBulletBaseComponent의 UClass(...)안에 해당과 같은 파라미터가 들어있다면, "Bullet Base Component 추가"와 같이 블루프린트에서 노드상으로 동적 호출 추가가 가능하다. 그러나, 아래 BulletBaseComponent를 상속받은 UPlayerBulletComponent 클래스의 파라미터가 이와 같이 비어있다면, 호출이 불가능하다. 그래서 아까 위와 같은 파라미터를 넣어주면, 가능해진다. 이제 파라미터값을 알아본다면 우선 참고는 공식홈페이지를 통해 하였다. docs.unrealengine.com/ko/Programming/UnrealArchi..

게임 프로젝트를 패키징한뒤 개발자의 입맛에 따라 필요한 정보를 게임실행 이외의 파일에 저장이 필요로 할때가 있다. 그게 바로 DLL 파일 (Dynamic Linked Library)이다. 우리가 사용하는 게임이외에 프로그램에도 DLL파일 자체가 없으면 실행 불가능하거나, 문제가 생긴다. 이를 이제 언리얼프로젝트에서 호출하여 사용해보도록 하자. 우선 언리얼 프로젝트를 열기전에 비주얼 스튜디오를 열어 DLL 프로젝트를 생성해준다. 선택되어있는데 프로젝트로 만들어주게 되면 위와같이 기본형태가 나오는데 헤더파일제외는 지워도 무방하다. 그리고 이제 필요로하는 함수를 사용해준다. 난 임시로 숫자 5를 리턴하는 Get5Number 함수와 입력받은 두 수를 더해주는 AddNumber 라는 함수를 만들어 주었다. 그리고..

ConstructorHelpers 이름에서도 알수 있듯이 생성자도우미(?)이다. 방법 1. 방법 2. 난 지금까지 C++에서 에디터의 애셋을 불러 올때, 방법 1만 사용해왔다. 그러던 중 언리얼 기본 샘플 프로젝트 블록 C++에서 방법2을 보고 알아보았다. 역시 공식문서상에 설명이 간단하게 있었다. docs.unrealengine.com/ko/Programming/UnrealArchitecture/Reference/Classes/index.html 게임플레이 클래스 게임플레이 클래스 생성 및 구현을 위한 레퍼런스입니다. docs.unrealengine.com 생성자 스태틱 및 헬퍼 좀 더 복잡한 데이터 유형, 특히나 클래스 레퍼런스, 이름, 애셋 레퍼런스 값을 설정하는 데는, 생성자의 Constructo..
(시간 관련 *월드에는 시간 관리자(TimeManager)가 있는데 접근하면 게임에 필요한 다양한 시간 값들을 얻어 올 수 있다. Tick 함수의 DeltaSeconds 값은 GetWorld()->GetDeltaSeconds() 함수를 사용해 가져 올 수 있다.(Tick 함수가 아닌 곳에서 프레임 시간을 가져오고자 할 때 해당 함수는 유용함. *게임이 시작되고 현재까지 경과 된 시간 : GetWorld()->GetDeltaSeconds() *사용자가 게임을 중지한 시간을 제외한 경과 시간 : GetWorld()->GetUnpausedTimeSeconds() *현실세계의 경과 시간 :GetWorld()->GetRealTimeSeconds() *사용자가 게임을 중지한 시간을 제외한 현실세계의 경과 시간 :G..
Unreal C++ 정리 작명 참고문서 : http://api.unrealengine.com/KOR/Programming/Development/CodingStandard/index.html 코딩 표준 언리얼 엔진 4 코드베이스에 에픽게임스가 사용하는 표준과 규칙입니다. docs.unrealengine.com 코멘트는 소통이고, 소통은 중요합니다. 코멘트에 대해 명심하실 점이 몇 가지 있습니다 (Kernighan & Pike 의 The Practice of Programming 에서): (유형이나 변수 등의) 이름 내 각 단어의 첫 글자는 대문자로 써야 하며, 단어 사이에 보통은 공백을 띄우지 않습니다. Health 와 UPrimitiveComponent 정도를 예로 들 수는 있지만, lastMouseCo..

우선 새로 작성하기에 앞서 기존에 엔진에 있던 애니메이션 그래프를 하나 까보도록 하자. 간단하게 본 하나를 정해준 뒤, 해당 본의 위치/회전/스케일을 조절 할 수 있는 본 트랜스폼(변경)이다. 해당 그래프는 우선먼저 해당 그래프이 실질적인 계산이 일어나는 부분인 AnimNode관련된 파일인 \Engine\Source\Runtime\AnimGraphRuntime\Public\BoneControllers 폴더 안에 AnimNode_ModifyBone.h 을 보자면, 해당 클래스를 간단하게 살펴보면, enum으로 3가지 본 수정모드(?)구분을 해주고 있다. BMM_Ignode /* 이것은 이 채널을 무시한다(기존 골격 변환, 회전 또는 척도를 유지한다). */ BMM_Replace /*이것은 기존 본의 tra..
https://www.youtube.com/watch?v=AOEyyIxid2U&feature=youtu.be&t=649
https://docs.unrealengine.com/ko/Platforms/Mobile/Lighting/HowTo/CascadedShadow/index.html 캐스케이드 섀도 사용법 모바일 게임용 Cascaded Shadow 설정 방법입니다. docs.unrealengine.com 해당 설정을 해주지 않았을 때, 휴대폰기기에서 그림자가 출력되지 않는다. 관련 내용 https://docs.unrealengine.com/ko/Platforms/Mobile/Lighting/index.html 모바일 플랫폼용 라이팅 모바일 게임용 라이팅 셋업하기 입니다. docs.unrealengine.com

지난 글에서는 Foot IK을 하기 위해 사용되는 함수들을 알아보았다. 이제 해당 함수에서 구해낸 값들로 어떤식으로 적용되는지 살펴보자. 우선 SetFootOffsets 함수에서 Foot Offset L Location 이라는 Vector값이 어디서 사용되나 보자. 해당 변수를 레퍼런스 검색을 해보니 애니메이션 그래프 쪽에서 호출되고 있다. Apply Foot + Pelvis Offsets 다리와 골반의 Offsets값들을 적용하는 부분이다. 아래에 Pelvis Offset을 적용하는 그래프가 있고, 위의 그림에서 '본 트랜스폼(변경)'으로 Foot Offset L Rotation과 함께 호출 되고 있다. 해당 그래프의 디테일을 살펴보면, 노란색 화살표로 표시 되어 나오는게 수정 되고 있는 부분들이다. ..

https://www.youtube.com/watch?v=ru1--3wP-F8&feature=youtu.be 이번에 확인 해볼 IK는 이전에 무료로 푼적 있는 프로젝트이다. 해당 프로젝트는 엔진 버전이 올라갈수록 그에 맞게 해당 프로젝트 버전도 올려서 업데이트 하였다. 플레이 해본 결과 가장 깔끔하고 자연스럽게 움직이는 Locomotion을 구현 해놓았다. 그 중에서도 Foot IK부분을 파해쳐 보도록 한다. 우선 이전에 썻던 글과는 다르게 해당 Foot IK 계산과 적용은 모두 Anim Blueprint에서 적용한다. 이전에는 캐릭터에서 계산한 값을 전달하여 적용하였고, 여기서는 Anim Instance에서 계산하여 적용한다. 사실 두 가지 방법 중에 뭐가 정답인지는 없고, 프로젝트 상황에 따라 고민 ..