- Home /
GUI circulur menu system
http://www.youtube.com/watch?v=ufqtU8ByDYs guys have a look on this link..i wanna make this type of menu in unity but have no idea at all any help ? how to do this?
That my have just been done in an actual scene, not GUI. They are 3D models that act like a menu system in which GUI typical take part of but this is something done normal in the scene.
It doesn't matter if it was or wasn't. It could be done in Unity. Not sure if it's worth it though.
I agree with cdrandin. It just looks like a scene of gameobjects with some rotation and triggered animation.
It seems a quite specific application, you'll need luck to find something that does it exactly out of the box.
Answer by robertbu · Aug 29, 2013 at 11:15 AM
As @Cdrandin says, this would need to be done in 3D space. There are a number of technical challenges going on in the video: depth of field, selection indicator, info displays tied to current selection, etc. But the basic concept of rotating the objects in 3D space is relatively simple. Here is a bit of proof-of-concept code. It demonstrates how it could be done in Unity. I'd likely do a 'real' system a bit differently. To use:
Create a new scene
Add some game object to the scene (placement does not matter). You can use the built-in objects, or any object scaled to around 1 to 2 units in size in world space.
Tag the game object with 'Menu'.
Attach this script to an empty game object.
Run. Left/Right error keys to cycle the menu.
pragma strict
var center = Vector3(0,1 ,0); var radius = 7.0; var rotateSpeed = 100.0;
private var objects : Transform[]; private var deltaAngle : float; private var qTo = Quaternion.identity; function Start() { transform.position = center; var gos = GameObject.FindGameObjectsWithTag("Menu"); deltaAngle = 360.0 / gos.Length; var v = Vector3.back * radius; for (var i = 0; i < gos.Length; i++) { gos[i].transform.position = transform.position + v; gos[i].transform.parent = transform; v = Quaternion.AngleAxis(deltaAngle, Vector3.up) * v; } } function Update() { if (Input.GetKeyDown(KeyCode.LeftArrow)) { qTo = Quaternion.AngleAxis(deltaAngle, Vector3.up) * qTo; } if (Input.GetKeyDown(KeyCode.RightArrow)) { qTo = Quaternion.AngleAxis(-deltaAngle, Vector3.up) * qTo; } transform.rotation = Quaternion.RotateTowards(transform.rotation, qTo, Time.deltaTime * rotateSpeed); Debug.Log(qTo.eulerAngles); }
Thats what i was looking for as a starting point ..thanks
Your answer
Follow this Question
Related Questions
Necromancer GUI doesn't work? 1 Answer
onGui - Switching between textures on selection grid. 0 Answers
A node in a childnode? 1 Answer
How to make a GUI appear and disappear with the same button? 1 Answer
Create big city for car game? 2 Answers