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...

Physics Raycast Unity


Welcome Unity Developers, Back with another Blog. Today we are Going to learn about: "Physics.Raycast"

Physics.Raycast is normally used to draw a Ray of n Distance, and if the Ray hits anything It let us Know what it Hits (Make sure the other object has collider attach to it otherwise raycast will pass through object without detecting it). Physics.Raycast is used in Games whenever we want to hit something from distance or want to check whether our gameobject will hit something in future if it goes straight.
Note that Raycast is always cast In a straight line from the center of the gameobject that is casting the ray.

So we can make something like:

  • AI of a character which checks while moving whether there is any object which he may collide with say in range of 10 units of unity, if it keeps on moving in that direction
  • A gun Which shoots when a input is given and if it hits something say player, Player health decreases.
  • Can Create a logic if we fire on players and the player is on same team than he was not Hit by Bullets.
As concluded one can make many logic's with the help of Raycast. So let's see How To Use One.

Step 1: Scene Setup

1. Make a plane and add a cube, name it Player and add a Script to it with any name you like to have.
I named mine:"PlayerRaycaster"
Drag the camera and make it child of your player  to have  a fancy Player view.

2. Add Different Types of objects in your scene at some distance to your Player.

Your Scene will look something like this bad if you also don't have Models to put.



(HaHaHaHa Inner Voice: Have to have a modeler  friend to put some cool models in Blogs).

Step 2: Scripting

1. Will write some few lines of code to move around our player in scene.



In this all we are doing is Making two variables HorizontalInput, VerticalInput  to assign are inputs from the Keyboard To our player,
Next we create two more variables to determine each axis speed, Than we move are player using Line no.22 by translating it and adding the keyboard input multiplying by speed and time.
Same with Rotation.

2. Now let's add Physics.Raycast to over player.
Add these line to our existing script.



Well this lines are copied from unity scripting Reference :-)
What this peace of code will do is Cast a ray from over gameobject and if the ray hits any object the ray will colored as yellow and debug in console "Did Hit"
else the ray will be colored as white and debug in console "Did not Hit"
Physics.Raycast can takes up-to five parameters which are:



1. Origin is the gameobject you want the raycast to start from.

2. Direction is the direction you want your raycsat to go from center of your object.

3. maxDistance is the range you want your ray to go(mathf.infinty will let it go to infinity).

Other than that we used out Hit
which tells what we Hit.

Step 3. Run Your Game

You can see whenever your player ray hits and other object the ray itself turns yellow and debug in console "Did Hit"
and when not hitting any other object it turns out to white and debug in console "Did not Hit"
Let's do a simple change in our script and add a few line of code.



Now when we run the game we have our own Law of attraction.

If you Want to learn about How to Rayacst On UI. Please check my other blog Graphical Raycaster.
Link:Graphical Raycaster In Unity


This Blog is Open to edits and feedback.
Until Than Happy Codiiing!!!

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...

Graphic Raycaster in Unity

Ever wonder how one can click on GUI elements without using any event script on GUI components. On button click, On value change are some event driven functions of GUI components but what if I want to perform any action without using these event driven function. Well there are plenty of ways of doing it but the one I am going to discuss today is GRAPHIC RAYCASTER. Scene Setup Step1. Create two images, add any sprite to it and change their name to specify them later on. (For this tutorial purpose let’s assume penguin and polar bear) Put the images adjacent to each other. Script Step2. Create a script and attach it to your canvas. Write down the following code. Make sure to call all the libraries. Next is our global variables Graphical raycaster is used to call the raycaster attach to your canvas, Eventsystem is also used to call the event system of canvas. PointereventData is used to kno...

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...