1.解决了Track面向的问题2.新增Surface类型的Spline渲染器3.新增with后缀表达式

This commit is contained in:
2025-10-07 01:45:52 +08:00
parent 60a5347dde
commit 54a28c6671
10 changed files with 1408 additions and 487 deletions

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections;
using Convention;
using Dreamteck.Splines;
using UnityEngine;
namespace Demo.Game
{
public class SplineSurfaceRenderer : BasicSplineRenderer<SurfaceGenerator>
{
public static SplineTrackRenderer Make()
{
return new GameObject().AddComponent<SplineTrackRenderer>();
}
public override IEnumerator LoadScript(string script)
{
MyLineMaterial = Resources.Load<Material>("Line/Default");
yield return base.LoadScript(script);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: acff355a0ae693443abc68f727f6d0ab
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -6,44 +6,17 @@ using UnityEngine;
namespace Demo.Game
{
public class SplineTrackRenderer : BasicSplineRenderer<SplineRenderer>
public class SplineTrackRenderer : BasicSplineRenderer<PathGenerator>
{
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);
}
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;
}
}
}