123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using UnityEngine;
- namespace UnityEditor.Rendering.Universal
- {
- internal static class FreeformPathPresets
- {
- public static Vector3[] CreateSquare()
- {
- Vector3[] returnPath = new Vector3[4]
- {
- new Vector3(-0.5f, -0.5f),
- new Vector3(0.5f, -0.5f),
- new Vector3(0.5f, 0.5f),
- new Vector3(-0.5f, 0.5f)
- };
- return returnPath;
- }
- public static Vector3[] CreateIsometricDiamond()
- {
- Vector3[] returnPath = new Vector3[4]
- {
- new Vector3(-0.5f, 0.0f),
- new Vector3(0.0f, -0.25f),
- new Vector3(0.5f, 0.0f),
- new Vector3(0.0f, 0.25f)
- };
- return returnPath;
- }
- private static Vector3[] CreateShape(int vertices, float angleOffset)
- {
- Vector3[] returnPath = new Vector3[vertices];
- const float kRadius = 0.5f;
- for (int i = 0; i < vertices; i++)
- {
- float angle = ((float)i * 2 * Mathf.PI / (float)vertices) + angleOffset;
- float x = kRadius * Mathf.Cos(angle);
- float y = kRadius * Mathf.Sin(angle);
- returnPath[i] = new Vector3(x, y);
- }
- return returnPath;
- }
- public static Vector3[] CreateCircle()
- {
- return CreateShape(32, 0);
- }
- public static Vector3[] CreateHexagonFlatTop()
- {
- return CreateShape(6, 0);
- }
- public static Vector3[] CreateHexagonPointedTop()
- {
- return CreateShape(6, 0.5f * Mathf.PI);
- }
- }
- }
|