32 lines
959 B
C#
32 lines
959 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Dreamteck.Splines.Primitives
|
|
{
|
|
public class Star : SplinePrimitive
|
|
{
|
|
public float radius = 1f;
|
|
public float depth = 0.5f;
|
|
public int sides = 5;
|
|
|
|
public override Spline.Type GetSplineType()
|
|
{
|
|
return Spline.Type.Linear;
|
|
}
|
|
|
|
protected override void Generate()
|
|
{
|
|
base.Generate();
|
|
closed = true;
|
|
CreatePoints(sides * 2, SplinePoint.Type.SmoothMirrored);
|
|
float innerRadius = radius * depth;
|
|
for (int i = 0; i < sides * 2; i++)
|
|
{
|
|
float percent = (float)i / (float)(sides * 2);
|
|
Vector3 pos = Quaternion.AngleAxis(180 + 360f * percent, Vector3.forward) * Vector3.up * ((float)i % 2f == 0 ? radius : innerRadius);
|
|
points[i].SetPosition(pos);
|
|
}
|
|
}
|
|
}
|
|
} |