4.掌握Unity类图,快速了解常用组件(超详细)

目录

1.Unity重要的类及其之间的关系

1.1Unity重要的类

①Object(对象):

②GameObject(游戏对象):

③Component(组件):

④Shader(着色器):

⑤Material(材质):

⑥Mesh(网格):

⑦Texture(纹理):

1.2Unity类图

2.常用组件

①Transform(变换):

②Behaviour(行为):

③Collider(碰撞器):

④RigidBody(刚体):

⑤MeshFilter(网格过滤器):

⑥Renderer(渲染器):

⑦MonoBehaviour:

⑧Animator(动画状态机):

⑨Animation(动画控制器):

⑩其他:


       本篇文章来进一步学习Unity,学习一些重要类和Unity类图,以及常用的组件。可以先了解一下2.Unity的基础概念和基本使用(一看就会)

1.Unity重要的类及其之间的关系

1.1Unity重要的类

①Object(对象):

       Object是所有Unity对象的基类,提供了基础的方法和属性。所有在 Unity 中创建的对象(包括 GameObject 和 Component)都继承自 Object。用于通用的对象操作和引用管理。

②GameObject(游戏对象):

       GameObject是Unity中的基本实体,可以是图片、文本、灯光等。是挂载组件的容器。用于创建和管理场景中的物体,挂载组件以赋予物体功能。

GameObject myGo = GameObject.Find("GO");

③Component(组件):

       Component是挂载/附加到GameObject游戏对象上的功能模块,每个GameObject都可以有多个组件,每个组件都是一个类的实例。游戏对象是一个装组件的容器,组件是游戏对象的功能模块。Component用于定义游戏对象的行为和属性。如刚体(RigidBody)、摄像机(Camera)、脚本(Script)等都是组件,下文会对常用组件进行详细介绍。

MeshRenderer renderer = myGo.GetComponent<MeshRenderer>();
renderer.material.color = Color.red;

④Shader(着色器):

       Shader是用于定义如何渲染物体表面的程序。它控制光照、纹理和其他效果应用于物体的材质上。用于编写自定义渲染效果,定义材质的视觉表现。

⑤Material(材质):

       Material使用 Shader 来定义如何渲染 GameObject。它包含纹理、颜色和光照等属性,并决定了物体的外观。常与纹理(Texture)结合使用,用于控制游戏对象表面的外观和光照效果。

⑥Mesh(网格):

       Mesh是用于定义3D物体的几何形状的数据结构。它包含顶点、边和面的信息,用于创建3D模型。用于定义和操作3D物体的形状和结构。

⑦Texture(纹理):

       Texture是一个图像数据资源,通常用于将图像应用到材质上,提供详细的视觉信息。Texture 就是附加到物体表面的贴图。可将纹理应用于材质,或直接用于UI组件。

1.2Unity类图

       Unity内部涉及的类比较多,为了更好地理清关系,我制作了以下类图,仅供参考。

2.常用组件

①Transform(变换):

       Transform控制GameObject的位置、旋转和缩放。它定义了物体在世界空间或局部空间中的变换。用于操作物体的位置、旋转和缩放,管理其在场景中的空间关系。

Transform transform = myGo.transform;
transform.position = new Vector3(0, 1, 0);
transform.rotation = Quaternion.Euler(0, 45, 0);

②Behaviour(行为):

       Behaviour是一个抽象基类,所有继承自它的组件都可以挂载到Unity中的GameObject上。它是Unity中所有行为类的基类,为其子类提供基本的功能,如启用和禁用状态等,但并不直接用于编写脚本。

③Collider(碰撞器):

       Collider 定义了一个物体的碰撞体积,用于检测和处理碰撞。不同类型的Collider适用于不同的形状和用途。用于物理碰撞检测和触发器事件。

④RigidBody(刚体):

       RigidBody 使物体能够受物理引擎的影响,包括重力、力和碰撞反应。用于模拟真实的物理行为,使物体受物理引擎控制,实现物理效果。

⑤MeshFilter(网格过滤器):

       MeshFilter有一个Mesh,将其提供给MeshRenderer用于渲染,定义了GameObject的几何形状。用于配置和管理GameObject的网格数据。

⑥Renderer(渲染器):

       Renderer是所有渲染相关组件的基类。它负责将GameObject渲染到屏幕上,并控制渲染属性。作为基类提供公共渲染功能,具体渲染行为由其派生类(如MeshRenderer,ParticleSystemRenderer)实现。

       MeshRenderer(网格渲染器)用于渲染MeshFilter提供的网格,将网格和材质应用于屏幕上。用于渲染3D网格,并控制材质和渲染设置。MeshFilter决定了物体的形状,MeshRenderer决定了物体的外观颜色。

       ParticleSystemRenderer(粒子系统渲染器)用于渲染粒子系统中的粒子,支持多种渲染模式,并控制粒子的视觉表现。用于渲染和配置粒子效果,如烟雾、火焰等。

⑦MonoBehaviour:

       MonoBehaviour是所有自定义脚本的基类。它提供了生命周期方法(如 Start(), Update()等),用于编写游戏逻辑和行为控制。

⑧Animator(动画状态机):

       Animator用于控制动画播放和状态机,管理动画的过渡和播放,使得复杂的动画行为得以实现。用于控制角色和物体的动画状态和过渡。

⑨Animation(动画控制器):

       用于控制游戏对象的运动和变换,包括动画和场景中的其他动画效果。Animation用于播放动画剪辑。Animator使用新的动画系统,而Animation使用旧的动画系统。

⑩其他:

       Camera(摄像机):Camera将场景中的内容渲染到屏幕上,定义了视角、裁剪范围和其他视图相关的设置。用于配置视图和渲染设置,控制场景的可视部分。

       Light(灯光): Light可在场景中创建光源,影响物体的光照效果,支持不同类型的光源,如点光源、聚光灯、方向光等。

       Script(脚本):用来定义逻辑的代码文件,通常使用C#编写,并附加到游戏对象上以控制其行为。

using UnityEngine;

public class ClassTest : MonoBehaviour
{
    private GameObject myGo;
    void Start()
    {
        myGo = GameObject.Find("Go");

        MeshRenderer renderer = myGo.GetComponent<MeshRenderer>();
        renderer.material.color = Color.red;

        Transform transform = myGo.transform;
        transform.position = new Vector3(0, 1, 0);
        transform.rotation = Quaternion.Euler(0, 45, 0);
    }
}

       好了,今天的分享到这里就结束啦,希望对你有所帮助~

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值