Unity 6.3
0 онлайн 76 гостей 3 в системе
Вход

VisualEffectAsset.GetExposedProperties

Declaration

public void GetExposedProperties(List<VFXExposedProperty> exposedProperties);

Параметры

Параметр Описание
exposedProperties Список, который эта функция заполняет открытыми свойствами.

Описание

Получает имя и тип каждого открытого свойства.

Возвращаемый System.Type является одним из следующих:

Для определения TextureDimension текстуры, вызвать VisualEffectAsset.GetTextureDimension.

Для определения VFXSpace свойства, позвоните VisualEffectAsset.GetExposedSpace.

Чтобы увеличить скорость процесса поиска, предварительно выделить exposedProperties вводный список.

В этом примере регистрируется подробная информация обо всех открытых свойствах:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.VFX;

[ExecuteInEditMode]
class LogExposedProperties : MonoBehaviour
{
	// Called when the script or GameObject is enabled
    void OnEnable()
    {
        VisualEffect vfx = GetComponent<VisualEffect>();
        if (vfx != null && vfx.visualEffectAsset != null)
        {
            VisualEffectAsset vfxAsset = vfx.visualEffectAsset;
            var exposedProperties = new List<VFXExposedProperty>();

            // Retrieve all exposed properties from the VisualEffectAsset and store them in the list
            vfxAsset.GetExposedProperties(exposedProperties);

            if (exposedProperties.Count == 0)
            {
                Debug.Log($"There are no exposed properties for asset: {vfxAsset}");
            }

            foreach (var exposedProperty in exposedProperties)
            {
                // Retrieve additional details about the exposed property
                VFXSpace space = vfxAsset.GetExposedSpace(exposedProperty.name);
                TextureDimension texDim = vfxAsset.GetTextureDimension(exposedProperty.name);

                string log = $"{exposedProperty.name}, {exposedProperty.type}";
                if (space != VFXSpace.None)
                {
                    log += $", {space}";
                }
                if (texDim != TextureDimension.Unknown)
                {
                    log += $", {texDim}";
                }
                Debug.Log(log);
            }
        }
        else
        {
            Debug.Log("Unable to retrieve VisualEffect component or VisualEffectAsset is null.");
        }
    }
}