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

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);
}
}