Unity
Unity :: 셰이더 그래프
BirdHead
2025. 3. 11. 18:46
셰이더 그래프란?
HLSL(High Level Shader Language) 코드 작성 없이 노드 기반으로 셰이더를 만들수 있는 기능입니다.
셰이더 그래프 사용 방법?
1. Project 부분에서 해당 경로를 따라가서 셰이더 그래프를 만들 수 있다.
2.우클릭 - Create Node를 사용하여 노드를 만들고 해당 Input에 기능들을 넣어 셰이더를 만들수 있다.
3.생성한 셰이더 그래프로 Material를 생성한다.
4.해당 Material를 사용할 스크립트 코드 작성
//Scene 전환시 사용되는 이펙트 효과로 간단하게 만든 스크립트 입니다.
//나중에 사용할시 Material 호출하여 사용하면 됨 .
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class TransitionScreen : MonoBehaviour
{
[SerializeField] private Material screenTransitionMaterial;
[SerializeField] private float transitionTime = 1f;
[SerializeField] private string prppertyName = "_Scrool";
public UnityAction OnTransitonDone;
public void OnTransitionScreen()
{
StartCoroutine(TransitionCoroutine());
}
private void Start()
{
StartCoroutine(TransitionCoroutine());
}
private IEnumerator TransitionCoroutine()
{
float curretnTime = 0;
while (curretnTime < transitionTime)
{
curretnTime += Time.deltaTime;
screenTransitionMaterial.SetFloat(prppertyName, Mathf.Lerp(0f, transitionTime, curretnTime));
yield return null;
}
OnTransitonDone?.Invoke();
}
}
간단하게 씬 전환시 사용되는 이펙트를 만들기위해 스크립트를 만들어 보았다.
5.Unity Scene에 오브젝트 및 컴포넌트 생성
Material을 잘 적용했는지 체크 할 것
6.체크
이번 포트폴리오 중 대화시스템을 구현 중에 화면 전환이 필요해서 셰이더 그래프를 익혀보았고
다른 예제들을 찾아보며 적용 중이다.