본문 바로가기
728x90
반응형

Unity30

Vision OS에서 Shader 가 한쪽 렌즈에서만 렌더링 되는 경우 기본적으로 URP 를 사용하면 Single pass Instanced 로 렌더링하여 따로 설정할 필요없이 VR 상에서 정상적으로 표현된다. 하지만 제 3차가 제작한 Shader의 경우 Single Pass Instacend 렌더링 설정이 되지 않아 VR 상에서 한쪽 렌즈에서만 렌더링 되는 경우가 있다. 아래의 내용을 참고하여 Shader 코드에 관련 내용을 추가하면 해결된다.  https://docs.unity3d.com/Manual/SinglePassInstancing.html Unity - Manual: Single-pass instanced rendering and custom shadersSingle-pass instanced rendering and custom shaders URP, HDRP,.. 2024. 10. 8.
[Unity UGUI] 로딩 텍스트 구성하기 유니티 로딩 텍스트 public class TypingEffect : MonoBehaviour { public TextMeshProUGUI targetTxt; // 현재 텍스트 public int defaultLength; //텍스트의 길이 // Start is called before the first frame update void Start() { defaultLength = targetTxt.text.Length; //현재 텍스트의 길이 StartCoroutine(OnTyping()); // 코루틴 호출 } IEnumerator OnTyping() { StringBuilder str = new StringBuilder(); //계속 변경되는 값이기에 String Builder로 구성 str.App.. 2023. 8. 4.
[Unity] 렌더링 파이프라인의 과정 렌더링 파이프라인이란? (그래픽스 렌더링) - 렌더링 파이프라인은 3차원으로 만들어진 모델을 화면에 투사하는 렌더링 과정 1. 정점 데이터 처리 [ vertex buffer에 저장된 모든 vertex에 대해 변환 등 연산을 수행 ] - Vertex processing 으로 얻어진 vertex에 의해 정의된 폴리곤의 내부를 차지하는 프래그먼트를 생성 2. 격자화 하기 [래스터라이제이션 (rasterization)] - 컴퓨터 그래픽스(CG)에서 도형을 생성하는 벡터 그래픽스(vector graphics)를 그에 대응하는 화소(픽셀) 패턴 이미지로 변환하는 것. 3. 플래그먼트 처리[ Fragment Processing ] -플래그먼트 입력받는 작업, 플래그먼트 프로그램이 수행하며 , 다양한 처리를 통해 색.. 2023. 6. 21.
[Unity Error Note]Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details 원인 : 쓰고 있는 라이브러리는 22버전에서 안돌아간다 24버전 정도 되어야 돌아간다! 해결 : Minimum API Level 를 변경하여 해결 2023. 6. 16.
[3D 그래픽스 기초] 포워드 랜더링 & 디퍼드 랜더링 차이점 면접에서 나온 내용이다. 아주 거나하게 이상한 소리하고 바로 개념 정리하려고 한다. 카메라에 관련된건 알았지만 개념이 정리가 안되어있어 횡설수설하고 난리쳤다. 기술면접에 나올 수 있는 내용이다. 정확히 머릿속에 남겨두자. 카메라 컴포넌트에 보면 Rendering Path 에 기본은 use Graphics Settings 라고 적혀있다. 디폴트는 뭘까? 포워드 렌더링 전통적인 방법 메쉬 하나를 그리면서 모든 계산을 한번에 시행. 라이팅의 계산 수는 메쉬의 수에 비례 모바일 환경에서 주로 쓰이는 렌더링 기법. 오브젝트와 동적 라이팅이 적어 성능 부하가 적음. 하지만 동적 라이팅에 영향을 받는 오브젝트가 늘어나면 늘어날 수록 성능 저하가 커진다. [유니티 메뉴얼] 포워드 렌더링에서 각 오브젝트에 영향을 미치는.. 2023. 6. 15.
[C#] 제네릭 머릿속에 정리하려고 글을 쓴다. C# 제네릭은 일반적인 클래스를 정의할 때, 클래스 내의 모든 데이터 타입을 지정해야한다. 클래스의 모든 부분이 동일한대 일부 데이터만이 다른 경우 C# 제네릭을 사용할 수 있다. 제네릭 타입에서는 int, float. double 같은 데이터 요소 타입을 정하지 않고 데이터 타입 자체를 Type parameter 로 받아들이도록 클래스를 정의한다. (자바스크립트는 기본적으로 되는것 같다.) 이렇게 정의된 클래스 즉 C# 제네릭 타입을 사용할 땐, 클래스명과 함께 구체적인 데이터 타입을 함께 지정해주게된다. 기본 사용법은 아래에서 확인 https://www.csharpstudy.com/CSharp/CSharp-generics.aspx C# 제네릭 - C# 프로그래밍 배우기.. 2023. 5. 15.
[UnityEditor] 인스펙터에서 Scene 로드 하는 방법 Unity 에서 어떤 특정상황에 다른 Scene 을 로드해야할 상황들이 생긴다. 일반적으로는 Project파일에서 클릭하여 다른 씬을 확인하는 경우들이 많다. 이를 해결하기 위해 Runtime 중에 인스펙터 창의 버튼을 활요하여 Scene을 로드할 수 있도록 구성해보겠다. 먼저 Scene을 로드하는 스크립트를 작성한다. using UnityEngine.SceneManagement; public class SceneLoaderManagements : MonoBehaviour { public string sceneManagementName; public void ChangeScene(string sceneName) { SceneManager.LoadSceneAsync(sceneName); } } 간단하게 비.. 2023. 3. 28.
[Unity_GUI] Unity UI 플레이어 바라보게 하기. if(Input.GetKeyDown(KeyCode.JoystickButton0)|| Input.GetKeyDown(KeyCode.Space)) { worldCanvas.transform.position = defaultTargetPos.position; //특정 포지션에 가져다 놓음 worldCanvas.transform.LookAt(gameObject.transform.position); // 카메라를 보도록 함. worldCanvas.transform.Rotate(0, 180f, 0); // UI를 회전시켜 정면을 보도록 함 } 놔두고 봐야한다. 2023. 3. 21.
[Unity] CountDown(카운트다운) 타이머를 만들어보자. 게임을 시작할 때, 사용하는 카운트 다운 public int countdownTime; public TextMeshProUGUI countdownDisplay; public void CountDown() { StartCoroutine(CountdownToStart()); } IEnumerator CountdownToStart() { while(countdownTime > 0 ) { countdownDisplay.text = countdownTime.ToString(); yield return new WaitForSeconds(1f); countdownTime--; } countdownDisplay.text = "Game Start "; } 실행 화면 2023. 3. 3.
728x90
반응형

# 로딩 화면 동작 코드(Code) 설정하기
loading