반응형

Unity 125

Action, AddLisnear 사용 후 -=, RemoveLinear 해주기

☝. 당연한 얘기지만, Action 및 AddLisnear 사용 후 제거를 해줘야한다. 메모리 관리 뿐만아니라, 이중적으로 이벤트가 불리는 경우가 많기 때문에 Disable이나, 빠지는 메서드가 호출 되면 빼주는 걸 습관화 해야한다. https://docs.unity3d.com/ScriptReference/Events.UnityEvent.RemoveListener.html Unity - Scripting API: Events.UnityEvent.RemoveListener Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read ..

Unity WebRequest, C# file 클래스 사용 후 닫아줘야함

C# file 사용후 Cloes는 해주지만, Unity WebRequest 사용 후도 Close 처럼, Dispose가 Close 역할을 해준다. https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.Dispose.html Unity - Scripting API: Networking.UnityWebRequest.Dispose You must call Dispose once you have finished using a UnityWebRequest object, regardless of whether the request succeeded or failed. For safety, it is usually a best practice to ..

strategy pattern _ 스트래티지 패턴 [전략 패턴]

☝스트래티지 패턴이란? - 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화 하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶을 경우 직접 수정하지 않고, 잔략 클래스를 바꿔주기만 함으로 써, 행위를 유연하게 확장하는 방법 즉, 객체가 할 수 있는 행위들을 전략으로 만들고, 만약 수정이 필요한 경우 전략 클래스만 바꿈으로서 수정이 용이하게 함 --- 인터페이스 제작 // IWeapon 인터페이스 // Shoot(); public interface IWeapon { void Shoot(); } IWeapon 이라는 인터페이스가 있음, Shoot() 메서드를 구현해야함 인터페이스 접근점 제작 public class MyWeapon { // 접근점 privat..

Unity PROCEDURAL TERRAIN _ 여러 개 점,면 만들어서 노이즈 맵으로 지형 만들기

.☝ PROCEDURAL은 절차적인 의미로써 모델링 또는 fx에서 많이 쓰인다. 프로시졀의 장점은 예측이 가능하고, 특정 부분에서 런타임중 접근이 용이하다. 일반적으로 모델러가 만들어준 모델링은 그 과정을 알 수가 어렵기 때문에 항상 결과물만 이용하게 된다. 하지만, 프로시졀 모델링은 그 과정을 알 수 있기 때문에 수정이 용이하다 대표적으로 프로시졀 모델링은 후디니에서 많이 사용한다. (노드 기반) ----- 저번에 이어서 면을 만들어 줄 것인데 이번에는 점을 가지고 있는 플랜한 면을 만들어 줄 것이다. 기본적인 오브젝트를 하나 만들어주고, 메시 필터, 메시 렌더러, 만들어준 스크립터를 달아준다. using UnityEngine; public class MeshGenerate : MonoBehaviour..

URP 셰이더 그래프 _ 자국 남기는 효과

연산 그래프를 사용하여 Fade와 날카로운 정도를 표현해주는 이펙터를 만들어 볼 것이다. 빼기와 Saturate 노드를 사용할 것 먼저 이런 알파가 빠져있는 이미지를 준비해주었다. Subtract 연산을 해주면 fade 값 만큼 빼기가 된 것 Subtract 값이 0일때는 기본적인 알파가 빠진 모습 fade가 0.5 일 때는 0.5 만큼 전체적으로 내려가서 알파가 깍인 모습이다. 하지만 그래프를 통째로 내리기 때문에 - 값 까지 표현되서 이상한 검정색이 보이게 된다. Saturate 노드를 이용하여 0이하의 값인 - 값을 0으로 바꿔주고 1이상의 값은 1값으로 플랫하게 바꿔준다. 적용하게 되면 이상하게 나온 음수의 값이 사라진다. 이제 날카로운 정도를 줄 것이다. 날카롭게 하기 위해서는 그래프 선을 올려..

Unity/URP 2022.10.02

URP 셰이더 그래프 _ 컬러 값 연산노드

☝개요 셰이더 사용하는 연산 노드들을 찾아 볼 것이다. 셰이더 또한 크게 보면 숫자로 이용하여 컬러를 만지는 것이기 때문에 연산을 해주는 기본적인 노드는 매우 중요한 것이다. Add / Subtract - 값을 더 해주고 빼주는 노드 Multiply - 값을 곱해주는 노드 Divide - 값을 나누어 주는 노드 - 나누기 연산은 곱하기 연산보다 느리다. 그래서 1/2로 나누기를 한다면 0.5를 곱하는 것이 효과적이다. Pow 연산 pow(x, 2.0) 은 x에 2 제곱하는 결과이다. 만약 x가 2 이면 2의 2제곱인 4의 값이 나온다. 만약 x 가 0~1.0 사이 값이면 x 보다 작아진다. pow(0.5, 2.0) 이라면 0.5 * 0.5 이기 때문에 더 작은 0.25가 된다. 이러한 pow 함수의 특성..

Unity/URP 2022.10.02

Unity Mesh Create Basic _ 유니티 면 만들기 기본

☝ 개요 - 3D Tool 에서 Mesh는 기본적으로 Vertex (점)으로 이루워졌음 그래서 런타임 중이나 Procedual Modeling를 하려면 기본적으로 점을 다룰줄 알아야한다. 그렇기에 면 하나를 만드는 과정을 정리하려고 한다. using UnityEngine; [RequireComponent(typeof(MeshFilter))] public class MeshGeneration : MonoBehaviour { Mesh mesh; Vector3[] vertices; int[] triangels; void Start() { mesh = new Mesh(); GetComponent().mesh = mesh; CreateShape(); UpdateMesh(); } void CreateShape() ..

반응형