https://bkjcr.tistory.com/m/category/프로그래밍

Unity Hub 3.0.0-beta2 버그

유니티 버전 설치시 다운로드 완료 후 권한이 없어 설치가 불가능한 문제가 존재.

관리자 권한으로 실행해 해결 가능.

Script backend는 라이브러리 호환성이 필요한것이 아닌 이상 .NET Standard 2 로 하는것이 좋다

https://m.dcinside.com/board/game_dev/66894

Enum, UnityEvent, Scriptable Object

Enum값을 입력으로 받는 UnityEvent를 작성하고 싶을 경우에는 Enum 변수를 담고 있는 Scriptable Object를 생성해 인자로 전달받으면 된다.

Scriptable Rendering Pipeline의 Anti-Aliasing옵션

Scriptable Rendering Pipeline(SRP)를 사용중이라면 Rendering Pipeline Asset의 설정 및 Camera Component 두곳에서 Anti-Aliasing(AA) 설정을 찾아 볼수 있다. SRP의 AA는 MSAA를 조절하는것이며, Geometry를 기반으로 AA를 수행한다. 카메라의 AA는 렌더링 후 픽셀 단위에서 렌더링 하는 것이다. SRP의 AA가 카메라의 AA보다 높은 품질을 보여주지만, 부하가 더 크다. 반면, 카메라의 AA는 화면이 흐려 보일 수 있다. 두 AA는 동시에 적용될 수 있지만, 성능에 유의해서 사용하는게 좋을것이다.

CPU 부하 줄이기 기술: 충돌체 설정

Rigid Body가 없는 Collider를 이동시키는것은 CPU 부하가 생긴다. 이럴 경우 Rigid Body를 추가해 isKinetic를 체크해주자

드로우콜 줄이기 기술: GPU Instancing과 Static Batching

자동으로 이루어지는 Dynamic Batching 이외에도, 오브젝트의 드로우콜을 줄여주기 위한 방법은 여러가지가 있다. 기본 쉐이더 옵션에서는 GPU Instancing을, Player설정에서는 Static Batching을 활성화 할 수 있다. GPU Instancing은 움직이는 오브젝트를 동적으로 인스턴싱해 드로우콜을 줄여주는 옵션이다. Static Batching은 움직이지 않는 오브젝트를 하나로 묶어 드로우콜을 줄여주는 옵션이다. GPU Instancing과 Static Batching은 동시에 적용 불가능하며, 이 경우 Static Batching이 우선시된다.

정리하자면 다음과 같다. 정적 물체일 경우 → Static Batching 동적 물체일 경우 → GPU Instancing https://mathmakeworld.tistory.com/64 (우선순위: SRP > Static > GPU > Dynamic)

이유: SRP와 나머지는 버퍼 종류가 다름

SRP 배쳐는 런타임에 머테리얼 속성이나 트랜스폼 변경이 가능

https://mathmakeworld.tistory.com/m/64

프로젝트 세팅

코드 커버리지는 사용할때만 잠깐 켜주자 NGTools 이용 IL2CPP 빌드시 Stripping level 은 High로 해야함 프로젝트 생성 후 가장 먼저 x64 설정 클라우드 공유 해제 바이러스검사 제외

Visual Studio 2019 .NET Framework 3.5 개발 도구 .NET Framework 4.7.1 타기팅 팩 C# 및 Visual Basic Roslyn 컴파일러 C# 및 Visual Basic NuGet 패키지 관리자 Visual Studio Tools for Unity Unity Hub IL2CPP 빌드에 앞서 설치가 필요한것: MSVC v142 - VS 2019 C++ x64/x86 빌드 도구(v14.28) Windows 10 SDK(10.0.19041.0)