일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 개인 바이트
- VR
- URP로 변경
- Rim Light
- C언어
- 벡터
- Cell Look
- URP
- Cell Shader
- Cartoon Rendering
- Virtual Byte
- Three(Two) Tone Shading
- ColorGradingLutPass
- OculusMotionVectorPass
- Windows Build
- 게임 수학
- Toon Shader
- 메모리 누수
- working set
- Specular
- ASW(Application SpaceWarp)
- 3d
- 프로그래밍 기초
- Private Bytes
- 가상 바이트
- 작업 집합
- AppSW
- Today
- Total
목록분류 전체보기 (258)
WinCNT
발생한 이슈 VR모드에서 Nova Shader의 ParticlesUberLit가 제대로 렌더링하지 않는 이슈가 발생했다 참고로 VR모드란 유니티 에디터의 재생 모드를 Oculus Link에서도 실행시키는 것을 말한다 빌드를 하지 않고 바로 VR기기에서 바로 확인할 수 있고, 유니티 에디터도 조작할 수 있어서 편리하다 이슈 상세 ParticlesUberLit의 파티클의 렌더링이 조건에 따라 달라졌다 실행 파일(APK, EXE): 파티클이 VR기기의 왼쪽 스크린에만 렌더링(확인 필요) 유니티 에디터(기본) : 파티클이 문제 없이 렌더링 VR모드의 VR기기 : VR기기에서는 파티클이 아예 렌더링 안 됨 VR모드의 유니티 에디터 : Scene View에서만 파티클이 렌더링 발생 원인 나쁜 건 Nova Shade..
서론 이번에는 Volume의 Bloom의 어떠한 속성들을 찾지 못 해서 삽질했던 경험에 대해서 써보려고 한다 Bloom하면 URP에 대한 내용 같지만, 이번 내용은 사실 Bloom 자체와는 아무런 연관이 없기에 Unity 관련 내용에 정리하고자 한다 그래도 배경 설명을 위해 Bloom에 대해 간단히 정리 유니티 URP에서 Bloom(다른 엔진들도 비슷하겠지만)은 다음과 같은 구조로 구현된다 Bloom할 부분 필터링(하면서 1/2 해상도로 Downscale) 위의 결과를 1/2 해상도로 Blur를 하면서 Downsampling 특정 횟수 반복 위의 결과를 2배 해상도로 Upsampling 특정 횟수 반복(Downsampling 때와 같은 횟수) 결과적으로 Downsampling 하기 전, 즉 필터링 후의 ..
서론 저번 글에 이어지는 EditorWindow 내용이다 https://wincnt-shim.tistory.com/406 Unity의 EditorWindow를 한 번 알아보자 그 첫번째! 덤으로 Reflection과 PropertyDrawer로 List 요소만 표시해 서론 전임자(필자는 만난 적 없음)가 전 프로젝트(필자는 참가한 적 없음)에서 만들었던 툴을 현재 담당하는 프로젝트에 마이그레이션하는 업무를 담당하게 되었다 아쉽게도 무지성으로 스크립 wincnt-shim.tistory.com 테스트를 위해 선택한 GameObject를 Count하는 메소드 작성 의미 없는 메소드를 만들어도 슬플 뿐이니 무엇인가 기능을 하나 만들어서 테스트해보자 이번 대상은 선택한 GameObject를 Count하는 메소드이..
서론 전임자(필자는 만난 적 없음)가 전 프로젝트(필자는 참가한 적 없음)에서 만들었던 툴을 현재 담당하는 프로젝트에 마이그레이션하는 업무를 담당하게 되었다 아쉽게도 무지성으로 스크립트를 복사하는 방법은 당연히 불가능했다…따흐흑 살짝 살펴보니 EditorWindow에 대한 지식이 없으면 옮길 것도 못 옮길 것 같아서 우선 EditorWindow에 대해서 알아보기로 하였다 Hello, World! 역시 Unity, 공식 문서에 튜토리얼이 있었다 커스텀 에디터 창 생성 - Unity 매뉴얼 커스텀 에디터 창 생성 - Unity 매뉴얼 커스텀 에디터 창을 사용하면 직접 에디터와 워크플로를 만들어 Unity를 확장할 수 있습니다. 이 가이드는 코드를 사용하여 에디터 창을 만들고, 사용자 입력에 응답하고, UI의..
서론 퍼포먼스 문제로 미뤄왔던 Outline… 그래도 일단 넣어보고 안 되면 빼자는 의견에 설득당해 일단 만들기로 했다 참고로 이번에 만들 건 카툰 렌더링 표현을 위한 Outline이 아니다 이번에 작업하면서 알게 되었는데 매우 귀찮게도 Outline의 표현은 2가지가 있으면서 명칭은 하나밖에 없다는 것이었다 최소한 필자는 명확히 구별되는 명칭을 찾지 못 했다 하나는 유니티의 씬 뷰에서 오브젝트 등을 클릭하면 나오는 Outline이다 오브젝트의 내부에는 Outline를 안 그리는 방식이다 인게임에서는 상호작용할 대상 오브젝트나 상태 이상(중독 등)을 나타낼 때도 사용되기도 한다 다른 방식은 툰 셰이딩, 셀 셰이딩 등 NPR의 특징 중 하나인 Outline이다 첫번째 방식과의 차이점은 오브젝트의 내부에도 ..
서론 아웃라인을 구현에 스텐실을 사용한 적이 있었는데, 그 때 스텐실로 이리저리 가지고 놀다가 만들게 된 Magic Card에 대해서 간단히 정리해보고자 한다 참고로 Magic Card란 이런 걸 말한다(특히나 VR에서 자주 보인다) https://www.youtube.com/watch?v=3ustSanqxD0 오브젝트들 배치 가장 먼저 Magic Card의 오브젝트들을 배치하자 위의 유니티짱들은 Magic Card에 그려질 오브젝트들이고, 빨간색 Quad가 Magic Card의 범위이다 (액자 틀 같은 건 그 범위를 알기 쉽게 하기 위한 일반적인 오브젝트이다) 레이어 태그 설정 그 다음은 태그를 설정하자 Magic Card의 구현을 위해서는 Magic Card에 그려질 오브젝트들에 대한 태그(여기서는 ..
서론 현재 프로젝트는 배경에 대해서는 Only Light Map이기 때문에, 광원도 Directional Light만 존재하고 Additional Lights에 대해서 딱히 고려하고 있지 않았다 하지만 슬슬 PV를 만들 때가 됐을 때, Directional Light만 있으면 작업이 힘들어지는데 퀄리티도 떨어진다는 이야기를 들었다 그렇다면? 아예 PV용 리얼 타임 배경 셰이더를 새롭게 하나 만들면 되지 않을까?! 퍼포먼스를 신경 안 써도 된다니 최고다!!!! 그렇게 Additional Lights(Point Light, Spot Light)가 적용되는 PV용 리얼 타임 배경 셰이더를 만들게 되었다 이런 건 우선 디폴트 Lit를 확인해야…어? 왜 안 됨? 예전에 URP의 Lit에서 Additional Li..
발생한 이슈 유니티를 버전 업하고 안드로이드 빌드를 실행할 때 에러가 발생했다 이슈 상세 - 빌드 시 Target Android SDK not installed 발생 발생한 에러는 다음과 같다 Target Android SDK not installed Android SDK does not include your Target SDK of 29. Please use the Android SDK Manager to install your target SDK version. Restart Unity after SDK installation for the changes to take effect. 발생 원인 - Android 10.0(API level 29)가 없기 때문 조사해보니 다음과 같은 사실을 알게되었다 ..
서론 배경 아티스트 분께서 Skybox에 Fog를 표현하고 싶다고 요청한 적이 있다 배경 오브젝트에는 Fog가 걸리지만 그 뒤의 Skybox에는 Fog가 생기지 않아서 위화감이 생긴다는 이유였다 당시의 필자는 Fog를 그 존재밖에 몰라서 대충 왜 그런지에 대해서 뇌피셜로 얘기하며 대응되는 셰이더를 만들겠다는 말을 남기고 호다닥 그 자리에서 도망쳤었다 다행히 뇌피셜로 떠든 게 대부분 사실이었다 우선은 Fog가 어떻게 적용되는지 알아보자 Default의 스카이박스는 물론이고 내장된 다른 Skybox 셰이더도 유니티에서 바로 볼 순 없다 그렇다고 아예 방법이 없는 것은 아니지! Download Archive Download Archive Download Archive unity.com 예전에도 한 번 작성한 ..
서론 여태까지 필자는 포스트 프로세싱을 위해서는 최소 4개의 버텍스를 가진 쿼드가 있어야 한다는 고정관념에 빠져 살아왔다 하지만 매우 충격적이게도 단 3개의 버텍스, 즉 삼각형으로 풀 스크린의 쿼드를 대신할 수 있다는 것을 알아버리고 말았다 이름하여 Full Screen Triangle!! 이 글은 풀 스크린 트라이앵글에 대해서 알게 된 내용을 정리한 글이다 참고로 Full Screen Triangle이란 단어(유니티의 함수 이름에서 발췌)는 여태까지 알고 있던 Full Screen Quad와 구별하기 위해서 사용하고 있지만, 보통은 둘 다 Full Screen Quad라고 부르는 것 같다 Blit.hlsl 물론 이 방법을 필자가 스스로 생각해낸 건 아니고 아래의 소스 코드에서 사용되고 있었다 com.u..