【Unity基础】什么是GameObject

时间:2021-01-27 01:18:25

环境:

  • UnityHub3.3.0-c8
  • Unity2021.3.20f1c1 LTS
  • Visual Studio 2022

什么是GameObject

Unity中,GameObject是游戏中最基本的实体。它可以被看作是游戏场景中所有其他对象的容器。GameObject可以包含许多不同的组件,如Transform、Renderer、Collider``等。通过添加这些组件,GameObject可以具有不同的属性和功能,如移动、旋转、显示和与其他对象进行交互等。

Unity中,通过创建、实例化和管理GameObject对象,可以构建出一个完整的游戏场景。

创建

先自行创建一个2D项目

找到一个名为Hierarchy栏目

【Unity基础】什么是GameObject

右键

【Unity基础】什么是GameObject

会自动新建一个名为GameObject的主体,要想查看到它,需要选择MoveTool,还有点击该主体。

【Unity基础】什么是GameObject

Choosing an Icon

我们可以在Inspector栏,对它进行rename和选择select icon等操作,注意对于空对象来说,刚启动完的项目,之前选择的select icon内容会自动显示出来。

但是一旦在Hierarchy进行点击与移动该空物体,就不会显示这个select icon了,而换成其他物体,比如cube之类的,可以让select icon显示出来,我不知道这是不是目前最新版本的问题。

【Unity基础】什么是GameObject

另外,我们还可以在Game中对其进行查看

【Unity基础】什么是GameObject

当然了,在icon中也可以选择我们自己的套图

【Unity基础】什么是GameObject

GameObject Components

点击空对象->看右侧Inspector栏->Add Component->Sprite Renderer

可以在Sprite点击我们自己的精灵图,那些让我们热血澎湃或者喜闻乐见的内容,都是从套一个图开始的。

【Unity基础】什么是GameObject

想要添加的我们想要的图,则只需在ProjectAssets中放入自己想要的图,并把该图拉入到下图的Sprite位置,而它默认Background

【Unity基础】什么是GameObject

GameObject Code

Project\Assets右键创建一个C# Script的脚本->rename自己想要的名字

【Unity基础】什么是GameObject

之后把自己创建的C#脚本扔到自己在Hierarchy创建的对象中,就可以进行调试操作,初始的代码内容如下:

【Unity基础】什么是GameObject

注意点:

  • 类的名称必须要跟你脚本的名称一致,如果你开始不rename,等创建完成后再rename的话,VS中的内容不会跟着发生变化,这时你就不可以addComponentGameObject了。

Dynamically Create GameObject

如果你希望可以通过代码来创建GameObject,可以这样写:

void Start(){
    new GameObject("MyNewGameObject");
}

之后将这个脚本Add Component任意一个对象,在unity中运行,Hierarchy栏就会新增一个名为MyNewGameObjectGameObject,运行结束后又会消失。

如果你希望这个新增的GameObject可以addComponent其他内容,比如Sprite Renderer,实现方法如下:

void Start(){
    GameObject myGo = new GameObject("MyNewGameObject");
    myGo.AddComponent<SpriteRenderer>();
}

或者这样写

GameObject myGo = new GameObject("MyNewGameObject",typeof(SpriteRenderer));

【Unity基础】什么是GameObject