Cambiar al Manual
public static void DrawTexture3DSlice (Texture texture, Vector3 slicePositions, FilterMode filterMode= FilterMode.Bilinear, bool useColorRamp= false, Gradient customColorRamp= null);


textureThe volumetric texture to draw.
slicePositionsThe positions of the texture sampling planes.
filterModeSets the texture filtering mode to use.
useColorRampEnables color ramp visualization.
customColorRampThe custom gradient that Unity uses as a color ramp. If this is not specified, Unity uses Google Turbo color ramp.


Draws a 3D texture using Slice rendering mode in 3D space.

Head scan rendered in slice mode with a custom gradient.

using UnityEditor;
using UnityEngine;

[ExecuteInEditMode] public class Reference : MonoBehaviour { public Texture3D texture; public Vector3 slicePositions; 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.DrawTexture3DSlice(reference.texture, reference.slicePositions, reference.filterMode, reference.useColorRamp, reference.useCustomColorRamp ? reference.customColorRampGradient : null); } } }

void OnEnable() { SceneView.duringSceneGui += OnSceneViewGUI; }

void OnDisable() { SceneView.duringSceneGui -= OnSceneViewGUI; } }