From c5c02ecc7ecd43b70543e9ff38347dd7899a0911 Mon Sep 17 00:00:00 2001 From: Ben Calegari Date: Tue, 23 Jun 2026 23:11:48 -0700 Subject: [PATCH] Fix cone make it look nice --- Assets/_Project/Prefabs/Towers/Tower_BasicArrow.prefab | 7 ++++--- Assets/_Project/Scripts/Visuals/ConeMesh.cs | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Assets/_Project/Prefabs/Towers/Tower_BasicArrow.prefab b/Assets/_Project/Prefabs/Towers/Tower_BasicArrow.prefab index 1e6b505..72ae323 100644 --- a/Assets/_Project/Prefabs/Towers/Tower_BasicArrow.prefab +++ b/Assets/_Project/Prefabs/Towers/Tower_BasicArrow.prefab @@ -254,9 +254,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 93bc533262394e1e8b122bbfad89391a, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::TD.Visuals.ConeMesh - sides: 16 - radius: 0.5 - height: 1 + sides: 4 + radius: 0.7071068 + height: 1.5 + angularOffsetDegrees: 45 --- !u!1 &7580197837852108944 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/_Project/Scripts/Visuals/ConeMesh.cs b/Assets/_Project/Scripts/Visuals/ConeMesh.cs index d1790a5..7b0f322 100644 --- a/Assets/_Project/Scripts/Visuals/ConeMesh.cs +++ b/Assets/_Project/Scripts/Visuals/ConeMesh.cs @@ -37,6 +37,11 @@ namespace TD.Visuals [Min(0.001f)] [SerializeField] private float height = 1f; + [Tooltip("Rotation of the base ring around the vertical axis, in degrees. With a low " + + "side count this makes a pyramid; e.g. sides = 4 with a 45° offset and " + + "radius 0.7071 yields a square-based pyramid whose faces align to the X/Z axes.")] + [SerializeField] private float angularOffsetDegrees = 0f; + private Mesh mesh; private void OnEnable() => Rebuild(); @@ -89,7 +94,8 @@ namespace TD.Visuals var vertices = new Vector3[sides + 2]; for (int i = 0; i < sides; i++) { - float angle = (i / (float)sides) * Mathf.PI * 2f; + float angle = (i / (float)sides) * Mathf.PI * 2f + + angularOffsetDegrees * Mathf.Deg2Rad; vertices[baseRingStart + i] = new Vector3( Mathf.Cos(angle) * radius, -halfHeight,