본문 바로가기
728x90

개발 (Game)/Unity5

[Android] R8, Proguard 난독화 [개념] ProGuard는 Java 및 Android 앱의 코드를 난독화(obfuscate)하고 최적화하는 도구이다. 앱의 크기를 줄이고 실행 속도를 향상시켜주며 동시에 리버스 엔지니어링을 어렵게 만들어 소스코드를 보호해준다. Unity의 빌드 타겟 플랫폼이 안드로이드일 경우 유니티 내부적으로 안드로이드 프로젝트를 생성하고 빌드하기 때문에 Proguard 사용이 가능하다. 참고로, Unity에서는 이제 ProGuard 대신 R8이라는 새로운 코드 난독화 및 최적화 도구를 사용하는 것이 권장된다. R8은 ProGuard와 호환되며 보다 향상된 성능 및 최적화 기능을 제공해준다. R8은 Google에서 개발되었으며 proguard와 호환되지만 보다 더 높은 성능의 난독화, 축소, 최적화를 지원해준다.사용되지.. 2023. 3. 25.
[Shader] 쉐이더를 처음으로 직접 작성해보다. [2021. 09. 01, Wed] 쉐이더를 공부 한지 하루 이틀 밖에 안되었다. 내 스스로 코드를 작성하는 것은 당연히 불가능한 것이기에 참고용으로 동영상을 보면서 공부했다. 참고 : https://www.youtube.com/watch?v=tRYxflC-HCc&list=TLPQMDEwOTIwMjG6Wd5TU0jTYw&index=2 강의에서 나오는 내용들을 적어 옮겨놨다. 생각이 안날때마다 다시 이걸 보면서 공부해야겠다. 불편했던점은 아마 쉐이더는 아마 C++이 변형된 상태 로 작성되나보다 좌측 상단에 보여지는 마크도 ++를 뜻하기도하고 일단 동영상처럼 자동 완성이 안된다 색깔도 구분이 안되어있고.. 아마 내가 비쥬얼 스튜디오에서 직접 설정을 바꿔야할 것 같은데 나중에 찾아보고 해결 해봐야겠다. 혹시라.. 2021. 9. 1.
[Shader] Rendering Pipeline - 래스터라이저 & 프래그먼트 쉐이더 [2021. 09. 01, Wed] ■ 래스터라이저 : 버텍스 셰이더로부터 전달 받은 정점들에 삼각형을 구상하고 채워줘서 '프래그먼트 셰이더'로 전달하는 단계이다. * 프래그먼트 : 픽셀 후보 (두 개의 물체가 앞 뒤로 배치 되어있어 하나의 물체가 다른 물체를 가리게 된다면 최종 픽셀로서 사용되지 않을 수 있음) ▼ 영상 2:31초 참고 https://www.youtube.com/watch?v=RcRjIMTekgc 하는 일 1. 뷰포트 변환 : 클립공간(NDC) -> 스크린 공간 - 정규화된 공간에서 스크린(윈도우 화면)에 맞춘 공간으로 변형해준다. ( x,y축은 스크린 비율((예)1920X1080)에 맞게 크게 변환되지만 z값(깊이)은 0~1사이를 유지한다.) ( z값은 누가 앞에 그려지고 누가 뒤에 .. 2021. 9. 1.
[Shader] Rendering PipeLine - 버텍스 셰이더 [2021. 09. 01, Wed] ■ 버텍스 셰이더 - 정점을 입력받아 다른 형태의 정점으로 변환해주는 단계이다. - 주요 역할 : 3D 공간 상의 정점의 위치를 절대적인 월드의 위치에서 카메라 화면을 통해 바라보았을 때의 기준의 위치(즉, 클립 공간)로 옮겨주는 것이다. (이는 정점을 어떠한 공간에서 다른 공간으로 '투영' 해준다는 얘기이다) 쉽게 예를 들면 '그림자 연극'을 떠올리면 된다 -> 3D 사물들이 빛에 의한 투영으로 하나의 2D 스크린 공간에 그림자가 모이게 되는 것. - 정점을 위치로 옮기기 위해서 '변환 행렬'을 사용한다. * 변환 행렬의 구조 [오브젝트 공간] -모델 행렬-> [월드 공간] -뷰 행렬-> [카메라 공간] -투영 행렬-> [클립 공간] 모델 행렬 : 모델 공간에 위치한.. 2021. 9. 1.
[Shader] Rendering Pipeline 공부 시작 [ 2021. 09. 01, Wed ] 매우 흥미로운 개념을 발견해서 공부일지를 이제 단계적으로 올릴려고한다. 참고자료 : https://www.youtube.com/watch?v=0XJWdNFnq50&list=RDCMUCRWq4MPqifkmT2GyL2d2ZAQ&index=3 최근에 쉐이더에 관심이 크게 생겼었다. 기술 면접을 보면서 렌더링 파이프라인에 관한 질문이 나온 적이 있는데 생소한 개념이라서 질문에 답을 못하였지만 호기심이 생겨서 찾아보게 되었다. 그래픽 관련된 개념이라는데 매우 재밌어보였고 공부 하고싶다는 생각이 들어서 면접 결과를 떠나 잘 보러간 것 같다는 생각이 들었다. 그래픽 부분을 코드로 제어해서 유니티로도 언리얼과 같은 그래픽을 낼 수 있다는 것이 매우 흥미로웠기에 꼭 공부를 해서 외.. 2021. 9. 1.
728x90