Как получить доступ к эффектам постобработки Тома скриптом в Unity - PullRequest
0 голосов
/ 03 марта 2020

Итак, я сейчас работаю над 3D-игрой, использующей HDRP, и для настройки яркости игры я использую компонент Настройка цвета (проверьте прикрепленное изображение), и там я изменяю Интенсивность (интенсивность отображается после выбора опции «HDR») Цветовой фильтр . Итак, мой вопрос: как мне получить доступ к этой информации в скрипте C#? Является ли это возможным? Если бы это было возможно, я был бы очень рад, если бы вы, человек, читающий это, могли бы показать мне.

Заранее спасибо.

Изображение инспектора

1 Ответ

0 голосов
/ 03 марта 2020

Согласно этому ответу на форумах Unity , вы можете получить доступ к эффектам громкости следующим образом:

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Experimental.Rendering.HDPipeline;
public class AffectDepthOfField : MonoBehaviour
{
    public bool spherecast = true;
    public Transform mainCamera;
    RaycastHit hit;

    DepthOfField dofComponent;

    void Start()
    {
        Volume volume = gameObject.GetComponent<Volume>();
        DepthOfField tmp;
        if (volume.profile.TryGet<DepthOfField>(out tmp))
        {
            dofComponent = tmp;
        }
    }
    void Update()
    {
        if (spherecast)
        {
            if (Physics.SphereCast(mainCamera.position, 0.1f, mainCamera.forward, out hit, 10f))
            {
                dofComponent.nearFocusStart = new MinFloatParameter(1f, 0f, true);
                dofComponent.nearFocusEnd = new MinFloatParameter(1f, 0f, true);
                dofComponent.farFocusStart = new MinFloatParameter(1f, 0f, true);
                dofComponent.farFocusEnd = new MinFloatParameter(1f, 0f, true);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...