Skip to main content

Unity Editor Window (Part 3)

Unity Editor Hello, Unity Dev’s I am back again with Part 3 of Creating custom editor window in unity. In today’s blog we will look around: “How to load Textures files from resource folder and create our buttons.” Step1. Gather some images related to the headers of our sub-toolbars or if you are good at photoshop create some, btw I have zero skills when it comes to photoshop so I am goanna gather images from internet. Once we have are images ready drag them into respected folder under root folder Resources. It will look something like this: Step2. Scripting   Now we need to create a function which will be called once whenever we will switch from sub-tabs. Hmmmm, so how to do that!!! First create a function and name it as per your want’s I have named mine as: “MakeWindow” Then write down these lines: Create two variables a list: to store our loaded texture...

Different ways to move object and finding distance between two objects.

In unity one can move a gameobject with few different ways some of them are:

1st way transform.Translate(0, 0, 2);
By writing this piece of line your object will start moving forward in z Direction.

2nd way is using vector 3
transform.position += new Vector3(0, 0, 2);     
By writing this piece of line the gameobject moves same as in above, this line adds 2 on z in every frame of transform.postion.

Note (Transform with capital ‘T’ is used for type declaration like: Transform Player-this will make a player variable of type transform, whereas transform starting with small ‘t’ is used to call the gameobject on which the script is attached or to use the transform property of any gameobject.)
For e.g.
Gameobject Player;
Player.transform.position;

3rd way transform.Translate(Vector3.forward);
By writing this line gameobject on whom script is attach to will start moving forward.

To move a gameobject backward simply write- transform.translate(-Vector3.forward) or transform.translate(Vector3.back);

Same applies for left, right, up and down. Just replace forward from the direction you want to move.This are known as shorthand.

Finding Distance

Now finding distance between two gameobject can come handy in many scenarios.
Suppose we have to create an AI for enemy and want a good AI behavior related to distance between player and enemy say run when distance is more and walk when distance is less hide when in range, etc.

Example- In this example I have created few boxes and a sphere. The yellow line is drawn from sphere to all boxes if and only if they are within the specific distance.

Step1: Scene setup create few cubes and add a tag to all of them with “Objects”.


Create a sphere and add a script to it.

Step2: Write the following code. Attach the script to sphere.

Run the scene.


Try moving any cube back and forth. Tadaaa!! We are done It’s as simple as that.


Post is open for suggestion/edits and do comment down below about how you liked the post.


Comments

Popular posts from this blog

Creating Gamobject, Adding Components and Removing Components using script.

Today we are going to learn about how we can create a gameobject add components to it or remove components from it using script. Open Unity >>Create new project>>create new scene. 1.Creating Gameobject using script Step1.In your scene hierarchy add empty gameobject and name it ScriptManager. Step2. Create a script name it as per your wants, and attach the script to ScriptManager gameobject. Step3. Write the following code:- This will create a gameobject in the hierarchy with the name specified In ” ”. In our case it’s a cube. As you can see the above script creates a gameobject and add transform component when the object is created as all gameobject have transform component attached to it from the start (e.g. Empty gameobject). In next few lines we added a box collider to our object cube, a mesh renderer and a mesh filter. Save the script and run the project. You will see a gameobject is cr...

Unity Editor Window

Editor Window (Part 1) In unity, Editor windows are windows which are created by developers to be used by developers in Editor, it’s more like a plugin for Unity editor made by You. By learning Editor Window scripting, one is able to create any type of windows to ease their work while working in editor. Official Definition: “ Create your own custom editor window that can float free or be docked as a tab, just like the native windows in the Unity interface. ” I am going to start a series which will cover almost all the topics related to EDITOR WINDOW. In this series I am going to make a “LevelDesigner” plugin dittoing the zoo tycoon GUI and functionalities. Fortunately, we will learn about: Creating Editor window, creating all types of GUI, Modifying GUI Skin, Instantiating prefabs loaded from resources, and lots more…. So, tag along with me till the end of this series and let’s see How far we can Go. I have also just started learning Unity Editor Scripting so...

Variable scope in Unity

In today’s blog we are going to learn about the scope of variables, and the different ways a function can be created. So let’s get started. Scope of Variables A variable as we all know is a container which can hold a value or multiple values related to its type. Means a Gameobject type variable can hold any gameobject, a Transform  type variable can hold a transform component of any gameobject, etc. But some time a variable declared is inaccessible, that’s due to its " scope of life ". A variable declared in a class is said to be a global variable  to the function and local to the class  where as a variable declared in a function is said to be a local variable of that function. To understand it more clearly any variable defined within “{}” has its scope of life after the “{” starting curly braches till the “}” ending curly braces. Let try to understand with a small example. Step1. Write the following script attach it to any gameobject and hit ru...