반응형

Unity 125

Unity Animation Clip Curves 복사 후 새로운 클립에 넣어주기

void ParseClip(AnimationClip clip, AnimationClip newclip, int clipnumber) { StringBuilder s = new StringBuilder(); AnimationClipCurveData[] cdataarray = AnimationUtility.GetAllCurves(clip, true); int l = ((AnimationClipCurveData[])cdataarray).Length; AnimationCurve[] animationCurve = new AnimationCurve[l]; for (int i = 0; i < l; i++) { animationCurve[i] = cdataarray[i].curve; } EditorCurveBindin..

Unity/문제해결 2022.09.14

Unity C# Event_ 유니티 C# 이벤트 예제

Event - 이벤트? 👉 이벤트는 클래스 내에서 특정한 일이 일어났을을 외부의 이벤트 가입자들에게 알려주는 기능 이벤트를 발생시키는 것은 델리게이트를 정의해서 메서드를 간접 호출 메서드 호출에 유연성을 가질 수 있음 전체적으로 사용법은 델리게이트와 비슷하지만, 실행은 오직 클래스 안에서만 가능함 0️⃣ 기본형 //이벤트 정의 public event EventHandler Click; //이벤트 구독 btn.Click += new EventHandler(ButtonClick); //이벤트 호출 Click(this, EventArgs.Empty); //C# Event를 사용하기 위해선 System; 를 사용해줘야함 using System; using UnityEngine; public class MyBut..

MRTK Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem.LateUpdate () 에러

KeyNotFoundException: The given key was not present in the dictionary. NullReferenceException: Object reference not set to an instance of an object Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem.LateUpdate () (at Library/PackageCache/com.microsoft.mixedreality.toolkit.foundation@77ace9b43b00-1657168687031/Services/InputSystem/MixedRealityInputSystem.cs:267) MRTK에서 프로파일 세팅 에러 인줄 알았으..

Unity/문제해결 2022.07.25

Unity Delegate_ 유니티 델리게이트 예제

Delegate - 델리게이트 ? 👉 "대행자" 라는 뜻임 델리게이트는 함수에 대한 참조 타입의 일종 하나의 델리게이트로 여러 함수들에 접근이 가능함 또한, 함수를 파라미터로 전달 할 수도 있음 0️⃣ 기본형 delegate 반환타입 델리게이트명(매개변수); using UnityEngine; public class Delegate : MonoBehaviour { //델리게이트 선언 해주기 delegate void BasicDelegate(); private void Start() { //델리게이트 타입의 변수를 만들어주고 //함수를 넣어줘서 참조하게 만들어줌 BasicDelegate basicDelegate = new BasicDelegate(PrintMyName); //델리게이트 호출 basicDele..

Color 값 표현에 유용한 수식들

half4 result = 1 - color; -> Invert 효과를 줌 half4 result = pow(color, 0.5); -> 제곱근를 줘서, 이미지의 흰색과 검정색에는 변화 없이 중간 밝기 영역만 조절 할 수 있음 V 그래프를 만들어주는 수식 절댓값을 표현하는 Abs 함수를 사용함 y = Abs((x - 0.5) * 2) 로 표현 할 수 있다. 이런 형태로 V 곡선이 만들어짐 A 곡선은 y = 1 - (V곡선) 으로 만들어주면 된다.

Unity/URP 2022.07.17

ShaderGraph, Swizzling 이란?

Swizzling 이란? Swizzling은 모든 원본 레지스터 구성 요소를 임시 레지스터 구성 요소에 복사하는 기능을 나타냅니다 (https://docs.microsoft.com/ko-kr/windows/win32/direct3dhlsl/dx9-graphics-reference-asm-ps-registers-modifiers-source-register-swizzling) 원문에서는 복잡하게 느껴질수있지만, 그래프에서 사용되는 예시를 보면 보다 쉽게 이해 할 수 있음 현재 BaseColor는 (3)으로 Vector3를 받아서 Color값을 표현함 하지만 Input으로 받는 값은 Float 값 (1)임, 상식적으로는 1개의 값으로 3개의 값을 표현하려면 오류를 떠야하는게 당연함 하지만 스위즐링으로 사용해..

Unity/URP 2022.07.17

Unity Shader Graph _ 유니티 셰이더 그래프

유니티 셰이더 그래프는 SRP(Scriptable Rendering PipeLine)에서 사용할 수 있는 노드 방식의 셰이더 에디터임 나의 목표는 HLSL 코드로 적성하는 게 목표이나, 셰이더 그래프도 최근에는 많이 쓰이고, 목적에 따라서 두 가지를 모두 사용하는 경우가 있으니, 기본적인 사용 방법은 정리할 필요가 있다. ---- - 셰이더 그래프 생성 기본적으로는 Project -> Create -> Shader -> Universal Render Pipeline -> 원하는 세이더 선택 생성 후 더블클릭을 하면 셰이더 윈도우창이 만들어진다. 유니티로 돌아와서 인스펙터를 보면 이러한 모습이 보인다. 셰이더 그래프도 사실 쉐이더 코드를 변환 한 것이기 때문에 ViewGenerated Shader 로 현재..

Unity/URP 2022.07.17

Unity Addressables Remote로 서버에서 다운로드 받기

앞서 어드레서블에 대한 기본 세팅을 해보았다. 어드레서블을 사용해야 하는 이유는 기존 트윈월드에 있는 에셋 번들의 문제점에서 시작된다. 1. 에셋 번들은 2018버전 부터 관리자를 지원하지 않음 -> Profiler가 따로 존재하지 않아서, 번들의 사이즈와 어디에 의존성이 걸려있는지 파악하기 어려웠음 어드레서블은 Veiwer를 제공해줘서, 다운로드가 끝났는데 불 필요한 메모리를 날려 줄 수 있음 2. 번들에서 중요한 그룹핑을 쉽게 해줄 수 있고, 라벨링을 달아서 필요한 번들만 가져올 수 있음 3. 어드레서블로 번들을 추적하기 때문에, 에셋이 달라졌을 때, 유저가 새로 앱을 다운 받지 않고도, 에셋을 바꿔줄 수 있음 4. GetDownloadSizeAsync()와 같이 한번 받은 적 있으면 번들은 다운 받..

Unity 2022.06.15
반응형