959e80cf72
assets upload description.
59 lines
3.2 KiB
C#
59 lines
3.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
|
|
public static class GizmosExtension
|
|
{
|
|
public static void ArrowForGizmo(Vector3 pos, Vector3 direction, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f)
|
|
{
|
|
Gizmos.DrawRay(pos, direction);
|
|
|
|
Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 + arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 - arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 up = Quaternion.LookRotation(direction) * Quaternion.Euler(180 + arrowHeadAngle, 0, 0) * new Vector3(0, 0, 1);
|
|
Vector3 down = Quaternion.LookRotation(direction) * Quaternion.Euler(180 - arrowHeadAngle, 0, 0) * new Vector3(0, 0, 1);
|
|
|
|
Gizmos.DrawRay(pos + direction, right * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, left * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, up * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, down * arrowHeadLength);
|
|
}
|
|
|
|
public static void ArrowForGizmo(Vector3 pos, Vector3 direction, Color color, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f)
|
|
{
|
|
Gizmos.color = color;
|
|
Gizmos.DrawRay(pos, direction);
|
|
|
|
Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 + arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 - arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 up = Quaternion.LookRotation(direction) * Quaternion.Euler(180 + arrowHeadAngle, 0, 0) * new Vector3(0, 0, 1);
|
|
Vector3 down = Quaternion.LookRotation(direction) * Quaternion.Euler(180 - arrowHeadAngle, 0, 0) * new Vector3(0, 0, 1);
|
|
|
|
Gizmos.DrawRay(pos + direction, right * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, left * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, up * arrowHeadLength);
|
|
Gizmos.DrawRay(pos + direction, down * arrowHeadLength);
|
|
}
|
|
|
|
public static void ArrowForDebug(Vector3 pos, Vector3 direction, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f)
|
|
{
|
|
Debug.DrawRay(pos, direction);
|
|
|
|
Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 + arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 - arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Debug.DrawRay(pos + direction, right * arrowHeadLength);
|
|
Debug.DrawRay(pos + direction, left * arrowHeadLength);
|
|
}
|
|
|
|
public static void ArrowForDebug(Vector3 pos, Vector3 direction, Color color, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f)
|
|
{
|
|
Debug.DrawRay(pos, direction, color);
|
|
|
|
Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 + arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0, 180 - arrowHeadAngle, 0) * new Vector3(0, 0, 1);
|
|
Debug.DrawRay(pos + direction, right * arrowHeadLength, color);
|
|
Debug.DrawRay(pos + direction, left * arrowHeadLength, color);
|
|
}
|
|
}
|