본문 바로가기

유니티52

유니티 메모리 관리, Garbage Collector, GC 최적화 접근방식, 유니티 원죄의 GC 스파이크의 답답함이란... 점진적 GC, Incremental GC는 해결책이 될까? 유니티 메모리 관리, Garbage Collector, GC 최적화 접근방식, 유니티 원죄의 GC 스파이크의 답답함이란... 점진적 GC, Incremental GC는 해결책이 될까? 유니티 프로젝트를 진행하다 보면 초기에는 그냥 두다, 후기에 항상 큰 문제가 되는 메모리 부분 이야기를 조금 써보려 합니다. 최적화 힌트 제공보다는, 왜 유니티 GC가 느린가? 얼마나 느린가 등 정보가 많네요. heap 공간에 할당되는 메모리 기본적으로는 힙 heap 공간에 할당되는 메모리에 대한 이야기입니다. 유니티 같은 경우는 Mono 프로젝트를 기반으로 돌아갑니다. Mono는 또 뭔데? 오픈소스 개발자 그룹이 리눅스 환경 등 윈도우 이외의 환경에서도 NET Framework를 사용하기 위해 만든 프로젝트입니다. 유니티.. 2021. 6. 21.
유니티 셰이더 그래프 포스트 프로세스 05 화면합성 03, CheckerBoard, Polar Croordinates, Twirl 노드 활용 유니티 셰이더 그래프 포스트 프로세스 05 화면합성 03, CheckerBoard, Polar Croordinates, Twirl 노드 활용 Checkerboard 노드를 활용해서 다양한 효과를 만들어 봅시다. 원현파동노드구성 Polra Coordinates와 Checkerboard를 활용해서 다양한 모양을 만들어 본다. 원형파동형 Color은 255,0,0 0,0,0 사용 시간으로 변화량을 준다. 현재의 실행결과 위의 노드를 살짝씩 바꾸어 가며 효과를 보자. 시간 변화량을 Combine 노드에 G값에 연결하기 실행결과 시간변화량을 Combine 노드의 RG에 동시에 적용 실행결과 해당 작업을 마지막으로 Polar Croordinates를 수정해 시작 위치를 바꿔보자. 실행결과 Twirl + Polar .. 2021. 5. 11.
유니티 셰이더 그래프 포스트 프로세스 04 화면합성 01 격자식 도형구성, 원, 스프라이트, 바둑판형 유니티 셰이더 그래프 포스트 프로세스 04 화면 합성 01 격자식 도형 구성, 원, 스프라이트, 바둑판형 이전을 이어 화면합성을 이어가겠습니다. 먼저 도형모양을 좀 더 복잡하게 사용해보도록 합시다. 격자식 도형 구성 노드 uv를 5번씩 사용하게 하여 준비하고 거기에 도형을 곱해줍니다. 그 결과에 시간 값을 변화량으로 준 뒤 출력시켜 봅니다. 출력 결과 요런 효과는 일반적으로 흘러가는 효과를 동봉하곤 합니다. 좀 더 촘촘하게 만들며 흘러가는 효과까지 더해 봅니다. 노드 구성 Tiling and offset에서 offset 값을 주어 흐르게 합니다. time값을 가져오는데 너무 빨라서 적당히 값을 곱하여 씁니다. 5,5 -> 15,15까지 늘려보았습니다. 출력 결과 스프라이트 합성 효과 노드 구성 적당히 C.. 2021. 5. 10.
유니티 셰이더 그래프 포스트 프로세스 03 화면합성, 알파합성, 도형합성, 노이즈 합성 유니티 셰이더 그래프 포스트 프로세스 03 화면합성, 알파합성, 도형합성, 노이즈 합성 이번에는 세이더 그래프로 포스트 프로세스 효과, 화면 합성을 해봅시다. 간단하게 씬 전환등에 사용되는 미리 찍어둔 씬 화면의 합성이겠죠. 일반적으로는 그냥 알파정도 빼버리고 꺼버리지만 셰이더그래프를 통해 합성하는 흉내를 내 봅시다. A텍스처와 게임 화면의 합성이라고 생각하고 진행합시다. 일반적으로 생각하시는 알파 합성은 다음 노드 정도로 구성하시면 될듯합니다. 실행결과 많이들 셰이더로 합성하진 않고 그냥 앞에 깔아두고 Alpha를 조절하겠죠. 굳이 셰이더를 써서 할 이유가 없긴 합니다. 이렇게 해도 된다는 뜻으로 만든 것이지. 하나만 더, 가로로 나타나는걸 해볼까요? 노드 구성 uv의 u성분 값을 이용해서 구현 실행결.. 2021. 5. 8.
유니티 셰이더 그래프 포스트 프로세스 02 예술적 조절 노드들 사용, 칼라믹스, 대비, 색조, 채도 조정, Unity Shader Graph Post Process apply Artistic Adjustment 유니티 셰이더 그래프 포스트 프로세스 02 예술적 조절 노드들 사용, 칼라믹스, 대비, 색조, 채도 조정, Unity Shader Graph Post Process apply Artistic Adjustment 이번에는 뭐뭐뭐를 해봅시다. 기본 화면 dither 노드 적용 디더 실행결과 확대 디더를 적용한 결과를 보았습니다. Color Mask 노드 사용 ColorMask 노드를 사용해 유사한 칼라 영역을 찾고 해당 부분만 밝게 해 본 결과 칼라 마스크만 출력한 결과 0~1 결과물이 나옴 실행결과 적당히 조작하여 검출된 부분만 살려봄, 위의 노드 결과 이것저것을 해보는 중입니다. 감사합니다. 2021. 5. 7.
유니티 셰이더 그래프 포스트 프로세스 01 예술적 조절 노드들 사용, 칼라믹스, 대비, 색조, 채도 조정, Unity Shader Graph Post Process apply Artistic Adjustment 유니티 셰이더 그래프 포스트 프로세스 01 예술적 조절 노드들 사용, 칼라믹스, 대비, 색조, 채도 조정, Unity Shader Graph Post Process apply Artistic Adjustment 셰이더 그래프로 포스트프로세스 작업을 해보도록 합니다. 먼저 유니티 2021에서 셰이더 그래프로 작성한 셰이더를 포스트 프로세스 작업화 하는 글은 따로 있습니다. Unity 2021에서 Add Renderer Feature에서 Blit 적용을 통한 셰이더그래프를 통한 포스트포로세스 흉내 내 Unity 2021에서 Add Renderer Feature에서 Blit 적용을 통한 셰이더그래프를 통한 포스트프로세스 흉내 내보기 + 간단한 예제 사용법 셰이더 그래프를 만지작 거리다 보니, 후처리, 포스트 .. 2021. 5. 6.
Unity 2021에서 Add Renderer Feature에서 Blit 적용을 통한 셰이더그래프를 통한 포스트포로세스 흉내 내보기 + 간단한 예제 사용법 Unity 2021에서 Add Renderer Feature에서 Blit 적용을 통한 셰이더그래프를 통한 포스트프로세스 흉내 내보기 + 간단한 예제 사용법 셰이더 그래프를 만지작 거리다 보니, 후처리, 포스트 프로세스에서도 쓸 수 있을까란 의문이 생겼고, 또 자료를 이것저것 찾아보았다. 유튜브를 이것저것 뒤지도 보면 되어 보인다. 아래 영상들을 보면, 한글 버전이라 가져와 보았다. 오 포스트 프로세싱 노 코딩으로 되는건가? 위의 영상을 보실 필요는 없다. 결론적으로 2021에서는 저렇게 안된다. 특정 기능이 빠져있기 때문에, 이 글에서 살리는 법을 적을 예정인 것이고, 뭐가 안되냐면 Renderer에서 Renderer Features에서 + 시킬 때 과거 버전(정확히 어디까지 있는 건지 모르겠다.)에서는.. 2021. 5. 4.
유니티 셰이더 그래프 예제 27 클로킹 셰이더, Unity shaderGraph cloaking 유니티 셰이더 그래프 예제 27 클로킹 셰이더, Unity shaderGraph cloaking 클로킹이라고 불리는 걸 구현해보도록합시다. 적당히 내가 투명화 된 느낌이 나는 그런 효과입니다. Lit 셰이더를 하나 생성합니다. Graph Inspector에서 Alpha Blend 설정을 마줘줍니다. 클로킹을 하면서 배경색(배경이 랜더링된 택스쳐를) 을 오브젝트가 사용할 것인데 이럴때는 해당 블랜딩이 설정되어 있어야 합니다. 추가로 배경이 랜더링된 택스쳐를 참조하려고 할때는 추가작업이 선행되어 있어야 합니다. 사전체크사항 관련하여는 다른 글에 있는 부분 참고를 부탁드립니다. 링크는 남겨둡니다. Opaque Texture 활성화 여부에 관한 내용이 아래 글 상부에 나와있습니다. 유니티 셰이더 그래프 예제 1.. 2021. 5. 1.
유니티 셰이더 그래프 예제 26 카메라 거리에 따른 효과 생성+조개 에니메이션, Unity ShaderGraph Camera Distance Effct + shellfish open animation 유니티 셰이더 그래프 예제 26 카메라 거리에 따른 효과 생성+조개 애니메이션, Unity ShaderGraph Camera Distance Effct + shellfish open animation 이번에는 카메라 거리에 따른 변화를 유니티 셰이더 그래프로 표현해보겠습니다. 먼저 Lit 셰이더를 하나 만들고 Graph Inspector에서 알파를 사용하게 만들어주세요 일단 먼저 간단하게 카메라 거리에 따라 알파블랜딩을 넣어보겠습니다. 노드 구성 distance에 add 하는 값을 효과를 볼거리라고 생각해주세요 실행결과 두 번째로는 카메라 거리에 따라 조개가 입을 여는 효과를 구현 해보도록 하겠습니다. 먼저 카메라 거리에 따라 물체를 회전시키게 적용 노란 부분은 위에서 만든 노드 파란 부분은 노란 부분 .. 2021. 4. 30.
유니티 셰이더 그래프 예제 25, 찢어진 깃발효과+에니매이션, Unity ShaderGraph tear flag animation 유니티 셰이더 그래프 예제 25, 찢어진 깃발 효과+에니매이션, Unity ShaderGraph tear flag animation 깃발을 구현해 봅시다. 찢어진 효과와 애니메이션, 그리고 uv를 사용한 축 제한 등이 주요 내용이 될 거 같습니다. lit 모델로 하나 생성합니다. Graph Inspector 설정 Alpha clip 설정을 해줍니다. 찢어진 효과를 내줄 때 사용됩니다. 깃발 에니메이션 효과 제작 노드 구성 포지션을 x를 기반으로 사인파의 베이스를 생성합니다. 시간 흐름을 더해주어 움직임을 만들어 주며 uv의 x 값 0~1로 펴진다는 전재하에, 사용해주어서 깃발의 시작점의 움직임을 최소화시켜줍니다. uv를 통한 마스킹 그리고 값을 쪼개서 z 값에 더해줘 봅니다. 실행결과 깃발이 시작 부분은.. 2021. 4. 29.
유니티 셰이더 그래프 예제 24, 폭포 효과, Unity ShaderGraph WaterFall 유니티 셰이더 그래프 예제 24, 폭포 효과, Unity ShaderGraph WaterFall 폭포 효과를 만들어 봅니다. 유니티 셰이더 그래프로, 유니티 공식 예제를 보고 따왔습니다. 문제는 공식 예제를 좀 보려고 소스를 받았는데, 대부분 리소스가 안 올라와서, 버전을 같이 맞추었는데도.. 메쉬와 텍스처들이... 공부 차원에서 좀 얼어서 자세히 보려 했으나, 쉽지 않았습니다. 실제로 하고 싶었던 건 아래 물에 구현에서 폼(물과 해안 경개선에서 거품이라던지) 반사효과(유사)라던지 이런 쪽을 보고 싶었지만, 요건 리소스가 다 나가 있어 일단 못 보겠더라고요 셰이더 소스 자체는 봐집니다. 적당히 보았습니다. 그중에서 WaterFall만 좀 가져와 보았습니다. 폭포 노드 구성 보로노이를 하나 만드는데 입력값.. 2021. 4. 28.
유니티 셰이더 그래프 예제 23, 인터랙티브 버텍스 효과, Unity ShaderGraph Interactive Vertex Effect 유니티 셰이더 그래프 예제 23, 인터랙티브 버텍스 효과, Unity ShaderGraph Interactive Vertex Effect 요번에는 인터렉티브 버택스 효과를 만들어 봅시다. 먼저 Lit 모델을 하나 만듭니다. 버택스를 조절시켜 표면이 지글거리를 효과를 만들어 볼 건데, 쉽게 생각하면 노말 방향으로 버택스를 조절시ᄏ면 얼추 되지 않을까란 상상을 하실 수 있습니다. 먼저 그렇게 해봅시다. 노말 방향 대비 버택스 조정해보기, 노드 구성 아래는 변화를 보기 위해 시간 값 기반 변화량 값을 만들어서 연결한 것이고 빨간 태두리 안이 버택스를 움직이는 로직입니다. 실행결과 사실 지글대는 느낌도 없고, 그냥 커졌다 작아졌다 정도. 그리고 무엇보다 치명적인 것은 가운데 여러 부분에서 크랙이 생긴다는 점입니.. 2021. 4. 28.