본문 바로가기

전체 글112

[Unity] Unity Event UnityEvent란, C#의 event+delegate를 래핑해 둔 것이다. C#에서 event는 게시자가 신호를 발신하여, 그 구독자가 해당 신호를 수신하게 하는 것이다. 또한, delegate는 함수를 가리키는 포인터 개념이다.  어떤 event를 구현할 때, 해당 이벤트를 발행하는 주체와 구독하는 주체를 분리하고, 서로가 서로를 인지하지 않도록 하여 기능이 추가될수록 코드가 점점 복잡해지는 것을 막기 위해 사용한다.  엔터 버튼을 누르면 이벤트가 발동되고, 해당 이벤트의 구독자들이 메시지를 출력하는 기능을 만들어 보겠다. 먼저, Event를 발행할 주체에 UnityEvent를 정의하고, 해당 이벤트를 발동시킬 함수를 정의한다.using System;using System.Collections;us.. 2024. 6. 7.
[ShaderGraph] Property(2) Blackboard에서 만들 수 있는 property들에 대해 알아본다. 1. Float 한 개의 수를 입력받는다. 2. Vector 2,3,4각각 2, 3, 4개의 수를 입력받는다. 각각 Float2, Float3, Float4와 동일한 개념이다. 사실, Vector2, 3, 4가 각각 Float2,3,4와 동일한 개념이라는 것에서 유추할 수 있듯, 수를 입력받는 float, Vector2, Vector3, Vector4는 모두 Vector4로 치환해도 무방하다. Vector4(=Float4)에서 앞에서 몇 자리의 수를 사용하는지에 따른 차이이다.  3. ColorColor property를 통해 insepector 창에서 직접 색상을 선택할 수 있다.기본적으로 Color는 (R,G,B,A) 값으로 구.. 2024. 6. 4.
[ShaderGraph] Properties(1) Property란, Shader Graph의 user interface가 되는 부분이다. 쉽게 말해, 유저가 직접 해당 Shader가 적용된 material 창에서 손수 조정할 수 있는 항목을 말한다.  Shader Graph의 Property는 다음 두 가지 방법으로 만들 수 있다. 1. blackBoard에서 직접 만들기2. node를 만든 후, 우클릭하여 convert to -> property 선택하기 Property의 Graph Inspector 창은 다음과 같이 해석한다. - Name: 해당 property가 inspector 창에서 사용할 이름- Reference: 해당 property의 (code 상의) 변수값- Default: 초기값- Mode: 해당 property를 inspector .. 2024. 6. 3.
[ShaderGraph] Custom Shader 저장/관리 기본적으로 새로운 Shader Graph를 만들면, 해당 Shader Graph는 Shader Graphs 에 저장된다.앞으로 여러 개의 shader graph를 만들면 만들수록 기본 경로에 저장하는 것으로는 효율적인 관리가 어려워질 것이므로, 경로 관리가 필요하다. shader graph가 저장되는 경로를 수정하려면, shader graph의 blackboard 창에서 다음 부분을 수정해 주면 된다.blackBoard 창에 Shader Graphs로 되어 있던 문구를 CustomShader로 수정한 후 저장하였다. 다시 material에서 shader 창을 열면, 다음과 같이 CustomShader 경로가 생성되고 그 아래 해당 shader graph가 저장되었음을 확인할 수 있다. 2024. 6. 2.