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 created with a green line in cubic structure. This green lines indicated box collider.
But still our cube is transparent how to make it solid. To do that we have to add a material to it as well as mesh filter as a cube.
By now I haven’t found any direct way to create a default material and mesh filter mesh in unity.
If you guys know any direct way or find please let me know in comment section.
The way I use do it is create a DefaultCcube and give it a reference to in your script and call the DefaultCcube properties and add it to MyCube.
In script create a global variable of type Gameobject and drag and drop the cube in inspector.
Add the below to lines in your code and TADA you have created your first gameobject using script.


Right now you must be thinking what a stupid way it is to create a gameobject using script when you can just right click and create a gameobject just like that.
But believe me once you are able to make this type of simple gameobject try to make more complex one in your game create them in runtime like a trigger event and destroy them when you are done.

2. Now let’s learn removing components and destroying gameobject.

To destroy a gameobject completely use Destroy(gameobjectbName);
To remove a component use Detroy(GameObjectName.GetComponent<ComponentName>());
To make your gameobject destroy after a duration of times write this-


Axact

İslevselBilgi

Emre Oy Tarafından Tasarlanmıstır

Post A Comment:

0 comments: