본문 바로가기
반응형

유니티 공부/Unity99

Unity - 유니티 수학(+) Model Matrix, View Matrix, Projection Matrix) 파이프라인 공부를 하던 중 Vertex Shading부분에서 많은 행렬들이 나오는데 더 자세한 이해를 필요로 하는 것 같아 게시글을 작성하게 되었습니다 :) 현실 세계의 공간 vs 수학의 공간우리가 사는 현실 세계와 게임이 모방한 가상 세계는 모두 일정한 규칙과 질서에 따라 움직인다. 이러한 규칙을 설명하기 위해 수학적 개념이 사용되며, 그 중 중요한 것이 바로 벡터와 벡터 공간이다. 벡터 공간이란?벡터들의 집합으로, 벡터들이 특정 규칙에 따라 더해지거나 스칼라에 의해 곱해질 수 있는 공간을 말한다. 벡터 공간의 구성 요소가 벡터들이다. 벡터 공간을 이해하는 것은 벡터를 제대로 이해하는데 필수적이며 이는 나아가 행렬을 이해하는데도 중요하다. 벡터 공간에서의 벡터 조합벡터 공간 내에서 벡터들을 조합하는 방.. 2024. 6. 1.
Unity - SRP(Scriptable Render Pipelines) + Pipelines(Batching,DrawCall,Post Processing, Upscale Sampling) SRP(Scriptable Render Pipelines)2018년부터 유니티에서 제공하기 시작한 Scriptable Render Pipeline(SRP)은 C# 스크립트를 통해 유니티의 렌더링을 구성하고 제어할 수 있는 기능이다.왜 빌트인 렌더링 파이프라인말고 SRP가 필요할까?Rendering Pipeline을 직접 구성한다는 것은 그만큼 많은 선택권을 가진다는 의미이다. 이는 개발자들이 직접 렌더링 파이프라인을 커스터마이징 할 수 있어, 게임의 렌더링 방식과 리소스 사용을 더욱 효과적으로 제어할 수 있다. 문제 발생!이게 무조건 좋은 점만 있는 것이 아니다. 많은 선택권이 주어짐에 따라 많은 인력, 시간, 돈이 필요할 수 있다.해결 방법SRP 템플릿으로서 URP와 HDRP를 제공하여 이를 해결한다... 2024. 5. 30.
Unity - 랜더링 파이프라인(Rendering Pipeline) 랜더링 파이프라인개념을 들어가기 앞서 먼저 Render 영어 단어에 대해서 알아보자Render는 표현, 묘사의 뜻을 가지고 있는 단어이다. 랜더링 파이프라인(Rendering Pipeline)간단히 말하면 3D화면을 2차원으로 표현하는 과정이다.3D 입체들을 전부 그물로 표현하고, 이를 적절한 위치에 배치하여 2차원으로 납작하게 하고 그 그물의 구멍들에 어떤 색을 채워줄지를 결정하는 것이다.Input Assembly이 그물이 Mesh라고 불리는 기능이다. 이는 삼각형의 세개의 꼭짓점으로 이루어져있다.왜 삼각형으로 생겼을까?삼각형의 조합으로 다양한 형태를 만들 수 있기 때문이다. 예를 들어 삼각형 두개를 붙이면 사각형이 되고, 삼각형 3개를 붙이면 오각형이 된다. 이러한 조합으로 물체의 겉면을 수많은 삼각.. 2024. 5. 8.
Unity - Assets\TextMesh Pro\Examples & Extras\Scripts\VertexZoom.cs(153,44): error CS0029: Cannot implicitly convert type 'UnityEngine.Vector4[]' to 'UnityEngine.Vector2[]' 오류 해결 방법 만들었던 포토폴리오를 리팩토링 하기 위해서 버젼이 높아진 유니티에서 열어봤더니 제목과 같은 에러가 떴었다. Assets\TextMesh Pro\Examples & Extras\Scripts\VertexZoom.cs(153,44): error CS0029: Cannot implicitly convert type 'UnityEngine.Vector4[]' to 'UnityEngine.Vector2[]' 이는 패키지가 업데이트 됨에 따라 SRP(Scriptable Render Pipeline)와의 호환성 이슈로 생긴 것 이다. SRP는 Unity에서 그래픽 렌더링 파이프라인을 완전히 제어하고 사용자 지정할 수 있게 해주는 시스템이다. 그러므로 변경 사항이 있었을 때 일반적으로는 기존의 프로젝트에 영향을 줄 수.. 2024. 3. 21.
Unity - 스트립트간 데이터 업데이트 문제(bool 값 업데이트가 적용이 안돼요) 문제 상황 퀘스트 체크하는 부분에서 문제가 생겼다. QuestManager 스크립트의 bool isComplete, isQuesting를 통해 퀘스트가 진행중인지 완료중인지 체크를 하였다. 그리고 퀘스트가 완료된 경우 npc의 Dialogue가 퀘스트 완료버젼을 출력하지 못하고 있었다. 간단히 말하자면 bool iscomplete와 bool ismoving의 변수내용이 업데이트 내용이 momDialogue에 반영이 안되는 문제이다. 해결 방법 QuestManager스크립트와 Dialogue스크립트가 같은 오브젝트 위치에 있어서 생긴 문제였다! 같은 게임 오브젝트에 스크립트를 연결하는 것은 일반적으로 각 스크립트가 독립적으로 실행될 수 없을 때나 상호작용할 필요가 없을 때에 적합한 방법이다. 그러므로 우리.. 2024. 3. 20.
Unity - ProductName 한국어로 변경하는 방법(Localization) ProductName을 한글로 하고 싶어서 한국어로 입력했더니 에러가 났다. 그래서 Plugin에 res폴더를 만들어 한국어 이름을 지정하는 방법을 사용해봤는데 또 다른 에러가 나서 다른 방법이 없을까 하다 찾은 Localization Localization 앱을 다양한 언어와 문화에 맞게 번역하여 사용자들이 해당 언어로 앱을 사용할 수 있도록 하는 프로세스이다. 01 Localization 설치하기 Package Manager - Unity Register에서 local를 검색하면 찾을 수 있다. 02 Locale Generator 본인 같은 경우에는 영어와 한국어가 필요해서 English와 Korean을 선택했다. 03 기본언어 선택 기본언어는 한국어로 선택했다. 04 AppInfo + 클릭 후 An.. 2024. 2. 23.
반응형