Unity3d之组件Component

 没想到插入图片这么麻烦,我都是直接插入在word文档中的,如果一个一个这么插入,累不死也得烦死了。因为还在不停地修改,等基本成形之后,再共享word文档好了。下面很多有图片的地方没显示出来。

说明:

本系列内容全部原创,包括课程整体架构,也跟其他所有教程不同。

如需转载请注明:转载自葛亚平

1、 组件及组件的创建

组件(Component)是用来绑定到游戏对象(Game Object)上的一组相关属性。本质上每个组件是一个类的实例。常见的组件有:MeshFilter、MeshCollider、Renderer、Animation等等。

其实不同的游戏对象,都可以看成是一个空的游戏对象,只是绑定了不同的组件。比如:Camera对象,就是一个空对象,加上Camera、GUILayer、FlareLayer、AudioListener等组件。其他对象绑定的组件,可自行观察。

到底有哪些组件呢?可以说有无数种组件,只是有一些特别常用的,被Unity3d预先弄好了。可以通过Component菜单来查看,比如:

此处只列出两个子菜单中的组件,还有其他预设组件,可以自行查看。

 

 

2、 组件的使用

组件的目的是为了控制游戏对象,通过改变游戏对象的属性,以便同用户或玩家进行交互。不同的游戏对象可能需要不同的组件,甚至有些需要自定义的组件才能实现。

 

a)        组件的添加

                       i.             手工添加

                     ii.             代码添加

 

b)       组件的删除

                       i.             手工删除

                     ii.             代码删除

 

3、 自定义组件

有时我们想要的功能,Unity3d没有预设,这就需要我们在脚本中实现了。为了更好的模块化,一般是写在不同的类中,也就是以自定义组件的形式出现。

如果想自定义自己的组件的话,非常简单,只需要在项目中创建一个类即可。在项目中创建的类会默认继承自Monobehavior类。继承这个类的方法都可以绑定到游戏对象上。如果想给这个类,也就是我们创建的组件添加一些属性的话,只需要在类中声明公开的字段即可。

 

示例1:实现一个旋转组件。并绑定到游戏对象上。

创建一个RotateSelf类,在其Update中写上旋转语句

transform.Rotate(Vector3.right* Time.deltaTime);

保存后,把该脚本拖拽到一个cube上,然后运行。

 

我们创建的类,会自动在Component->Scripts子菜单中出现,默认显示的是文件名。请自行查看和试验,比如现在创建一个类,然后在Component->Scripts中查看。

如果觉得这样显示不方便的话,可以在自行创建的组件类中,添加一个AddComponentMenu的特性,比如添加一个相机处理的组件:

[AddComponentMenu("Camera-Control/3dsMaxCamera Style")]

显示如下:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值