분류 전체보기 33

[Graphics] MVP(Model View Projection Matrix)

오늘 다루어볼 주제는 (Model View Projection Matrix) 줄여서 MVP에 대해서 알아보려고 합니다.이 주제를 시작하게 된 계기는 많은 프로젝트를 진행하며, Unity Engine을 활용하여 오브젝트들을 화면에 렌더링을 진행하며, MVP에 대해 정확히 이해하지 못하고, 설명하지 못하는 나를 보며 이 내용에 대해 한번 정리를 해봐야겠다고 생각이 들어 시작하게 되었습니다. 각 부분별 나눠서 정리를 해보겠습니다.  Model MatrixModel 이란, 2D 화면에 렌더링 되어 표시될 Object(피사체, 객체)라고 정리할 수 있습니다. 즉 화면에 나타내고자 하는 객체입니다. 아래의 예시에서는 직육면체 큐브라고 생각하면 됩니다. 이 모델은 고유의 Matrix(행렬) 값을 가지고 있습니다. V..

Graphics 2025.03.31

[Graphics] vertex, face, normal란 무엇인가?

오늘 다루어볼 주제는 Graphics에서 3D 오브젝트의 각 요소들에 대해서 다루어 보겠습니다.이 주제를 선정하게된 계기타 부서 사람들과 협업을 해보면서 Graphic을 잘 모르는 사람들에게 vertex, face, normal를 설명할 수있는가? 라는 질문을 스스로에게 해보았을 때 머리로는 이해하지만, 설명할 수없는 것은 아직 지식이 부족하다라는 것이라고 이해하고 한번 정리해보고자 시작하게 되었습니다. Vertex, line, Mesh, face, normal 뿐만아니라 MVP : Model, View, Projection Matrix의 내용까지 한번 이어서 정리해보겠습니다. Vertex3D 상에서 오브젝트의 가장 기본이 되는 단위 : 정점, 점위치, 색상, 법선 등 다양한 정보를 가지고 있음. 여기서..

Graphics 2025.03.18

Unity Git hub Acitons - 4 (Game-ci/unity-builder)

2025.03.01 - [Unity] - Unity Git hub Acitons - 3 (Unity 연동) Unity Git hub Acitons - 3 (Unity 연동)[Git hub Action Workflow 작성] 이전 글들에서 Git hub Actions의 구성요소 및 키워드들에 대해서 알아보았고, 간단한 예제의 Workflow를 작성해 보았습니다. 이번 글에서는 Workflow를 통해 Unity 빌드를 자동화develophyun.tistory.com 이전 게시글에서 Unity를 빌드하고 이를 artifact에 업로드하는 것까지 알아보았는데요. 작업을 하면서 Game-ci/unity-builder를 잘 모르고 사용하는 것 같아 이를 정리하고 넘어가려고 합니다. Game-ci/unity-buil..

Unity 2025.03.13

Unity Git hub Acitons - 3 (Unity 연동)

[Git hub Action Workflow 작성] 이전 글들에서 Git hub Actions의 구성요소 및 키워드들에 대해서 알아보았고, 간단한 예제의 Workflow를 작성해 보았습니다. 이번 글에서는 Workflow를 통해 Unity 빌드를 자동화하는 작업을 진행해 보겠습니다. Unity를 기존에 빌드하기 위해서는 Unity Editor에 Login 및 라이선스를 할당해주어야 합니다. Github Action으로 빌드를 진행할 때도 마찬가지로, 로그인 및 라이선스 정보가 필요합니다. 하지만 이런 개인정보 및 공개되지 않아야 되는 정보는 Github의 Secrets에 기입하여 숨겨둔 상태로 사용합니다. 그리하여, Github Secrets을 등록을 진행해 줍니다. 등록 Secrets Settings ..

Unity 2025.03.01

Unity Git hub Acitons - 2 (Workflow 작성)

오늘 시간에는 간단하게 workflow를 작성해 보고 이를 실행하는 과정까지 진행해 보겠습니다.아래의 문서를 참고하여 workflow를 작성해 보겠습니다.Workflow작성Github Actions 사용 시 유의사항Github Enterprise 계정이 아니라면 private 저장소는 Actions이 불가능하다.Unity를 연동하게 되면 email, password, lisense에 대한 정보 입력이 필요하다.workflow작성은 yml 파일 형태로 작성하게 된다.GitHubActions Workflow CreateActions Tab을 클릭하여 Actions 페이지로 이동합니다.New workflow -> workflow 생성set up a workflow your self 버튼을 클릭하여 직접 wor..

Unity 2025.02.25

Unity Git hub Actions - 1 (개념 정리)

Events시작하게 된 계기여러 프로젝트들을 진행하면서, github를 통해 소스를 관리하고 개발하면서, 나의 PC에서 빌드 작업을 진행함에 있어 그 시간 동안 별도의 작업을 하지 못하는 일이 빈번하고, 빌드 시간도 많이 소요되어 이를 해결할 수 있는 방법이 있을까?라는 생각에서 시작하게 되었습니다.자연스럽게 CI/CD라는 것에 접하게 되었고 이는 무엇인지에 대해 고민하게 되었습니다. CI (Continous Integration) : 지속적인 통합개발자들의 변경한 기능 혹은 소스코드의 지속적인 통합 -> 팀 단위에서 각자 맡은 부분에 대한 작업물을 공유 저장소에 통합하는 과정CD (Continous Deployment) : 지속적인 배포위에서 변경된 사항들에 대한 테스트 및 제품 배포를 지속적으로 확인..

Unity 2025.02.25

Addressable Asset (6) - Download Progress 처리

이번 게시글에서는 Addressable Asset의 bundle pack을 다운로드할 때 현재 다운로드 상태를 나타내는 Progress를 작업해 보겠습니다. Unity 공식 AsyncOperationHandle Asynchronous operation handles | Addressables | 1.21.21Asynchronous operation handles Many tasks in the Addressables need to load or download information before they can return a result. To avoid blocking program execution, Addressables implements such tasks as asynchronous opera..

Unity 2025.02.16

Unity Addressable Asset (5)

이번 게시글에서는 Addressable Asset을 활용하여 Runtime에 Resource를 다운로드하는 것을 해보겠습니다. 종종 게임들을 보다보면 실제 설치 파일의 용량은 상대적으로 적은데 앱을 실행하다 보면 리소스를 다운로드할지 확인을 하며 다운로드하는 앱을 실행하고 다운로드하는 경우가 있습니다. 오늘은 이것에 대해 알아보겠습니다.Check Lists1. 변경된 리소스 파일이 있는지 확인합니다.2. 변경된 리소스 파일이 있으면 Dependency를 다운로드 합니다.3. 여기서 Dependency란 무엇일까요?4. Dependency를 다운로드한 이후에 Addressable.Load 하여 Resource를 사용합니다. 1. 변경된 리소스 파일이 있는지 확인. (GetDownloadSizeAsync)A..

Unity 2025.02.13

C# 델리게이트(Delegate) in Unity

오늘 시간에는 Delegate에 대해 알아보겠습니다.먼저 Delegate가 무엇인지에 대해 이해해야 되는데요 아래와 같습니다. Delegate란 번역해보면 대리자라는 의미입니다. Unity에서는 함수 포인터라는 개념으로도 많이 사용됩니다. 메서드 자체를 인자로 넘겨주어 전달받은 곳에서 대리로 해당 메서드를 실행할 수 있습니다. C#에서 delegate 기본형식은 아래와 같습니다delegate 반환형 델리게이트명(인자);delegate int Add(int parameter1, int parameter2);이미지를 확인해 보면 delegate를 이용하여 Sum 함수를 호출한 것과, 단순호출한 것에 결과의 차이가 없음을 알 수 있습니다. 그렇다면 왜 delegate를 사용하는 것일까요?  Delegate의 ..

Unity 2025.01.29

Unity Runtime Memory 관리 - 1

이번 게시글에서는 Unity의 Memory 관리에 대해서 조금 알아보려고 합니다. 주제를 정하게 된 배경이 주제를 정하게 된 배경에 대해 적어보자면, 최근까지는 메모리를 별로 신경 쓰지 않고 개발을 많이 하고는 했습니다. 하지만 여러 프로젝트를 경험하며, 사용한 Texture, Audio, Mesh, Video 등 다양한 Resource에 대한 최적화를 해두지 않으면 적은 메모리를 가지고 있는 디바이스에서 앱이 구동되지 않을 수 있다는 사실을 알게 되었습니다. 텍스쳐 하나하나, 오디오 하나하나가 많은 영향을 준다는 것을 알고 이 주제에 대해 한번 알아보고자 시작하게 되었습니다.  Unity에서 메모리란?게임 실행에 필요한 데이터를 저장하거나, 처리하기 위해 사용하는 컴퓨터 메모리, 이 메모리 안에는 위에..

Unity 2025.01.12