일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 선택정렬
- 람다사용정렬
- 델리게이트
- stl
- 애셋로드
- C++
- 강참조
- map
- C++최적화
- unorder_map
- 언리얼엔진구조체
- UE4 커스텀로그
- 자료구조
- dataasset
- UE_LOG
- 데이터애셋
- 스마트포인터
- 람다
- 알고리즘
- UML관련
- UELOG
- 약참조
- 크리티컬섹션
- 정렬알고리즘
- 프로그래머스
- enumasByue
- moreeffectiveC++
- 정렬
- 언리얼가비지컬렉터
- BFS
- Today
- Total
목록Note (423)
기억을 위한 기록들
우선 새로 작성하기에 앞서 기존에 엔진에 있던 애니메이션 그래프를 하나 까보도록 하자. 간단하게 본 하나를 정해준 뒤, 해당 본의 위치/회전/스케일을 조절 할 수 있는 본 트랜스폼(변경)이다. 해당 그래프는 우선먼저 해당 그래프이 실질적인 계산이 일어나는 부분인 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에서 계산하여 적용한다. 사실 두 가지 방법 중에 뭐가 정답인지는 없고, 프로젝트 상황에 따라 고민 ..
애니메이션 블루프린트에는 다양한 애니메이션 그래프들이 있다. 원하는 기능을 작동하는 애니메이션 그래프를 만들어보자 AnimGraphNode_Base 클래스를 상속받아 생성해준다. 만들어주게 되면 별 다른 내용은 없다. 우선 추가해줘야 할게 있는데 이 부분은 별도로 만들어서 #include 해줘도 된다. 여기서는 보기 편하게 같은 파일 안에 넣어주겠다. 그것은 바로, FAnimNode_Base 구조체를 상속받는 구조체이다. 간단히 설명하자면, FRunAnimNode는 애니메이션 그래프에서 해당 로직이 실행될 때, 실질적으로 연산되는 부분들이다. AnimGraphNode_Base는 그것들이 애니메이션 블루프린트에서 화면에 표시되도록 도와주는 역할이다. 우선, FRunAnimNode이라는 이름으로 만든 구조체..
- EffectorLocation 을 지정해주는 왼발 오른발 각각 함수 1개씩. - Alpha값을 정해주는 마찬가지로 왼발오른발 각각 함수 1개씩. - 왼발/오른발 관련 변수 각각3개 (EffectorLocatiom/JointTarget/FootAlpah)씩 3개 변수는 애니메이션 그래프에서 사용 된다. AnimInstance CPP 부분 크게 복잡한거 없다. 다만 생성자 부분 JointTarget 변수에 각각 지정된 Vector값을 넣어준다. 그리고 EffectorLocation 에는 새로 들어오는 값, 캐릭터 클래스에서 넣어주는 값으로 초기화해준다. Alpha 값도 마찬가지 캐릭터 클래스 Tick 함수 중 넣어주는것을 확인할 수 있다. 이제 애니메이션 그래프를 확인해보자 위에서 설정 해준, Effec..
https://www.youtube.com/watch?v=jJNXhmMyk-U 우선 글쓰기에 앞서 해당 영상을 학습하며, 작성한 글입니다. (해당 영상을 보면 진행 순서가 나옵니다. 해당 영상을 다 본 후에 작성하는 글입니다.) 우선 기본적으로 기존 3인칭 캐릭터 클래스와 애님인스턴스 클래스를 추가해준다. 캐릭터 클래스 부분 헤더파일 : 6개의 변수를 추가 해주었다. 왼발/오른발 BoneName을 가져오는 변수 2개, - LeftFootBoneName/RightFootBoneName 왼발/오른발 각각 본의 실제 위치를 갖고 있는 변수 , - LeftFootBoneRelativeLocation/RightFootBoneRelativeLocation 캐릭터 클래스의 상속 되어 있는 캐릭터 메시를 조정해주기 위..
UE4에서의 Lerp(float형) 해당 식은 간단하다. 예를들어 3에서 시작하여 18에 끝나는 숫자가 있다고 치자 (A=3,B=18) 우선 B-A를 하면 해당 함수식으로 가면 18(B)에서 3(A)을 빼면 15가 나온다. 그리고 찾을 지점의 퍼센트로 구한다고 가정 하고 70%를 구한다고 하면, 0.7로 바꿔주고(식에서의 V값) 15 X 0.7 =10.5(위에서의 V*(B-A))가 되고 시작지점(3, 즉 A)을 더 해주면(V*(B-A)+A) 13.5가 된다 즉, 위의 선의 70퍼센트 지점의 값은 13.5가 된다. 이런식으로 해당 선형보간은 A에서 B 두개의 값에서 A를 B로 보간한다는것은 두개의 값 사이에 위치한 값을 알려진 값(Alpha)으로 추정하는 것을 의미한다. float 외에도 ue4에는 vec..
https://www.youtube.com/watch?v=Jz8Sx1XYb04
예전에 언리얼에서 무료로 푼 프로젝트에 굉장히 잘 구현되어있는 프로젝트를 까보면서, 분석하는 중에 offset이라는 단어가 변수명 함수명에 굉장히 많이 포함되어 있었고, 뜻을 알아보고자 한다. 일단 단순하게 뜻은 "상쇄하다" "벌충하다" "차감을 계산한다" "편차" 등 다양한 뜻을 가지고 있으며, 해당 offset이라는 단어는 분야(전기,전자공학,의료,수학에서의 함수,인쇄 등)에 따라 살짝식 다르게 설명되어 있는 것 같다. 위키에서 설명하고 있는 컴퓨터에서의 오프셋은 https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%84%EC%85%8B_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99) 오프셋 (컴퓨터 과학) - 위키백과, 우리 모두의..