| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- build.cs
- Unreal
- 폭설 #미친 날씨
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- C++
- 언리얼
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- Harvard
- 메테리얼
- 헤더 경로
- CS50
- Gas
- 툰쉐이딩
- 브론즈
- Toon Shading
- CS
- 코드리뷰
- Console
- topdownmove
- Module
- 순환 리스트
- leetcode
- c++ 베이직
- UE_5
- A* Algorithm
- 네트워크 기초
- Today
- Total
목록Unreal (6)
WN_인생기록
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/TSet/ TSetTSet, 세트는 보통 순서가 중요치 않은 상황에서 고유 엘리먼트를 저장하는 데 사용되는 고속 컨테이너 클래스입니다.docs.unrealengine.com Set은 중복없는 데이터를 담을 때 주로 많이 쓰이는데 Unreal 에서는 해시 테이블 형태로 키, 데이터로 구축되어 있고(Dynamic Array 에서 배열이 중간중간 비어있다고(해시 테이블이라서) 생각하면 됨) C++ STL set은 이진 트리로 구성되어 있음. 구조가 다름. TSet은 독립된 키로 데이터값을 연결하는게 아니라 데이터 값 자체를 키로 사..
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/TArrays/ TArray: 언리얼 엔진의 배열 docs.unrealengine.com Dynamic Array인 자료구조이며, c++ STL의 vector와 유사함. 중간에 데이터를 추가하는것만 아니면, 탐색이 빠른 자료구조. 데이터가 커지면 탐색이 느려지긴 함. 함수 기능 Emplace 를 통해서 배열 끝에 삽입 가능. AddUnique 는 기존 컨테이너에 원소가 존재하지 않는 경우에만 추가StrArr.AddUnique(TEXT("!"));// StrArr == ["Hello","World","of","Tomorrow..
데이터 타입의 모호함은 게임 개발할때 문제를 일으키기 때문에 기본 타입을 제대로 구분하고 사용하는게 중요함. 단일 컴퓨터에서 최대 퍼포먼스를 뽑아내야하고 네트워크 데이터 통신이 효율적이고 안정적이어야 하는데, 데이터 정보가 불확실하면 성능 저하나 에러를 발생시킴 그래서 언리얼은 int 안쓰고 int 64 혹은 32 사용함 bool 사용하는 대신에 uint8 에 Bit Field 오퍼레이터를 쓰면 좀 더 데이터 양을 최소화 시킬 수 있다. 극한으로 데이터를 줄이려고 할때 쓰면 될듯 하다. UPROPERTY() uint8 bNetTemporary:1; uint8 bNetStartup:1; false는 0으로 하고 true는 1로 하면 된다. 언리얼 엔진은 TCHAR 정렬 형태로 UTF-16을 기본으로 하고 ..
https://www.youtube.com/watch?v=GuIav71867E&t=2173s 16.66 -> 60 프레임 33.330> 30 프레임 각자가 가지고 있는 예산이라고 생각하면 됨. 콘솔은 거의 모든 자원을 활용할 수 있지만, PC의 경우는 기본적인 하드웨이 자동 감지를 통해서 자동으로 기본을 잡는게 좋다. 그리고 모바일은 열때문에 더욱 더 조절해야 한다. 너무 초반부터 최적화를 생각하는건 별로다. 하지만 만들때 고려는 해라. 가장 좋은 시기는 -> 프레임 예산이 넘칠때 하는게 가장 좋다고 함.(모바일은 제외) 언리얼 인사이트 활용법에 관한 강의였다. gc.CollectGarbageEveryFrame 1 를 통해서 메모리 릭이 나오는 구간을 가정해볼 수 있다. A~B로 범위 잡아놓고 메모리 릭..
Outline은 렌더링 되는 Depth와 관련이 깊다. 일단 Outline의 생성 원리는 먼저 해당하는 픽셀의 주변의 절대값(depth) 값들을 곱해서 그 값이 클때 아웃라인으로 판별하여 그려주는 것이다. 이를 Depth Edge Detection 을 한다고 말하는데. 이때 문제가 생기는 것이 비슷한 두 물체가 겹쳐있을 때 발생하는 문제이다. 그래서 Normal Edge Detection 이라는 걸 더해줘서 해당 경계에도 아웃 라인이 그려지도록 구현할 예정이다. Depth Edge Detection + Normal Edge Detection = 아웃라인 설정 인 셈이다. 이걸 메테리얼로 표현해보자. 먼저 텍스쳐에서 포스트 프로세싱 메테리얼을 생성하고, material domain은 포스트프로세스로, bl..
1. 카툰 렌더링은 일단 라이트 버퍼를 따로 추출해야 함 2. 원래 Gbuffer에 있는 RGB 색깔을 곱한 값을 Emissive Color의 결과값에 대입한다. 여기부터 다시 시작해야하지만 좀더 심화적인 이해를 위해서 처음 단계부터 다시 시작해 보자 처음에, 메테리얼을 제작하고, 포스트 프로세스라고 설정한 뒤에. Scenetexture의 postprocessinput의 컬러를 설정한다. Desaturation ( 채도 감소 )을 통해서 채도를 낮추고, saturate( 값을 0과 1 사이로 제한하는 기능 ) 를 통해서 component Mask(특정 색상 채널 추출)에서 R 값만 추출해준다. 이를 바로 적용하면, 화면이 흑백으로 바뀌게 된다. 여기서 툰쉐이딩의 핵심인, 빛과 그림자의 전환 영역을 단순하..