Rasagar/Library/PackageCache/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeGizmoDrawer.cs
2024-08-26 23:07:20 +03:00

40 lines
1.3 KiB
C#

using System;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
namespace UnityEditor.Rendering
{
class CustomVolumePassGizmoDrawer : IVolumeAdditionalGizmo
{
public Type type => typeof(CustomPassVolume);
public void OnBoxColliderDraw(IVolume scr, BoxCollider c)
{
var customPass = scr as CustomPassVolume;
if (customPass.fadeRadius > 0)
{
var twiceFadeRadius = customPass.fadeRadius * 2;
// invert te scale for the fade radius because it's in fixed units
Vector3 s = new Vector3(
twiceFadeRadius / customPass.transform.localScale.x,
twiceFadeRadius / customPass.transform.localScale.y,
twiceFadeRadius / customPass.transform.localScale.z
);
Gizmos.DrawWireCube(c.center, c.size + s);
}
}
public void OnMeshColliderDraw(IVolume scr, MeshCollider c)
{
}
public void OnSphereColliderDraw(IVolume scr, SphereCollider c)
{
var customPass = scr as CustomPassVolume;
if (customPass.fadeRadius > 0)
Gizmos.DrawWireSphere(c.center, c.radius + customPass.fadeRadius / customPass.transform.lossyScale.x);
}
}
}