본문 바로가기

개인 성장 일지13

언리얼 엔진의 스레드(Thread) 모델 언리얼엔진은 멀티코어 환경의 최적화를 위해서 게임 스레드 렌더링 스레드 RHI 스레드 로 나누어서 병렬로 처리하도록 하고 있다. RHI 스레드는 렌더링 커맨드 해석을 병렬로 처리하기 위한 목적으로 플랫폼마다 없는 경우도 있다. 프레임의 처리 방식 한 개의 프레임을 처리하기 위해서는 게임 스레드에서 게임 로직을 처리한다. 게임 스레드에서 발생된 드로우콜을 렌더링 스레드로 보낸다. 렌더링 스레드에서 이것을 렌더링 커맨드로 만들어 그래픽 카드로 보낸다. 보통 게임 스레드의 작업을 마친 후에, 프레임이 렌더링 될 때까지 기다리게 되면 사이에 일부 코어가 쉬는 공간이 생기게 된다. 그래서 멀티 스레드의 효율성이 떨어지게 되는데, 언리얼 엔진의 경우에는 게임 스레드가 해당 프레임에 대한 연산을 끝낸 후에, 렌더링 .. 2023. 11. 7.
멀티 게임에서 세계관을 풀어내는 방식이 게임과 직결될 필요는 없다. [ 게임 분석 : 스토리 ] 멀티 대전 게임의 스토리 전개 방식에 대해 다루어보고자 한다. 여기서 멀티 대전 게임에 스토리 전개 분석에 대한 조건은 아래와 같이 명시한다. 각 캐릭터, 또는 세계관에 대한 서사적인 스토리가 존재한다. 게임 명목 상, 아군과 적군이 나뉘어 게임을 진행한다. [ 협동 대전 ] 아군과 적군 둘 다 동일한 승리 목표를 가지고 게임을 한다. 공격과 방어 개념의 게임 모드인 경우 논외. 아군과 적군 둘 다 게임 모드에 상관 없이 모든 캐릭터를 선택할 수 있는 권리가 있다. 팀 간 캐릭터 중복 선택에 대한 금지는 논외. 공격과 방어 개념의 게임 모드에서 공격 캐릭터와, 방어 캐릭터가 나뉘어지지 않고, 모두 동일한 캐릭터를 선택할 수 있는 경우. 스토리 상 적군인 캐릭터들 또한 같은 팀원끼리 선택할 수 있는 경우... 2023. 11. 2.
언리얼엔진 : 콜리전 설정하는 법 콜리전(Collision)이란 번역하면 '충돌'이란 뜻이다. 말 그대로, 특정 물체와 충돌되지 못하도록, 콜리전을 세팅을 해줘야 특정 물체가 충돌되지 못하도록 설정할 수 있다. 우리가 길을 지나가는데, 갑자기 바닥으로 꺼진다거나, 못 지나게 의도한 벽을 뚫고 지나가게 되는 경우를 생각해 보자. 그런 경우를 방지하기 위하여, 콜리전 세팅을 해줘야 하는 것이다. 언리얼엔진의 스태틱메쉬를 하나 열어서 'Show'→'Simple Collision'을 선택해 보자. 그러면, 대체로 프랍을 임포트 시키면 콜리전 설정이 되어 있지 않을 것이다.. 콜리전은 자동, 또는 수동으로 다양한 방법으로 설정할 수 있다. 자동으로 콜리전 설정하기. 이 방법의 경우에는, 정밀도가 직접 하는 것에 비해서는 떨어지는 반면, '자동'으.. 2023. 10. 30.
언리얼 엔진 : 텍스처 최적화 언리얼 엔진에서 텍스처가 어떻게 사용되는 지 보는 방법툴 → 검사 → 통계 를 연다.열어서 '텍스처 통계'를 선택하여 확인할 수 있다. 여기서 다양한 정보를 파악할 수 있다. 상단의 정보들을 클릭하여 오름차순과 내림차순을 토글할 수 있다.씬에 있는 텍스처의 최대 치수와 현재 치수현재 메모리완전 로드된 메모리텍스처가 사용된 횟수다양한 정보들이 있는데, 최적화하는 방법은 여러 개가 있다. 씬에서 사용하는 텍스처의 개수를 줄이거나, 텍스처의 크기를 줄이는 방법이 있다.텍스처 크기를 줄이는 법더 높은 해상도의 텍스처를 샘플링하면 GPU 비용이 높아진다. 화면에서 우리 눈에 잘 안보이는 것들도 있을 거고, 엄청 많이 보이는 것도 있을 텐데, 모든 오브젝트의 해상도가 전부 높을 필요는 없을 것이다. 그러니, 텍스처.. 2023. 10. 23.
언리얼 엔진 : 흐리게 보이는 텍스처 해결 방법 씬에서 텍스처가 흐리게 보이는 문제 씬에 흐리게 보이는 텍스처가 있다면, 레벨 에디터에서 좌측 상단 위에 표시된 이 경고가 원인일 가능성이 높다. 언리얼 엔진에서 왼쪽 상단에 이런 표시가 뜨는 경우가 있는데, 텍스처 스트리밍 풀이 예산을 초과했기 때문이다. 아래는 이 Texture Streaming Pool에 대해 설명하는 내용이다. 상황에 대한 이해를 제외하고, 문제만 빨리 해결하고 싶다면 창 → 출력 로그를 열어 명령창에 'r.Streaming.Poolsize 1000'을 입력하여 적용시키면 된다. 그래도 해결이 안된다면 뒤의 숫자를 더 높여서 한다. 텍스처 스트리밍 풀 : Texture Streaming Pool 텍스처 스트리밍 풀은 비디오 메모리의 용량 중 스트리밍 텍스처를 표시하는 데 사용할 수.. 2023. 10. 23.
시스템기획이란 무엇일까. 기획에는 정답이 없다는 것을 미리 깔고.. 이런 생각을 하는 사람도 있구나~ 하고 웃어 넘겨주셔도 감사하겠습니다 하하. 벌써 군대도 갔다 오고, 대학교 생활을 2019년부터 했으니.. 정말 오래됐다. 근데 잘하는 게 뭐지ㅎㅎ... 일단 기획은 크게 '컨텐츠', '시스템', '밸런스' 로 나누어진 걸로 알고 있었고, 각자 하는 일이 컨텐츠 : 게임의 스토리, 서사, 세계관, 시놉시스 등. 게임에 더 몰입할 수 있는 환경을 제공해 주는 작업. 시스템 : 게임이 실질적으로 돌아가는 구조에 대해서 설계하는 작업. 밸런스 : 게임이 플레이되는 동안, 균형을 잡아주는 작업. 이렇게 크게 분류가 되는 것으로 보였다. 그래서 아마 지금도 졸업작품을 하는 동안에도 원하는 기능이 있다면, 그에 맞춰서 기획서를 만들고 만들.. 2023. 10. 13.