升级水插件
This commit is contained in:
@@ -16,6 +16,12 @@ namespace WaveHarmonic.Crest.Editor
|
||||
: s_VisualizeMaterial = new(Shader.Find("Local/Debug/Visualize Signed Texture"));
|
||||
#endif
|
||||
|
||||
static void DrawLine(Vector3 start, Vector3 end, Color color, float _)
|
||||
{
|
||||
Gizmos.color = color;
|
||||
Gizmos.DrawLine(start, end);
|
||||
}
|
||||
|
||||
[DrawGizmo(GizmoType.Selected | GizmoType.NonSelected)]
|
||||
static void DrawGizmos(WaterRenderer target, GizmoType type)
|
||||
{
|
||||
@@ -51,12 +57,12 @@ namespace WaveHarmonic.Crest.Editor
|
||||
// Create proxy if not present already, and proxy enabled
|
||||
if (target._ProxyPlane == null && target._ShowWaterProxyPlane)
|
||||
{
|
||||
target._ProxyPlane = GameObject.CreatePrimitive(PrimitiveType.Plane);
|
||||
target._ProxyPlane = GameObject.CreatePrimitive(PrimitiveType.Quad);
|
||||
Helpers.Destroy(target._ProxyPlane.GetComponent<Collider>());
|
||||
target._ProxyPlane.hideFlags = HideFlags.HideAndDontSave;
|
||||
target._ProxyPlane.transform.parent = target.transform;
|
||||
target._ProxyPlane.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity);
|
||||
target._ProxyPlane.transform.localScale = 4000f * Vector3.one;
|
||||
target._ProxyPlane.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.Euler(90f, 0f, 0f));
|
||||
target._ProxyPlane.transform.localScale = 1000000f * Vector3.one;
|
||||
|
||||
target._ProxyPlane.GetComponent<Renderer>().sharedMaterial = new(Shader.Find(WaterRenderer.k_ProxyShader));
|
||||
}
|
||||
@@ -70,11 +76,6 @@ namespace WaveHarmonic.Crest.Editor
|
||||
EditorWindow view = EditorWindow.GetWindow<SceneView>();
|
||||
view.Repaint();
|
||||
}
|
||||
|
||||
if (target.Root != null)
|
||||
{
|
||||
target.Root.gameObject.SetActive(!target._ShowWaterProxyPlane);
|
||||
}
|
||||
}
|
||||
|
||||
[DrawGizmo(GizmoType.Selected)]
|
||||
@@ -87,7 +88,8 @@ namespace WaveHarmonic.Crest.Editor
|
||||
var rect = target.Rect;
|
||||
if (rect != Rect.zero)
|
||||
{
|
||||
var height = WaterRenderer.Instance ? WaterRenderer.Instance.SeaLevel : target.transform.position.y;
|
||||
var water = WaterRenderer.Instance;
|
||||
var height = water ? water.SeaLevel : target.transform.position.y;
|
||||
Gizmos.color = Color.magenta;
|
||||
Gizmos.DrawWireCube
|
||||
(
|
||||
@@ -146,7 +148,8 @@ namespace WaveHarmonic.Crest.Editor
|
||||
var rect = target.Rect;
|
||||
if (rect != Rect.zero)
|
||||
{
|
||||
var height = WaterRenderer.Instance ? WaterRenderer.Instance.SeaLevel : target.transform.position.y;
|
||||
var water = WaterRenderer.Instance;
|
||||
var height = water ? water.SeaLevel : target.transform.position.y;
|
||||
Gizmos.color = Color.magenta;
|
||||
Gizmos.DrawWireCube
|
||||
(
|
||||
@@ -209,6 +212,14 @@ namespace WaveHarmonic.Crest.Editor
|
||||
}
|
||||
}
|
||||
|
||||
[DrawGizmo(GizmoType.Selected | GizmoType.NonSelected)]
|
||||
static void DrawGizmos(CollisionAreaVisualizer target, GizmoType type)
|
||||
{
|
||||
var water = WaterRenderer.Instance;
|
||||
if (water == null) return;
|
||||
target.Render(water, DrawLine);
|
||||
}
|
||||
|
||||
[DrawGizmo(GizmoType.Selected | GizmoType.NonSelected)]
|
||||
static void DrawGizmos(DepthProbe target, GizmoType type)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user