added: early platform generation test

This commit is contained in:
Chris
2025-08-19 13:09:23 -04:00
parent 0b3aab8bb4
commit a4bb6dabcd
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.ProBuilder;
using UnityEngine.ProBuilder.MeshOperations;
public class PlatformGenerator : MonoBehaviour{
public Vector2 sizeRange = new Vector2(5f, 20f);
public float snappingInterval = 2.5f;
void Start(){
}
[Button]
void GenerateNewPlatform(int corners){
ProBuilderMesh newShape = new GameObject().AddComponent<ProBuilderMesh>();
int originX = Mathf.RoundToInt(Random.Range(sizeRange.x, sizeRange.y));
int originY = Mathf.RoundToInt(Random.Range(sizeRange.x, sizeRange.y));
originX = -Mathf.Abs(originX);
originY = -Mathf.Abs(originY);
Vector3 origin = new Vector3(Snap(originX), 0f, Snap(originY));
Vector3[] points = new Vector3[corners];
for (int i = 0; i < corners; i++) {
if (i == 0) {
points[0] = origin;
} else {
points[i] = GetNewPoint(points[i - 1]);
}
}
Vector3 GetNewPoint(Vector3 previous){
return Vector3.zero;
}
float Snap(float input){
return ((input = snappingInterval / 2) / snappingInterval) * snappingInterval;
}
newShape.CreateShapeFromPolygon(points, 5f, false);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 56af9443f43cafc40adcf591b83a78c7