added start and finish flags

This commit is contained in:
MrTorex committed 2026-01-27 13:33:33 +03:00
1 parent ee223cabfd
commit 01ce057601
5 files changed
+385 -4

No files matched your search

+21 -1
View File
@@ -9,13 +9,33 @@ namespace Code.Track
public Vector3 StartPosition { get; }
public Quaternion StartRotation { get; }
public Vector3 FinishPosition { get; }
public Quaternion FinishRotation { get; }
public TrackData(List<Vector3> waypoints)
{
Waypoints = new List<Vector3>(waypoints);
StartPosition = waypoints[0];
StartRotation = Quaternion.LookRotation(waypoints[1] - waypoints[0]);
FinishPosition = waypoints[^1];
if (waypoints.Count > 1)
{
var startDir = (waypoints[1] - waypoints[0]).normalized;
StartRotation = Quaternion.LookRotation(startDir, Vector3.up);
}
else
{
StartRotation = Quaternion.identity;
}
if (waypoints.Count > 1)
{
var finishDir = (waypoints[^1] - waypoints[^2]).normalized;
FinishRotation = Quaternion.LookRotation(finishDir, Vector3.up);
}
else
{
FinishRotation = Quaternion.identity;
}
}
}
}
+2 -1
View File
@@ -14,7 +14,7 @@ namespace Code.UI
private void Start()
{
var seed = Random.Range(0, 10000);
_currentTrack = TrackGenerator.Generate(seed, 1000, segmentCount: 30);
_currentTrack = TrackGenerator.Generate(seed, 2000, segmentCount: 30);
trackBuilder.Build(_currentTrack);
@@ -22,6 +22,7 @@ namespace Code.UI
playerSpawn.rotation = _currentTrack.StartRotation;
finishTrigger.position = _currentTrack.FinishPosition;
finishTrigger.rotation = _currentTrack.FinishRotation;
}
}
}