본문 바로가기

IT78

Metal 스터디 1주차 (22.12.09) Notion Link Introduction Metal이란? 간단히 말해서, Metal은 GPU로 데이터를 전송하고 GPU 명령을 스케줄링하는 일을 하는 Swift, Objective-C API이다. 많은 스레드에서 병렬로 실행하기 위해 큰 작업을 분할할 수 있는 경우, CPU로 더 적은 수의 스레드에서 처리하도록 하는 것보다 GPU에 배치하는 것이 가장 좋다. Metal을 사용하면 작은 프로세스들을 보내서 GPU에서 병렬로 실행하고 하드웨어와 직접 통신할 수 있다. Metal은 기기 화면에 표시되는 모든 것을 뒷받침한다. 대부분의 Apple Visual framework(Core Animation, SpriteKit, SceneKit 등)는 Metal을 기반으로 구축된다. Metal은 Apple 기기에.. 2022. 12. 13.
Rendering Pipeline Rendering Pipeline이란? Rendering : 2차원의 화상에 광원·위치·색상 등 외부의 정보를 고려하여 사실감을 불어넣어, 3차원 화상을 만드는 과정을 뜻하는 컴퓨터그래픽스 용어 [두산백과] Pipeline : 생산 라인 등과 같이 여러 공정별로 생산 라인이 나열되어 있고 동시에 공정별 프로세서가 가능하게 하는 것. [컴퓨터인터넷IT용어대사전] 즉, 렌더링 파이프라인이란 3차원으로 만들어진 모델을 2차원에 투영하는 렌더링 공정을 자세하게 표현한 것이라고 볼 수 있다. 렌더링 과정은 간단하게 요약하면 다음과 같다. (렌더링 API 마다 구체적인 과정은 다르지만) 점(vertices)을 3개 받아온다 → 점의 위치를 그린다 (화면 밖의 점은 그리지 않음) → fragment를 찾아낸다 (Ra.. 2022. 11. 12.
BlendMode Color Blending이란? 말 그대로 색상 혼합을 의미한다. 이를테면 위의 Slack 로고에는 몇 가지 색상이 있을까? 정답은 총 8가지이다. 기본 색상 4개가 있고, 겹치는 곳에 새로운 색상이 만들어진다. 이처럼 겹치는 색상을 교차하여 Color를 Blend 시키는 것을 의미한다. 그럼 BlendMode는 뭘까? BlendMode 란? 블렌드 모드 (또는 믹싱 모드)는 디지털 이미지 편집에서 두 개의 서로 다른 레이어가 혼합되는 방식을 결정한다. 대부분의 응용 프로그램에서 기본 블렌드 모드는 낮은 레이어를 높은 레이어로 가려서 단순히 가장 위에 있는 레이어를 보여준다. 그러나 각 픽셀은 수학적으로 표현되기 때문에, 두 개의 레이어를 다양한 방법으로 표현할 수 있다. 응용 프로그램(이를테면 포토샵).. 2022. 11. 5.
게임 제작을 위한 시작해요 언리얼 4주차 4주차 물리 엔진을 활용한 다양한 장치 제작 텔레포트 장치 만들기 게임을 개발하다보면 사람이 하는 일이다보니 액터를 무조건 지정해야함에도 깜빡하고 액터를 지정하지 않는 일이 발생한다. 이런 실수들이 일어나게 되면 액터들이 적은 상태에선 금방 파악이 가능하지만 정말 많아지게 되면 탐지하기가 어려워진다. 실수를 미연에 방지하기 위해 방어 스크립트 코드를 심어두는 것이 좋다. 출력판에서 드래그 후 블루프린트 노드 검색 is Valid ⇒ 해당 속성이 유효한지 체크 Print String ⇒ 게임 상에 로그가 표시되도록 함 SetGamePaused ⇒ 게임을 멈추는 명령어 텔레포트(Teleport) ⇒ 텔레포트 기능 구현 (타깃 지정) Get Actor Transform ⇒ 위치, 회전, 크기. Transfor.. 2022. 10. 30.
SCM (Software Configuration Management) SCM만 들었을 때는 용어가 낯설다고 생각이 들었는데, 한국어 번역이 형상관리라는 걸 듣고 아 git~ 라고 넘어갔던 기억이 있다. 게임회사에서 일하면서 처음으로 Perforce라는 형상관리 시스템을 써보고 있는데, 형상관리란 무엇인지, 형상관리 시스템에는 어떤 것들이 있는 지에 대해 알아보자. 💡 소프트웨어 구성 관리(Software Configuration Management) 또는 형상 관리는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다. 일반적으로 형상 항목(Configuration Item)이라는 형태로 작업 산출물을 선정하고, 형상 항목 간의 변경 사항 추적.. 2022. 10. 26.
CI/CD CI (Continuous Intergration) / CD (Continuous Deployment) CI/CD라는 말을 들어봤는가? 사실상 큰 프로젝트를 진행하지 않았다면 조금 낯선 용어일 수도 있다. 그러나 보통 회사에서 프로젝트에 참여하면, CI/CD를 직접 설정하여 꾸준히 진행하는 경우가 많다. CI/CD라는 건 뭘까? 용어를 직역하자면 지속적 통합과, 지속적 배포이다. 말 그대로 커밋된 소스코드를 지속적으로 합치고, 배포하는 과정을 의미하는 것이다. 조금 더 자세히 알아보자. CI란? 빌드/테스트 자동화 과정이다. CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항.. 2022. 10. 6.
게임 제작을 위한 시작해요 언리얼 3주차 3주차 블루프린트를 활용한 움직이는 장치 제작 레벨 불러오기 & 기본 설정 1~2주차 동안 4가지 액터로 구성된 목표지점을 만들어왔었다. 이처럼 스테이지를 만들 때마다 목표지점을 만들기 위해 4가지 액터를 만들고 세팅하는 작업을 반복하게 되면 상당히 번거롭고 관리도 어려워진다. 이런 문제점을 해결하기 위해서 언리얼 엔진은 블루프린트를 제공한다. 블루프린트를 사용하게 되면 단순 반복 기능을 효율적으로 관리할 수 있고, 비주얼 스크립팅(프로그래밍을 잘 모르더라도 노드 기반으로 프로그래밍 할 수 있도록 구성) 기능을 제공하고 있다. 블루프린트 - 소개 다양한 기능을 가지고 있는 액터들을 하나의 액터로 효과적으로 관리할 수 있다. 스스로 움직이는 액터를 스크립팅이라는 시스템으로 프로그래밍을 모르더라도 스스로 알.. 2022. 9. 5.
게임 제작을 위한 시작해요 언리얼 2주차 2주차 레벨 제작을 위한 언리얼 모델링 입문 신규 레벨 구성하기 유연한 레벨 설계를 위해 언리얼 엔진5에서 이번에 새롭게 추가된 모델링 기능을 활용해서 직접 static mesh를 제작해 새로운 점프맵을 만든다. 언리얼 엔진5에서 새롭게 달라진 점 중 하나는 직접 모델링 도구를 지원한다는 점이다. 이 모델링 도구를 활용하게 되면 재밌는 레벨을 손쉽게 제작할 수 있다. 기존에도 빠른 레벨 프로토타이핑을 위해서 geometry라고 불리는 도구를 제공했는데, 이번 모델링 도구는 굉장히 강력한 편이다. 파일 > 새 레벨 > Basic 액터 삭제 : 액터 선택후 Delete 게임을 제작할 때 기본적으로 갖춰야 할 것. 새로운 레벨을 제작하면 가장 먼저 확인해야하는 것은 게임 모드이다. 아웃라이너의 최상단의 레벨을.. 2022. 9. 4.
게임 프로그래밍 패턴 8장 ~ 10장 (22. 05. 24) Chapter8. 이중 버퍼 의도 : 여러 순차 작업의 결과를 한번에 보여준다. 동기 : 본질적으로 컴퓨터는 순차적으로 동작한다. 하지만 사용자 입장에서는 순차적으로 혹은 동시에 진행되는 여러 작업을 한 번에 모아서 봐야할 때(EX. 게임에서의 렌더링 - 유저에게 보여줄 게임 화면)가 있다. 이중 버퍼는 이런 문제를 해결한다. 화면이 그려질 때 깜빡거린다. ⇒ 더블 버퍼링을 사용하지 않아서. progressive : 한번에 한 줄씩 그린다. 모든 라인을 한번에 그린다. interace : 반 씩 그린다 (짝수 / 홀수) (대역폭을 많이 확대하지 못하던 시기에 사용하던 방법) 읽을 메모리와 sync를 맞춘다. 한 곳에만 메모리를 그리다보면 모니터의 읽는 속도와 실제 그리는 속도가 달라서 보여주는 그림이 달.. 2022. 8. 15.
게임 제작을 위한 시작해요 언리얼 1주차 게임 제작의 시작 언리얼 엔진 에디터 소개 - 기본 UI 언리얼 엔진 에디터는 여러 개의 창으로 이루어져 있다. 뷰 포트 언리얼 엔진을 처음 켰을 때 왼쪽에 가장 크게 차지하고 있는 부분. 레벨이라하는 게임 공간을 제작하는 작업 공간. 실제적인 게임 콘텐츠 제작을 담당함. 레벨 우리가 흔히 게임에서 스테이지라고 부르는 것. (게임 제작 용어로 레벨이라고 부른다) 언리얼 엔진에서 레벨은 액터라고 불리는 단위 물체들로 구성되어 있다. 뷰 포트에서 마우스를 클릭해서 레벨에 설치된 액터들을 선택할 수 있다. 선택할 때 마다 오른쪽에 있는 아웃라이너에서 액터 위의 선택 표시가 변경된다. 아웃라이너 뷰 포트 왼쪽에 위치. 레벨과 레벨에 속한 전체적인 액터들의 목록을 관리하는 곳. 디테일 아웃라이너 하단에 위치. 선.. 2022. 8. 14.