Files
Convention-Unity-Demo/Assets/Scripts/MoreSpline/SplineTrackRenderer.cs

50 lines
1.3 KiB
C#
Raw Normal View History

2025-09-25 19:04:05 +08:00
using System;
using System.Collections;
using Convention;
using Dreamteck.Splines;
using UnityEngine;
namespace Demo.Game
{
public class SplineTrackRenderer : BasicSplineRenderer<SplineRenderer>
{
public static SplineTrackRenderer Make()
{
return new GameObject().AddComponent<SplineTrackRenderer>();
}
public const bool DefaultIsAutoOrient = false;
[Content] public bool IsAutoOrient = DefaultIsAutoOrient;
public override IEnumerator LoadScript(string script)
{
MyLineMaterial = Resources.Load<Material>("Line/Default");
yield return base.LoadScript(script);
}
2025-09-25 19:04:05 +08:00
public override void SetupMeshGenerator(SplineRenderer meshGenerater)
{
base.SetupMeshGenerator(meshGenerater);
meshGenerater.autoOrient = IsAutoOrient;
}
public override IEnumerator UnloadScript()
{
yield return base.UnloadScript();
// Reset
{
IsAutoOrient = DefaultIsAutoOrient;
}
}
/// <summary>
/// 开启自动面向摄像机的功能
/// </summary>
[ScriptableCall(@"开启自动面向摄像机的功能")]
public void EnableAutoOrient()
{
IsAutoOrient = true;
2025-09-25 19:04:05 +08:00
}
}
}