유니티(Unity)에서 렌더텍스처(RenderTexture) 활성화 및 해제(active, release) 사용예시렌더 텍스처(RenderTexture)는 렌더링할수있는 텍스처(textures that can be rendered to)로써 3D 장면을 텍스처로 렌더링할 수 있는 특별한 종류의 텍스처입니다. 주로 3D 장면을 특정 렌더 텍스처로 렌더링하고 결과를 텍스처로 저장하는데 사용합니다. https://docs.unity3d.com/ScriptReference/RenderTexture.html렌더텍스처(RenderTexture) 활성화 및 해제//RenderTexture 생성 RenderTexture rt = new RenderTexture(256, 256, 24); rt.Create(); //..
유니티(Unity)에서 카메라 뷰 오브젝트 확인 함수 및 속성 모음(프러스텀, 렌더러, Bounds, 기타) Renderer.isVisible객체 및 렌더러가 카메라의 뷰 프러스트럼(시야 범위) 안에 있는지 확인합니다. 렌더러가 카메라에 의해 보일 때 true를 반환하고 그렇지 않으면 false를 반환합니다. 게임 오브젝트가 화면에 보일 때만 작업을 실행하고 싶을 때 사용 https://docs.unity3d.com/ScriptReference/Renderer-isVisible.html void Start() { m_Renderer = GetComponent(); } void Update() { if (m_Renderer.isVisible) ..
유니티에서 포인트 클라우드(point cloud) 렌더링하기(keijiro - Pcx)유니티 개발자 keijiro가 자신의 깃허브 웹사이트에서 포인트 클라우드 데이터(ply 형식)를 유니티에서 임포트 및 렌더링 할수있는 프로젝트(pcx)를 공개 및 제공하고있습니다.1)아래 keijiro 깃허브 웹사이트에서 프로젝트를 다운로드하고 유니티에서 해당 프로젝트를 열기합니다.https://github.com/keijiro/Pcx?tab=readme-ov-file 2)pcx 패키지를 사용하려면 scoped registry를 추가해야합니다. 메모장에서 패키지 매니페스트 파일(Packages/manifest.json)을 열기합니다. 3)매니페스트에 다음을 추가합니다.scopedRegistries 섹션 "scopedR..
유니티에서 렌더링 패스 설정하기(포워드 렌더링, 디퍼드 렌더링) 유니티에서 렌더파이프라인(빌트인 렌더파이프라인, 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에서 오버라이드할수있습니다. 그래픽카드가 해당 렌더링패스를 지원하지않는다면 유니티는 자동으로..
유니티 URP 프로젝트에서 라이트의 렌더링 우선순위 설정하기 유니티 URP에서 기본적으로 객체당 조명 제한 개수는 4개로 설정되어있습니다. 씬에 다수의 조명이 있으면 근접한 조명의 밝기와 품질 설정에 따라서 렌더링 방법이 런타임에서 결정됩니다. 1)씬에 3D오브젝트와 다섯개의 조명을 추가합니다. 예에서 전체 다섯개중에서 네개의 조명이 3D오브젝트에 영향을 미치고있는것을 확인할수있습니다(보라색 제외) 2)3D오브젝트의 위치를 이동시킵니다. 오브젝트에 영향을 미치는 조명의 개수는 네개로 동일하지만 3D오브젝트의 위치에 따라서 영향을 미치는 조명이 달라지는것을 확인할수있습니다(오브젝트의 위치에 따라서 빨간색과 보라색 조명이 자동으로 영향을 미칩니다) 3)렌더링 우선순위를 설정할 조명을 선택하고(예에서 빨간색)..
유니티 URP에서 legacy shader 사용하지않음 권장 1)아래 예에서 프로젝트는 렌더파이프라인으로 URP를 사용하고있다. 2)씬에 legacy shader를 사용하는 오브젝트를 추가하였다. 3)URP 프로젝트에서 일부 legacy shader를 사용하는 오브젝트들은 씬 또는 런타임에서 정상적으로 렌더링된다. 4)하지만 레거시 셰이더는 SRP Batcher와 GPU 인스턴싱(일부 셰이더)을 지원하지않음으로 최적화에 한계가 있어 권장하지않는다. 재질의 select shader를 선택한다. 5)해당 셰이더가 SRP Batcher와 호환되지않음을 확인할수있다(not compatible) SRP Batcher는 씬에서 CPU 렌더링 속도를 높이는 렌더링 루프로 SRP 프로젝트에서 사용가능하다(URP, HD..