• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by TurboHermit · Apr 04, 2017 at 12:58 PM · transformarraycircleradiusaverage

Getting radius around multiple transform

Hey there!

So I have an array of Transforms which are hexagon based tiles. They get instantiated in a pseudo-random, but always adjacent to each other. I also have a sphere/circle that is positioned to the center of all those tiles by taking the average of all those Transforms positions. (See link for clarification) Image

What I'm trying to do now is expand that red sphere/circle so that it encompasses all those Transforms, basically creating a perimeter around all the tiles. I was wondering how you would approach a solution, because I'm drawing blanks.

Thanks in advance!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by CoryButler · Apr 04, 2017 at 03:03 PM

I do not know how your code is set up, so this may not fit exactly, but hopefully it will get you moving in the right direction.

 // The number of hexagons on the screen.
 int numHexOnScreen = 0;
 
 // The position of the cicle base on hexagon tranforms.
 Vector2 circlePos =  new Vector2();
 
 // The radius of the cicle.
 float radius = 0;
 
 void Update()
 {
     // First, add a hexagon and increment numHexOnScreen.
     AddHexagon();
 
     // Then, calculate the new position of the cicle.
     FindCirclePos();
     
     // Finally, increase the radius if needed.
     FindRadius();
 }
 
 void FindRadius()
 {
     // The distance between the circle's position and the position of the newest hexagon.
     float proposedRadius = Vector2.Distance(circlePos, hex[numHexOnScreen - 1]);
     
     // If the proposed radius is greater than the current radius, expand the current radius.
     if (radius < proposedRadius)
         radius = proposedRadius;
 }
Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image TurboHermit · Apr 04, 2017 at 03:34 PM 0
Share

Off course, simple but works like a charm. Thanks!

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

82 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Array foreach problem 1 Answer

Trying to access points[0].position of type Transform. 1 Answer

How do I create an array for multiple targets? 1 Answer

Problem using Arrayed Transforms in IEnumerator 0 Answers

EditorGUILayout Array 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges