Unity(122)
-
[Unity] URP 셰이더 그래프 기초 개념
ShaderGraphURP에서 생성할 수 있는 셰이더 그래프 종류를 볼 수 있다.Lit Shader Graph: 빛을 받고 그림자를 만들 수 있는 셰이더Unlit Shader Graph: 빛과 무관하게 텍스쳐 그대로 보여주는 셰이더 셰이더 그래프 [Inspector] 창에서 [View Generated Shader]를 누르면 비주얼 스튜디오에서 코드를 볼 수 있다. 마스터 스택은 "Vertex"와 "Fragment"로 분리되어 있는데 각각 Vertex Shader와 Fragment Shader를 말한다. Precision[Graph Inspector]를 보면 [Precision]이라고 정밀도를 선택할 수 있는 메뉴가 있다.Single: float과 같으며 32비트의 매우 높은 고정밀도이다. Def..
2023.05.26 -
[Unity] URP 셰이더를 위해 알아야 할 것들
셰이더란 무엇인가?-화면에 그려지는 픽셀의 색을 결정하는 프로그램. GPU 내부에서 실행되기 때문에 여러 픽셀에 대해서 동일한 셰이더가 동시에 실행된다.-아티스트의 시각에서는 "그래픽 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 계산 방법" Graphics API 종류와 프로세스-Direct3D, OpenGL, Vulkan, Metal 등고해상도 픽셀 수가 많아져도 Vertex Shader의 실행 횟수는 일정. 하지만 Pixel Shader는 늘어난 픽셀 수만큼 많이 실행된다.Pixel Shader는 최종적으로 모니터에 보이는 점. Fragment Shader는 raterizer에서 생성된 점. Fragment Shader에서 다른 조각에 의해 가려졌는지, Stencil 검사 통과, Anti..
2023.05.23 -
[Unity]C# for, foreach, while, do-while문 정리
for 문// for loopint[] nums = { 1, 2, 3, 4, 5 };for (int i = 0; i 자료형[] 변수 = { 1, 2, 3, 4, 5};for (자료형 i = 0; i 반복 횟수를 알고 있을 때배열과 함께 주로 사용 foreach 문// foreach loopforeach (int num in nums){ Console.WriteLine(num);}foreach (자료형 변수 in 배열변수){ Console.WriteLine(변수);}배열이나 List의 크기를 구할 필요가 없음수행속도가 빠름반복문 내에서 값 변경 불가능while 문// while loop exampleint i = 0;while (i // while loop exampleint 변수 = 0;while ..
2023.04.11 -
[Unity]텍스쳐 최적화를 위한 TexturePacker 사용하기
[Unity] Sprite Atlas 기능 사용하기 [Unity] Sprite Atlas 기능 사용하기Unity 프로젝트에서 UI 최적화를 위해 Sprite Atlas를 사용할 수 있다. Sprite Atlas에 대해서 알아보자. 먼저, 에셋 스토어에 있는 무료 이모지를 이용해서 기능을 사용해보려고 한다. (링크) 해당 이모지lightbakery.tistory.com이전에 UI의 드로우콜을 줄이는 최적화를 위해 SpriteAtlas를 사용했었다. 이번에는 Texture의 최적화를 위한 TexturePacker 에셋에 대해서 알아보고자 한다. Sprite Atlas는 아틀라스를 만들어서 그 안에 내가 패킹하고자 하는 UI들을 넣어서 하나의 묶음으로 만드는 기능이다. 하나의 묶음으로 만듦으로써 드로우콜을 ..
2023.03.27 -
[Unity] Sprite Atlas 기능 사용하기
Unity 프로젝트에서 UI 최적화를 위해 Sprite Atlas를 사용할 수 있다. Sprite Atlas에 대해서 알아보자. 먼저, 에셋 스토어에 있는 무료 이모지를 이용해서 기능을 사용해보려고 한다. (링크) 해당 이모지를 받아서 Package Manager로 프로젝트에 import를 시켜주면 많은 이모지 스프라이트들이 들어있는 것을 확인할 수 있다. UI 이미지를 넣듯 2D 상에 9가지의 이모지를 골라서 씬에 올려보았다.추가로, [Window] - [Analysis] - [Frame Debugger] 로 드로우 콜을 함께 보도록 한다. 총 9개의 드로우 콜이 생기는 것을 볼 수 있다. 이제 프로젝트 안에 Sprite Atlas를 생성하여 어떤 변화가 있는지 살펴보자. 원하는 폴더 안..
2023.02.19 -
[Unity] 빌드에서만 스프라이트가 핑크색으로 보이는 경우
프로젝트 진행 중, 에디터에서는 분명 괜찮았던 UI 이미지가 빌드를 하니 핑크색으로 보이는 경우가 생겼다. 예시 이모지 UI들은 에디터 상태에서는 잘 보인다. 물론 Play Mode에서도 이모지들은 잘 보여진다. 하지만 빌드를 해서 실행해보면 이모지들이 보여지지 않는다. 특별한 에러가 Console 창에 뜨진 않았고, 셰이더의 문제도 아니었는데, 답은 생각보다 간단했다.첫 이미지로 되돌아가보면, 해당 이모지의 Inspector - Image - Material 이 'none (meterial)'로 되어있는 것을 볼 수 있다. 이것을 'Sprites-Default'로 바꾸면 간단하게 해결 된다. Material만 바꿔줬는데 빌드에서도 잘 나오는 것을 볼 수 있다. 문제 해결!
2023.02.19