반응형

전체 글 286

ShaderGraph, Swizzling 이란?

Swizzling 이란? Swizzling은 모든 원본 레지스터 구성 요소를 임시 레지스터 구성 요소에 복사하는 기능을 나타냅니다 (https://docs.microsoft.com/ko-kr/windows/win32/direct3dhlsl/dx9-graphics-reference-asm-ps-registers-modifiers-source-register-swizzling) 원문에서는 복잡하게 느껴질수있지만, 그래프에서 사용되는 예시를 보면 보다 쉽게 이해 할 수 있음 현재 BaseColor는 (3)으로 Vector3를 받아서 Color값을 표현함 하지만 Input으로 받는 값은 Float 값 (1)임, 상식적으로는 1개의 값으로 3개의 값을 표현하려면 오류를 떠야하는게 당연함 하지만 스위즐링으로 사용해..

Unity/URP 2022.07.17

Unity Shader Graph _ 유니티 셰이더 그래프

유니티 셰이더 그래프는 SRP(Scriptable Rendering PipeLine)에서 사용할 수 있는 노드 방식의 셰이더 에디터임 나의 목표는 HLSL 코드로 적성하는 게 목표이나, 셰이더 그래프도 최근에는 많이 쓰이고, 목적에 따라서 두 가지를 모두 사용하는 경우가 있으니, 기본적인 사용 방법은 정리할 필요가 있다. ---- - 셰이더 그래프 생성 기본적으로는 Project -> Create -> Shader -> Universal Render Pipeline -> 원하는 세이더 선택 생성 후 더블클릭을 하면 셰이더 윈도우창이 만들어진다. 유니티로 돌아와서 인스펙터를 보면 이러한 모습이 보인다. 셰이더 그래프도 사실 쉐이더 코드를 변환 한 것이기 때문에 ViewGenerated Shader 로 현재..

Unity/URP 2022.07.17

Unity Addressables Remote로 서버에서 다운로드 받기

앞서 어드레서블에 대한 기본 세팅을 해보았다. 어드레서블을 사용해야 하는 이유는 기존 트윈월드에 있는 에셋 번들의 문제점에서 시작된다. 1. 에셋 번들은 2018버전 부터 관리자를 지원하지 않음 -> Profiler가 따로 존재하지 않아서, 번들의 사이즈와 어디에 의존성이 걸려있는지 파악하기 어려웠음 어드레서블은 Veiwer를 제공해줘서, 다운로드가 끝났는데 불 필요한 메모리를 날려 줄 수 있음 2. 번들에서 중요한 그룹핑을 쉽게 해줄 수 있고, 라벨링을 달아서 필요한 번들만 가져올 수 있음 3. 어드레서블로 번들을 추적하기 때문에, 에셋이 달라졌을 때, 유저가 새로 앱을 다운 받지 않고도, 에셋을 바꿔줄 수 있음 4. GetDownloadSizeAsync()와 같이 한번 받은 적 있으면 번들은 다운 받..

Unity 2022.06.15

Unity Addressables 정리

참고 영상 - (https://www.youtube.com/watch?v=EP3pvPAcHSo&t=36s) Addressables 개요 - 컨텐츠 빌드하고, 로딩하는 관리 시스템 - 컨텐츠에 주소라는 개념을 사용해서, 이런 이름이 사용됨 - 유니티 2018.2 이상 버전이 필요 - 스크립트를 이용하여 관리 가능함 - 모든 동작이 비동기로 구현 사용이유 - 큰 게임 빌드와 배포에 유리 - 에셋 빌드가 간편 - 에셋 패킹과 참조를 분리하여 관리 - 런타임 중 에셋 관리 - 의존 관계를 확인하여 리소스 로드 -> 번들이 따로 있어서도, 의존성을 찾아주기 떄문에 유리함 - 런타임 에셋 메모리 관리 - 개발 중 반복 작업에 대한 편의성 - PlayMode를 유연하게 설정, 개발 중에도 실제와 같은 테스트 가능 -..

Unity 2022.06.14

[unity wifi build and run]유니티 무선으로 빌드하기

유니티에서 sdk를 이용하여 wifi 디버그 모드를 잡아주고, 기기의 아이피와 포트를 이용하여 무선으로 빌드와 실행을 할 수 있음 AR 어플 같은 경우는 자주 빌드해서 테스트를 해야하는데 이 방법이 아주아주 편함! 강추! 1. 먼저 핸드폰를 USB 로 연결해준다. 정상적으로 연결이 된걸 확인하구 Android SDK 가 있는 폴더에서 cmd 를 열어준다. dir 는 현재 폴더에 어떤 파일이 있는지 확인하는 명령어 cd 는 그곳으로 들어가는 명령어이다. platform-tools 에 들어가준다. adb가 정상적으로 존재하면 adb connect 자신아이피:5555(포트) 를 입력해준다. 그러면 커넥트가 되고 정상적으로 잡히게 된다. 이제 USB는 뽑고 Run Device를 선택하고 빌드 앤 런을 해주면 된..

Unity/문제해결 2021.12.17

유니티 MRTK flicker 깜박임 현상 문제

새로운 PC 를 받고 MRTK 빌드 테스트 하는 도중 빌드 후 - 앱실행 후 엄청난 깜박임을 버그를 발견했습니다. 캡쳐로는 잡히지 않아서 글로만 설명 할 수 밖에 없다. 여러 세팅을 맞췄지만, 문제는 3.21f 버전 문제였다. 기존 빌드가 잘 되던 3.19f로 빌드하니 이상이 없었는데 똑같은 프로젝트를 3.21f 로 하니깐 이러한 문제가 발생 하였다. 문제해결 - 3.21f 를 사용하지 말자.

연습프로젝트 _ 큐브 위에 큐브 있으면 캐치하기

기존 예제 void Update () { dotValue = Mathf.Cos(Mathf.Deg2Rad * (angleRange / 2)); direction = target.position - transform.position; if (direction.magnitude dotValue) isCollision = true; else isCollision = false; } else isCollision = false; } 기존 예제의 문제는 transform.forward 라서 계속 현재 오브젝트의 위치를 캐치해서 문제였음 문제해결 private bool OnUpCubeNo..

반응형