Unity(121)
-
[Unity] 유니티 함수의 종류 (제작 함수, 이벤트 함수, 제공 함수)
제작 함수필요한 기능을 직접 제작하여 사용하는 함수 이벤트 함수Start 함수와 같이 자동적으로 실행되는 함수, 특정 지점에 실행되는 함수 제공 함수print, Debug.Log 함수 같이 유니티에서 이미 만들어져서 제공하는 함수. 호출해서 사용할 수 있음. 클래스 최상단에 namespace라 부르는 using.unityengine; 부분이 Random.Range 등의 제공 함수를 사용할 수 있게 해 준다. namespace는 클래스를 관리하는 공간이다. Random.Range : Random 클래스의 Range 함수를 사용int value = Random.Range(1, 10); namespace는 다음과 같이 임의로 작성할 수 있다.namespace Utility{ public class..
2023.08.07 -
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 2 (홀로그램 만들기)
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 (조명 효과, 깜빡이는 조명 만들기)HDR과 Bloom 효과는 저사양의 모바일 게임에서 사용하거나 레트로한 느낌을 주기 힘들기 때문에 프레넬 효과를 이용하여 만들어 볼 것이다. 조명 효과 Street Light 3D Model Free Download | 3DModelsCC0 Free Strelightbakery.tistory.com이전 글에 이어서, 가로등 조명 효과 셰이더에서 [One Minus] 노드를 빼면, 반대가 되므로 가운데가 투명하고 바깥으로 갈수록 진해지는 보호막, 비눗방울 효과가 생기게 된다. 예제 공룡 뼈에 간단하게 홀로그램을 적용하기 위해 [Fresnel Effect] 노드를 연결해보면, [HalfLamb..
2023.07.20 -
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 (조명 효과, 깜빡이는 조명 만들기)
HDR과 Bloom 효과는 저사양의 모바일 게임에서 사용하거나 레트로한 느낌을 주기 힘들기 때문에 프레넬 효과를 이용하여 만들어 볼 것이다. 조명 효과 Street Light 3D Model Free Download | 3DModelsCC0Free Street Light 3D Model. Public Domain License. No credit or attribution required.www.3dmodelscc0.com책의 예제와 같이, 무료 가로등 에셋을 받아서 프레넬 효과를 적용해 줄 Sphere 하나를 가로등에 씌워준다. 조명 효과를 줄 것이기 때문에 [Surface Type] - [Transparent], [Blending Mode] - [Additive]를 적용시켜 준다. [Fr..
2023.07.20 -
[Unity] URP 셰이더 프레넬 셰이더(Fresnel Shader)
프레넬(Fresnel) 효과는 게임에서 배경과 캐릭터의 분리나 강조를 위해 또는 선택되었을 때 프레넬 효과를 과장하여 사용한다. 테두리를 강조하는 비슷한 효과인 림 라이트도 프레넬로 만든다. Fresnel Shader 만들기프레넬(Fresnel)은 물체가 기울어질수록 반사가 심해진다. 이 말은 내가 바라보는 방향(벡터)에 따라 노말 벡터와 계산으로 반사가 달라져야 한다는 것이고, 따라서 [Normal Vector]와 [View Direction]의 [Dot Product] 연산을 한다.카메라를 바라보는 면이 밝고, 각도가 커질 수록 어둡게 보인다. [One Minus] 노드를 이용해서 반전을 시켜보면, 하지만 아직 빛나는 부분의 면적이 넓으므로 일부만 빛나게 만들려면 어두운 부분은 완전히..
2023.07.20 -
[Unity] URP 셰이더 그래프로 Lambert Light 만들기 (+Half Lambert)
간단한 Lambert Light[Normal Vector] 노드와 [CustomLight] 커스텀 노드를 [Dot Product]로 내적하여 Lambert Light를 표현할 수 있게 되었다. 하지만 여기서 -1부터 1까지 표현되는 그림자이기 때문에 추가 조명을 더해도 -1에서 0이상 밝아지지 않는 문제가 있을 수 있으므로 0~1로 제한하는 [Saturate] 노드를 붙여준다. ([Maximum] 노드를 사용해 들어온 값과 0을 비교하여 0 이하는 더 큰 값인 0을 출력하게 할 수도 있고, [Clamp] 노드를 이용하여 직접 0~1 범위를 설정할 수도 있다.) Normal Map 적용예제 파일에 함께 들어있는 Normal Map을 사용한 모습인데, 기존 Normal Map의 Space가 Tange..
2023.07.18 -
[Unity] URP 셰이더 커스텀 노드로 Light Vector 노드 만들기
먼저, [Custom Function] 노드의 Graph Inspector를 정리하면, Precision: 값의 정밀도이다.Inherit: 이전 노드에서 상속받는 정밀도Single: Float과 같으며 32bit 정밀도이다. 높은 품질과 정밀도를 가진다.Half: 16bit 정밀도로 Single보다는 조금 떨어진다.Use Graph Precision: Graph Setting에서 결정한 정밀도를 사용하는 옵션이다. HLSL 함수 이름이 Precision에 맞춰서 자동으로 접미어가 붙기 때문에 출력 변수의 단위가 이 Precision에 맞지 않으면 에러가 난다.Preview: 2D/3D 어떤 것으로 볼지를 결정한다.Inputs/Outputs: 다른 노드의 Input과 Output처럼 입력과 출력값이다.T..
2023.07.18