유니티에서 렌더링 패스 설정하기(포워드 렌더링, 디퍼드 렌더링) 유니티에서 렌더파이프라인(빌트인 렌더파이프라인, URP, HDRP)에 대해 렌더링 패스 설정하는 방법 빌트인 렌더파이프라인(Built-in Render Pipeline) 프로젝트 설정의 graphics에서 tier settings의 렌더링 패스를 선택할수있습니다. 빌트인 렌더파이프라인은 포워드 렌더링 패스가 기본으로 설정되어있습니다(Forward) 카메라의 rendering path에서 렌더링 패스를 오버라이드할수있습니다. URP(Universal Render Pipeline) 프로젝트 설정의 graphics에서 현재 사용중인 URP 에셋으로 이동합니다(Universal render pipeline asset) 렌더러 목록에서 렌더링 패스를..
유니티 렌더링 패스(rendering paths) - 포워드 렌더링 패스, 디퍼드 렌더링 패스 렌더링 패스는 오브젝트의 라이팅과 쉐이딩에 관련한 일련의 작업을 수행하는 방법입니다. 서로 다른 종류의 렌더링 패스는 각각 기능과 성능에서 다른 특성을 가지며 장점과 단점이 있습니다. 유니티의 렌더 파이프라인은 포워드 렌더링 패스(Forward Rendering) , 디퍼드 렌더링 패스(Deferred shading)를 지원합니다. 개발자는 프로젝트 및 플랫폼에 적합한 렌더링 패스를 선택할수있습니다. 렌더링 패스는 기본적으로 프로젝트 설정(project settings)의 그래픽(graphics)에서 설정하며 camera에서 오버라이드할수있습니다. 그래픽카드가 해당 렌더링패스를 지원하지않는다면 유니티는 자동으로..
유니티 실습 예제 공굴리기 게임 만들기1 (플레이어 방향키 이동 설정, 카메라 이동 설정) 1)씬에 sphere, plane 게임 오브젝트를 생성합니다(player, ground) 2)새로운 재질을 생성하고 ground에 할당합니다. 3)플레이어(player)에 리지드바디(rigidbody) 컴포넌트를 추가합니다. 4)상단의 edit 메뉴에서 project settings의 input으로 이동합니다. 5)Horizontal, Vertical 축에 대한 입력이 좌우 및 상하 방향 키로 설정되어있는것을 확인할수있습니다. 6)플레이어(player)에 새로운 사용자 스크립트를 추가합니다(PlayerController) 7)사용자 스크립트를 작성합니다. 게임을 플레이하고 방향 키를 입력하면 플레이어(player)..
유니티에서 모든 텍스처의 해상도 줄이기(texture quality) 유니티가 렌더링하는 텍스처의 품질을 설정하여(texture quality) 모든 텍스처의 해상도를 줄이는 방법 1)project settings의 quality에서 그래픽 품질 수준에 대한 텍스처 품질을 설정할수있다(texture quality) 아래 예에서 PC Standalone와 안드로이드의 중간 품질(medium quality) 수준에 texture quality가 full res로 설정되어있는것을 확인할수있다. 해당 플랫폼의 수준에서 텍스처를 전체 해상도로 렌더링하는것을 의미한다. 2)texture quality는 유니티가 텍스처를 렌더링할때 사용하는 네개의 선택 옵션 Full Res, Half Res, Quarter Res,..
유니티에서 텍스처의 해상도 낮추기(texture import settings, max size) 1)프로젝트의 에셋 폴더에서 텍스처를 선택하면 inspector 윈도우에서 texture import settings를 표시한다. Texture Import Settings는 유니티가 이미지를 가져오는(import) 방법을 정의한다. 2)플랫폼 특정 오버라이드(platform-specific overrides)의 기본 옵션(default)에서 텍스처의 최대 해상도(max size)가 2048로 설정되어있는것을 확인할수있다. 하단의 미리보기에서 텍스처의 해상도와 크기를 확인할수있다(2048x2048, 2.7mb) 3)최대 해상도를 낮추기 위해 max size를 변경하고(1024) apply를 클릭한다. 4)텍스..
유니티에서 git URL를 사용하여 패키지 설치하기 원격 서버의 깃 저장소에서 패키지를 가져와 설치하는방법(add package from git URL) 예에서 깃허브와 깃허브의 GUI 프로그램인 깃허브 데스크톱을 사용하였다. 1)깃허브데스크톱 및 프로젝트의 환경이 올바르게 구성되어있는지 확인한다. 2)깃허브의 저장소에서 URL를 복사한다. 3)패키지 관리자에서 add package from git URL로 이동한다. 3)복사한 URL 및 유효한 깃 URL을 입력하고 add를 클릭한다. 4)서버로부터 패키지를 다운로드하고 설치를 진행한다. 5)설치가 완료되면 패키지 관리자 목록에 추가되며 프로젝트의 패키지 폴더에서 확인할수있다. https://docs.unity3d.com/Manual/upm-ui-git..
유니티 패키지 설치 오류(No ‘git’ executable was found) 깃에 공개된 패키지를 패키지 매니저(package manager)의 git URL를 사용하여 설치를 시도할때 또는 깃에 공개되어있는 패키지를 사용하는 프로젝트를 열기할때 다음과 같은 오류 메시지를 표시하는 경우 'git' 실행 파일이 없습니다. 시스템에 git 을 설치하고 유니티를 재시작하세요 (no 'git' executable was found. please install git on your system then restart unity and unity hub) 시스템 환경 변수 path에 git.exe파일 경로를 추가하여 해결 1)시스템에 git GUI 또는 CLI가 설치되어 있고 경로가 올바르게 구성되어 있는지 확..
유니티에서 깃허브 저장소의 패키지(package) 다운로드하고 설치하기 깃허브 저장소(github repository)의 유니티 패키지를 다운로드 및 설치하는 방법(로컬 패키지 설치) 1)github의 repository에서 zip 파일을 다운로드한다. 예에서 아래 유니티 리포지토리를 사용하였다. https://github.com/Unity-Technologies/VFXToolbox 2)다운로드한 zip파일을 압축풀기한다. 3)유니티에서 패키지 관리자(package manager)로 이동한다. 4)좌측 상단에서 add package from disk를 선택한다. 5)압축풀기한 폴더에서 package.json 파일을 열기한다. 6)해당 패키지의 설치를 진행한다. 7)설치가 완료되면 패키지 목록에서 새로운 ..
유니티 프로젝트 버전 다운그레이드(미지원, 권장하지않음) 일반적으로 유니티를 포함하여 대부분의 응용프로그램 버전 다운그레이드는 지원되지않는다. 1)unity hub에서 프로젝트의 유니티 버전을 확인할수있다. 2)컴퓨터에 설치되어있는 모든 유니티 버전에 대해서 선택 가능하다. 3)프로젝트의 현재 버전보다 하위 버전을 선택할 경우 다운그레이드 대화상자가 표시된다. 확인하면 프로젝트의 유니티 버전을 변경하며 프로젝트의 라이브러리를 재구축한다. 다운그레이드는 데이터가 손실될수있어 권장하지않는다.
유니티 MonoBehaviour 클래스 상속 비활성화 문제 1)아래 스크립트에서 MonoBehaviour 클래스 상속이 정상적으로 이루어지고있지 않은것을 확인할수있다. 2)해당 스크립트를 게임오브젝트의 컴포넌트로 추가할수없는것을 확인할수있다. (the script don't inherit a native class that can manage a script) 3)preferences의 external tools으로 이동한다. external script editor에서 스크립트 에디터를 설정한다. 예에서 기본으로 설정되있는 open by file extension에서 비쥬얼 스튜디오로 변경하였다. 4)클래스 상속이 정상적으로 이루어지는것을 확인할수있다.
유니티 에셋 curvy -스플라인에 오브젝트 정렬하기(generator, volume spots) generator의 volume spots 모듈을 사용하여 스플라인에 오브젝트를 정렬하는 방법 1)씬에 스플라인을 생성한다. 2)새로운 generator 게임오브젝트를 생성한다. 3)generator의 edit graph로 이동한다. 4)input spline path 모듈을 추가하고 스플라인을 참조시킨다 5)rasterize path 모듈을 추가하고 입력에 input spline path를 설정한다. 6)스플라인에 정렬할 오브젝트를 생성한다(cube) 7)input gameobjects 모듈을 추가하고 cube 오브젝트를 참조시킨다. volume spots 모듈을 추가하고 입력에 rasterize path..
유니티에서 코루틴 yield return new WaitUntil 사용하기 yield return new WaitUntil는 제공된 대리자가 true로 평가될때까지 코루틴의 실행을 일시 중단시킨다. (제공된 대리자는 update함수 이후와 LateUpdate함수 이전에 각 프레임에서 실행된다) 1)아래 스크립트의 시작함수에서 시작된 코루틴은 프레임의 값이 10보다 커질때까지 실행을 유예한다. 업데이트 함수에서는 매 프레임 해당 프레임을 출력한다. 2)프레임의 값이 10보다 커지면 대리자가 마침내 참으로 평가되어 코루틴이 실행을 진행한다. 3)마찬가지로 아래 코루틴은 변수 b의 값이 참이 될때까지 실행을 유예한다. 4)사용자가 인스펙터에서 변수의 값을 참으로 설정하면 코루틴이 실행을 진행한다.