Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Handles.DrawTexture3DVolume

Объявление

public static void DrawTexture3DVolume(Texture texture, float opacity = 1.0f, float qualityModifier = 1.0f, FilterMode filterMode = FilterMode.Bilinear, bool useColorRamp = false, Gradient customColorRamp = null);

Параметры

texture Объемная текстура для рисования.
opacity Нелинейный модификатор непрозрачности объема. Используйте это для управления непрозрачностью визуализации. Допустимые значения: 0-1 включительно. Значение 1 полностью непрозрачно, а значение 0 полностью прозрачно. Значение по умолчанию — 1.
qualityModifier Устанавливает выборку на количество пикселей текстуры. Более высокие значения приводят к более высокому качеству рендеринга. Значение по умолчанию — 1.
filterMode Устанавливает используемый режим фильтрации текстур.
useColorRamp Включает визуализацию цветовой шкалы.
customColorRamp Пользовательский градиент, который Unity использует в качестве цветовой шкалы. Если это не указано, Unity использует цветовую шкалу Google Turbo.

Описание

Рисует 3D-текстуру в режиме объемного рендеринга в 3D-пространстве.

Объем чайника визуализируется с помощью градиента с прозрачным черным контуром.
Громкость шума с примененным градиентом огня.
using UnityEditor; using UnityEngine; [ExecuteInEditMode] public class Reference : MonoBehaviour { public Texture3D texture; public float alpha = 1; public float quality = 1; public FilterMode filterMode; public bool useColorRamp; public bool useCustomColorRamp; // We should initialize this gradient before using it as a custom color ramp public Gradient customColorRampGradient; } [CanEditMultipleObjects] [CustomEditor(typeof(Reference))] public class Handle : Editor { private void OnSceneViewGUI(SceneView sv) { Object[] objects = targets; foreach (var obj in objects) { Reference reference = obj as Reference; if (reference != null && reference.texture != null) { Handles.matrix = reference.transform.localToWorldMatrix; Handles.DrawTexture3DVolume(reference.texture, reference.alpha, reference.quality, reference.filterMode, reference.useColorRamp, reference.useCustomColorRamp ? reference.customColorRampGradient : null); } } } void OnEnable() { SceneView.duringSceneGui += OnSceneViewGUI; } void OnDisable() { SceneView.duringSceneGui -= OnSceneViewGUI; } }

Смотрите так же: Handles.DrawTexture3DSDF, Handles.DrawTexture3DSlice, Texture3D, Gradient.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3