개발 관련/SW, App 관련

Unity PostProcess Bloom 효과 코드제어

by 소서리스25 2024. 10. 16.
반응형

Unity PostProcess Bloom 효과 코드제어하기

 

지난번 로우폴리곤 행성을 만들다가 여러 행성의 환경 특성을 표현하는 효과를 주고자 Unity의 Post Process를 사용하는데 의외로 코드로 제어하는 정보를 찾기가 어려웠다.

분명히 이것을 사용하는 사람들이 있을 텐데 말이다. 적어도 Unity 2018.4.x에서 다른 방법을 모르겠다.

 

따라서 좀 다른 코드를 찾았었는데.. 이를 쉽게 응용해서 최대한 간략하게 구성해 봤다.

 

생각보다 너무 간단하다..

 

아래와 같이 응용하면 아주 쉽게 조절할 수 있다. Bloom 외에도 Unity에서 제공하는 다른 PostProcess들을 응용할 수 있을 것 같다.

using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class PostProcessControl : MonoBehaviour
{
    public PostProcessProfile _profile;
    public float _BloomThreshold = 1.0f;    
    Bloom _bloom;

    void Start()
    {
        _profile.TryGetSettings(out _bloom);
        _bloom.threshold.value = _BloomThreshold;
    }
    
    //...
}

 

간단히 설명하자면 _profile 은 커스텀으로 하나 만들어준다. 

그것을 Bloom으로 정하고 코드에 연결시켜 주면 된다.

Post Process Profile
Post Process Profile

 

내가 조절하던 것은 threshold 값인데, 이것 외에도 intensity 값이나 bool을 정할 수 있을 것 같고 그외의 항목들도 조절할 수 있을 것 같다.

 

더 쉬운 방법도 있을 것 같지만 우선은 내가 찾은 가장 쉬운 방법일 것이라 생각한다. 

 

반응형

댓글