You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
using UnityEngine;
|
|
using System.Collections;
|
|
using uc.Spline;
|
|
|
|
public class BezierSplineTest : MonoBehaviour
|
|
{
|
|
public BezierSplineComponent m_spline;
|
|
public float m_speed = 1, m_curspeed = 0 ,m_position = 0;
|
|
public Vector3 m_up = Vector3.up;
|
|
private BaseSpline.SplineIterator m_iter;
|
|
|
|
void Awake()
|
|
{
|
|
m_iter = m_spline.Spline.GetIterator();
|
|
m_iter.SetTransform(m_spline.transform);
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
m_iter.Iterate(m_speed * Time.deltaTime);
|
|
|
|
Vector3 prevpos = transform.position;
|
|
|
|
transform.position = m_iter.GetPosition();
|
|
|
|
m_curspeed = (transform.position - prevpos).magnitude / Time.deltaTime;
|
|
if(m_iter.GetOffset()>=m_spline.Spline.Length-0.2f)
|
|
{
|
|
SendMessage("reset_role");
|
|
m_iter.SetOffset(0);
|
|
}
|
|
|
|
Debug.DrawLine(transform.position, transform.position + m_iter.GetTangent().normalized, Color.red);
|
|
Debug.DrawLine(transform.position, transform.position + m_iter.GetNormal().normalized, Color.green);
|
|
Debug.DrawLine(transform.position, transform.position + Vector3.Cross(m_iter.GetTangent().normalized, m_iter.GetNormal().normalized).normalized, Color.blue);
|
|
}
|
|
}
|
|
|