当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Unity3D基础—基本物体和基本组件介绍

Unity3D基础—基本物体和基本组件介绍 时间:2018-09-28      来源:未知

Unity3D是一个基于组件(Component)编程的游戏引擎。而且Unity3D本身的类非常多,类的结构图如下:

由上图可以看出Unity中的所有类都继承于Object,而Unity中只分了两个种类,一个是GameObject和一个Component,而Component的派生类包含了Unity中所有类,Unity3D面向组件编程的思想略见一斑。

在Unity中,在Scene中所有物体都称之为GameObject,区别不同的GameObject就需要看不同的Component。接下来我们分别介绍不同组件。

Transform:

现在Unity中创建一个Empty GameObject ,选中我们新建的GameObject,在Inspector视图中我们看到如图的组件 默认带了一个Transform组件。

Transform组件包含三个属性位置(Position),旋转(Rotation),缩放(Scale),这个组件是确定我们的GameObject是在3D空间位置,这个是不能去掉的,否则我们的GameObject就不是存在Scene中的了,虽说Empty GameObject在场景中看不到,但是它确实是真实存在的。

Mesh Filter:

在上面创建的GameObject的Inspector视图中有个Add Component按钮,点击此按钮添加Mesh Filter然后选点击Mesh后面的红框选中的按钮,接下来

我们看到如下界面

选择一个Mesh,在回到Scene中,场景并没有什么变化,接下来我们就需要把我们的Mesh给显示出来了。

Mesh Renderer:

和上述步骤一样,Add Component,选择Mesh Renderer,返回到Scene中看到会有如此场景,选择上面所说的不同Mesh,可以看到Scene中呈现出不同的形状。

在Unity中,GameObject呈现出这种颜色,一般都是材质的缺失。现在新建一个材质球(Material)在Project视图中点击Create选择Material,然后把New Material拖拽给GameObject,场景显示如图

接下来我们通过代码来更详细了解Transform。

Transform:

默认创建的脚本会继承MonoBehaviour这个类,下次我们详细讲解这个类。

编写如下简单的代码:

运行后我们观察我们GameObject的位置(Position)属性

而Rotation属性是一个四元数,通过Euler角和Vector3进行转换,存在一定的误差。

接下来我们在Update中编写代码。

我们可以看到我们GameObject在场中旋转起来了。

Rotate有六个重载方法,根据参数的命名,很容易知道每个参数的意义。

同样位置(Position)移动的方法Translate也有类似的重载。

Transform的介绍基本就是这样了,下次再介绍其他更炫酷的属性吧。

上一篇:实现一键退出所有的activity

下一篇:unity3D中的C#编程入门

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部