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

Handles.DrawTexture3DVolume

Declaration

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

Параметры

Параметр Описание
текстура Объемная текстура для рисования.
Непрозрачность Модификаторы нелинейной непрозрачности объема. Используйте его для управления непрозрачностью визуализации. Допустимые значения 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,.