ActionPoint.cs 1.0 KB

123456789101112131415161718192021222324252627282930
  1. using UnityEngine;
  2. namespace TrackpointApp
  3. {
  4. public class ActionPoint : MonoBehaviour
  5. {
  6. private GameObject cylinder;
  7. private const int divisor = Configuration.divisor;
  8. public void setup()
  9. {
  10. cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
  11. cylinder.transform.parent = this.transform;
  12. size(2.5f / divisor, 2.0f / divisor);
  13. cylinder.GetComponent<Renderer>().material.color = Color.blue;
  14. }
  15. private void size(float radius, float length)
  16. {
  17. float actualLength = cylinder.GetComponent<Renderer>().bounds.size.y;
  18. float actualDiameter = cylinder.GetComponent<Renderer>().bounds.size.x;
  19. Vector3 rescale = cylinder.transform.localScale;
  20. rescale.y = length * rescale.y / actualLength;
  21. float xzFactor = radius * 2 * rescale.x / actualDiameter;
  22. rescale.x = xzFactor;
  23. rescale.z = xzFactor;
  24. cylinder.transform.localScale = rescale;
  25. }
  26. }
  27. }