캐릭터 입장씬에 대한 연출작업을 진행하고 있습니다.

초반에 설계가 아예 없던 내용이고 이미 정해져 있는 구조에서 끼워 넣으려니 뭔가 애매한 부분이 있습니다.

원하는 효과는 햇살과 페이인 아웃인데, 유니티 시네머신으로 만드는 것이 아니다 보니, 시간에 따라 코드로 효과를 빼고 넣는 연출을 넣었습니다.

처음에는 프로그램 팀에 부탁하려고 했는데, 이 순서대로 만드는 것을 일일이 설명하기 쉽지 않기 때문에 AI님과 작성하였습니다.

 

더보기
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using System.Collections;

public class ToggleLightVolumetrics : MonoBehaviour
{
    public Light directionalLight;
    private HDAdditionalLightData hdLightData;
    public float duration = 4.0f;
    public Volume volume;
    private Fog fog;

    void Start()
    {
        hdLightData = directionalLight.GetComponent<HDAdditionalLightData>();

        if (!volume.profile.TryGet(out fog))
        {
            Debug.LogError("Fog Component is missing");
        }
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.F9))
        {
            hdLightData.affectsVolumetric = !hdLightData.affectsVolumetric;

            if (hdLightData.affectsVolumetric)
            {
                Debug.Log("Starting IncreaseVolumetricMultiplier Coroutine");
                StartCoroutine(IncreaseVolumetricMultiplier());
                fog.active = true;
            }
        }
    }

    IEnumerator IncreaseVolumetricMultiplier()
    {
        float startTime = Time.time;
        while (Time.time - startTime < duration)
        {
            float t = (Time.time - startTime) / duration;
            hdLightData.volumetricDimmer = Mathf.Lerp(0, 16, t);
            yield return null;
        }
        hdLightData.affectsVolumetric = false;
        fog.active = false;
        Debug.Log("Finished IncreaseVolumetricMultiplier Coroutine");
    }
}

 

'업무일지' 카테고리의 다른 글

업무일지 <HDRP CustomLight>  (0) 2023.05.23
업무일지 <Frame>  (0) 2023.05.22
업무일지 <Unlit Shader>  (0) 2023.05.16
업무일지 <메모리 사용량>  (0) 2023.05.12
업무일지 <분리작업>  (0) 2023.05.02