728x90 반응형 전체 글161 UE5 Lyra)Module/Plugin 보호되어 있는 글 입니다. 2023. 10. 17. UE5 Xgen)게임에서의 헤어 보호되어 있는 글 입니다. 2023. 10. 17. UE Material)Shading Model 보호되어 있는 글 입니다. 2023. 10. 13. UE Material)Blend Mode 보호되어 있는 글 입니다. 2023. 10. 12. UE Material)Material Node유형 보호되어 있는 글 입니다. 2023. 10. 12. Lyra) 페이징과 스와핑 페이징 프로세스에게 메모리를 할당할때 가장 쉬운 방법은 통째로(연속적으로 메모리 할당)해주는 것이다. 이런 방식은 메모리가 연속적이기 때문에 관리도 쉽지만 프로세스의 크기가 커질수록 문제가 생기게 된다. 만약 동적으로 메모리를 할당하게 되면 외부 단편화( External Fragmentation)가 발생하게 된다. 이를 보안하기 위해서 사용하는것이 바로 페이징 기법이다. 페이징의 원리 페이징은 프로세스의 물리적인 주소를 비연속적으로 관리하기 위해 작은 단위로 쪼개며, 이런식의 관리는 외부 단편화를 완화시키며 단편들을 모아 압축시키는 작업을 완화시킬수 있다. 다만, 메모리에 접근해야되기 떄문에 OS와 H/W의 도움이 필요 기법이다. 페이징에서 frame과 page라는 단어가 자주 등장하는데, 각각은 다음과.. UE5/UE5 Lyra_Clone 2023. 10. 10. 알고리즘 문제) 순열 구하기 문제 해결방법 DFS를 이용하여 모든 경우의 수를 구한다. 코드 int N, R,cnt=0; vectorper; vectortemp; vectorcheck; void perDFS(int level) { if (R == temp.size()) { for (int i=0;iR; check.resize(N,false); for (int i=0;i> x; per.push_back(x); } perDFS(0); cout 알고리즘 문제 2023. 7. 5. 알고리즘문제) 휴가(SW역량평가 기출) 문제 해결방법: DFS를 이용하여 가장 높은 수익을 찾는다. 코드 vectorvacation; int day, T, P,_max=0,_minn=-1000; void vacationDFS(int days) { if (days == day+1) { _minn=max(_minn,_max); return ; } else { int able =days+vacation[days].first; if (able > day; vacation.push_back(make_pair(0, 0)); for (int i = 0; i > T >> P; vacation.push_back(make_pair(T,P)); } vacationDFS(1); cout 알고리즘 문제 2023. 7. 5. 알고리즘 문제)2292번 벌집 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 예제 입력 1 13 예제 출력 1 3 풀이 5개의 육각형의 각 육각형의 시작점 1,2,8,20,38이며 이는 6n의 차이를 가지는 계차수.. 알고리즘 문제 2023. 7. 3. UE5기초)마우스 클릭 이동 ※이전 포스팅에서는 Input관련함수들을 캐릭터에 구현했지만 Unreal에서는 Input관련 함수들은 Controller에 구현하는 것이 권장된다. 마우스 클릭이동 블루프린트 먼저 Picking을 이용하여 IMC에서 인풋을 바꾼 다음 Controller에서 인풋을 설정해준다. 마우스 클릭이동 C++ 먼저 IMC의 Subsystem을 설정한후 { Super::BeginPlay(); auto* Subsystem = ULocalPlayer::GetSubsystem(GetLocalPlayer()); if (Subsystem) { Subsystem->AddMappingContext(InputMappingContext, 0); } } 바인딩해준다. { Super::SetupInputComponent(); UEnha.. UE5/UE5 기초 2023. 6. 13. UE5기초)Enhanced input Enhanced input Enhanced input은 Unreal 5.1에서 새로 추가된 개념이다. 그렇다면 이전 버전까지 쓰고 있던 바인딩 input은 왜 사용하지 않게 된것인가? 그 이유는 인풋이 겹치게 되면 생기는 문제점에 있다. 예를 들자면 평상시의 E버튼과 무언가를 타고 있을때의 E버튼이 다르게 작동한다고 가정했을때 바인딩된 인풋은 키가 고정되어 있기 때문에 이를 처리하기 위해서는 항상 플레이어의 상태를 확인하고 그에 맞는 처리를 했어야됐다. 또한 버튼을 살짝 눌렀거나 하는 부분을 프로그래머가 예외처리로 체크해야하는 번거로움도 존재하였다. 이러한 문제점들을 보안한 것이 Enhanced input이다. Input Action Input Action은 행동을 정의하는 단계이다. bool:0,1만의.. UE5/UE5 기초 2023. 6. 13. DX) 6. Tessellation TessellationTessellation은 예전부터 존재하던 개념이지만 CPU/GPU의 요구사항이 너무 높았기 때문에 사용되지 못했지만 점차 개개인의 컴퓨터 성능이 올라가면서 DX11에서 정식 채택이 된것이다. 테셀레이션의 역할은 폴리곤의 면적을 잘게 쪼개어 더 많은 버텍스를 갖게 해주는 것이다. 이러한 역할은 Terrain을 만들때나 Displacement map과 사용하는 데에 진가를 발휘한다. Terrain에서 Tessellation을 유용하게 사용할수 있는 부분은 LOD(Level of Detail)이다. LOD는 거리에 따라 디테일을 변경하는 기술이며 이로 인한 랜더링 비용의 절약을 목적으로 이용된다. Tessellation의 구조Tessellation은 VS단계 다음에 위치하는 Hull/.. 게임엔진/DirectX 2023. 6. 1. 이전 1 2 3 4 5 6 7 ··· 14 다음 728x90 반응형