728x90

유니티 엔진 (Unity Engine) 127

유니티 에셋스토어 2024 스프링 세일(Spring Sale) 시작! 추천 에셋 3종

75,000개 이상의 인기 에셋을 최대 70% 할인 중입니다. 유니티 에셋스토어 바로가기 https://prf.hn/click/camref:1011lvz7h/pubref:store_main/destination:https%3A%2F%2Fassetstore.unity.com%2Fko-KR 에셋스토어 여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다. assetstore.unity.com 이벤트 할인 기간: 4. 17 ~ 5/9(목) 오후 3시 59분까지 게임 출시 필수 에셋 3종 추천 1. Cross-Platform Native Plugins : Essential Kit (Mobi..

[Unity] 메시 폴리곤 줄이기/단순화 Mesh Decimator/Simplifier

메시의 형태를 크게 해치지 않으면서 폴리곤을 자동으로 줄여주는 도구. 에셋 : AutoLOD - Mesh Decimator https://prf.hn/click/camref:1011lvz7h/pubref:meshdecimator/destination:https%3A%2F%2Fassetstore.unity.com%2Fpackages%2Ftools%2Futilities%2Fautolod-mesh-decimator-185662 AutoLOD - Mesh Decimator | 유틸리티 도구 | Unity Asset Store Use the AutoLOD - Mesh Decimator from Léo Chaumartin on your next project. Find this utility tool & more ..

[Unity] Sprite Sorting 문제를 해결하기 위한 Sorting Group 설정

Sprite Renderers와 함께 게임 오브젝트를 그룹화하고 스프라이트를 렌더링하는 순서를 제어할 수 있는 컴포넌트. 위치 Component > Rendering > Sorting Group 게임 오브젝트에 Sorting Group 컴포넌트를 추가하면 Unity는 컴포넌트가 연결된 게임 오브젝트의 모든 자식 게임 오브젝트에 동일한 정렬 그룹을 적용. 계층구조로 만들어진 Sprite 객체의 서로 다른 오브젝트를 겹쳤을 때, 서로의 자식 오브젝트로 구성된 Sprite 들이 Z파이팅을 하게 될 때 활용해야 함. Unity는 동일한 정렬 그룹 내의 모든 렌더러를 개별 Sorting Layer 및 Order in Layer Renderer 프로퍼티에 따라 정렬하고, 이때 각 렌더러의 개별 Distance to..

[Unity] 2D Animation Package Sample 의 Missing Prefab 문제

유니티 엔진의 패키지 매니저에서 2D AnimationPackage 를 Install Import 하고, 같이 제공되는 Sample Package 를 설치했을 때, Sample Package 내에 들어있는 Sample Scene 의 특정 Prefab이름이 빨갛게 보이고 Missing Prefab 오류를 보여주는 경우가 있음. 해결방법 Package Manager 에서 PSD Importer 를 설치. 해당 Missing Prefab 은 포토샵에서 작업한 .psb 파일인데, PSD Importer 기능으로 Prefab화 시킬 수 있음. PSD Importer 를 설치하면 정상적인 Prefab으로 Scene 에 보여지고 내용을 확인할 수 있어짐. Unity 2D Animation https://prf.hn/..

[Unity] 모바일 최적화 2022LTS 자료 모음

1월 17일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS https://www.youtube.com/watch?v=-IrpQzZi_p8 2월 21일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS 2편 https://www.youtube.com/watch?v=6dBsTYa3APA 3월 20일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS 3편 https://www.youtube.com/watch?v=vGYIgZJHby8 추가 자료 Unity의 UI 시스템(UGUI) 성능 최적화 https://www.youtube.com/watch?v=1e2mSCS7o1A 게임 개발에 필수적인 내용을 담는 명서들을 소개합니다. (유니티 최신 버전) https://link.coupang.com/a/be3P0..

[Unity] 시네머신을 활용해 쉽고 간편하게 카메라 이동 영역 제한

유니티 엔진에서, 카메라가 캐릭터를 따라다니지만, 특정 영역까지만 따라가길 원하는 경우, 시네머신(Cinemachine) 기능으로 간단하게 구현 가능. 0. Cinemachine 은 Package Manager 에서 Package 를 추가 해줘야 사용할 수 있음. 1. CinemachineVirtualCamera 컴포넌트 하단의 Extensions / Add Extension 찾기. 2. Add Extension 에서 CinemachineConfiner/ Confiner2D 를 추가. 3. Confiner 인 경우 Collider, Confiner2D 인 경우 2D polygon 이나 composite collider 로 영역을 지정해서 설정. Confiner 의 뜻 "한정[제한]하는 사람[것]." 특정..

[Unity] 유니티 엔진으로 툴 제작 시 에디터 클릭 이벤트 후킹하기

Unity Engine 에디터 내에 Scene View 를 활용해서 툴을 만들 때, 마우스 좌클릭을 기본 도구에서의 선택 도구 외에 다른 용도로 사용하려고 하면 Unity Engine 의 Event 를 핸들링 할 필요가 있다. Event.current 가 에디터의 UnityGUI 이벤트가 되는데, 이 이벤트가 마우스 좌클릭일 때 Use() 를 호출해서 사용처리 해버리면 선택 도구로 작동하는 것을 후킹할 수 있다. if (Event.current.type != EventType.MouseDown) return; if (Event.current.button != 0) return; Event.current.Use(); // 툴에서 원하는 동작 처리. Event.current.button 의 값은 마우스 버튼..

[Unity] Texture2D와 RenderTexture의 핵심 차이

Texture2D와 RenderTexture의 핵심적인 차이는 다음과 같다: 사용 목적 Texture2D: 2D 이미지 데이터를 저장하고 사용하는 데 사용된다. 주로 텍스처 매핑, UI 요소, 그림 및 사진과 같은 이미지 표현에 사용된다. RenderTexture: 렌더링 결과를 저장하기 위한 특수한 유형의 텍스처이다. 주로 카메라의 렌더링 결과를 저장하거나, 이미지 처리, 후처리 효과, 텍스처 생성 및 수정에 사용된다. 렌더링 가능 여부 Texture2D: 렌더링 가능한 텍스처가 아니며, 즉 렌더링 파이프라인에 직접 사용할 수 없다. RenderTexture: 렌더링 결과를 저장하기 위한 텍스처로서, 렌더링 파이프라인에 직접 사용할 수 있다. 메모리 할당 방식 Texture2D: CPU 메모리에서 생성..

[Unity] 최초 실행되는 UnityMain 함수 만들기 (RuntimeInitializeOnLoadMethod 상세 순서 설명)

유니티 엔진에서 초기화를 하고싶어 유니티는 BuildSettings의 Scenes In Build 목록에 셋팅된 0번 인덱스 씬으로 시작하게 됨. 이 때 씬을 로드하면서 초기화도 같이 수행하게 되는데, 씬에 올라간, 씬의 Hierarchy 목록의 GameObject 들의 Awake와 Start의 호출 순서가 보장되지 않음. Awake, Start 호출 순서가 보장되지 않더라도 초기화 처리는 가능하겠지만, 어떤 GameObject 들의 초기화보다도 먼저 초기화 처리를 하고싶은 경우가 있을 수 있음. 이 때, [RuntimeInitializeOnLoadMethod] 어트리뷰트(Attribute)를 활용해서 특정 static 함수의 속성을 설정해서, 게임이나 앱 실행 후 가능한 빠른 시점에 호출되도록 핸들링 ..

[Unity] 유니티 셰이더 코드에서 _MainTex_TexelSize 변수의 정체는?

셰이더 코드는 참조하다보니 _MainTex_TexelSize; 라는 변수를 선언만 하고 바로 사용하는 모습들을 종종 보게 됨. 내장 변수인 것 같은데, 어떤 값을 담는지 설명은 검색해도 보이던데 어디서 어떻게 생성해서 값을 할당 해주는 것인지에 대한 내용이 잘 보이지 않더라. 일단 이 변수는 유니티 엔진 내부에서 생성 및 할당해주는 변수는 확실하고, 관련 설명은 아래 유니티 공식 문서에서 서술하고 있음. 주의해야 할 부분은, _MainTex_TexelSize 라는 이름의 변수명을 생성해주는 것이 아니고, {TextrueName}_TexelSize 라는 이름으로 생성해준다는 것. 셰이더를 작성할 때 보통 _MainTex 프로퍼티를 생성하기 때문에 결론적으로 _MainTex_TexelSize 라는 변수가 만..

728x90
반응형