如标题所言,本文由3个部分组成,分别讲述游戏对象、组件和Prefabs(预设体)。

1. 游戏对象  

  任何游戏对象都由组件组成,组件是实现一切功能所必需的。我们创建的对象会在Hierarchy视图中显示,在场景中的对象统称为游戏对象。在GameObject这个菜单栏中我们可以选择创建自己需要的对象。

2. 常用的组件介绍

  在前一篇我们所用过的组件有:变换组件(Transform)、刚体组件(Rigidbody)、碰撞体组件(collider)。下面介绍其他5个常用的组件。

  1. Mesh相关组件:Mesh Fliter(网格过滤器)、Mesh Renderer(网格渲染器)、Text Mesh(文本网格)、Mesh Renderer(网格渲染器)、Skinned Mesh Renderer(蒙皮渲染器)。

  2. Particle System组件(粒子系统),功能强大的组件,主要用于制作烟雾、气流、火焰、喷泉等效果。

  3. Physics(物理组件),十分重要的组件,用于模拟真实的物理行为,分为Physics(用于3D)和Physics 2D(用于2D)。例如,我们添加碰撞体后,可以模拟物体的碰撞;添加刚体后,能够模拟物体受到重力影响自由下落等。

  4. Image Effects组件,用于提高画面的画质感

  5. Scripts(脚本组件),必不可少的组件,我们将脚本组件添加到游戏对象上的目的是,为了实现各种交互操作及其他功能。

3. 预设体(prefabs)

   什么是预设体?  一个游戏对象及其组件的集合。

  为什么要创建预设体?  为了使游戏对象及资源能够被重复使用,提高资源的利用率和开发效率。

  什么样的游戏对象需要被制作成预设体?  需要多次使用的游戏对象。

  1. 预设体Prefabs的创建(2种方法)

    1. Assets——Create——Prefab,先创建一个空的预设体,然后我们将某个游戏对象拖动到新创建的预设体上

    2. 将Hierarchy视图中的对象直接拖动Project视图中预设体所在的文件夹中即可。

  2. 导入预设体,方法与导入其他类型的资源相同

  

  3. 嵌套Prefabs(Nested Prefabs)

    有预设体A、B、C,C由A和B组成,A和B是C的子对象,这个比较复杂,这里暂时不讨论。

游戏对象、组件和Prefabs的更多相关文章

  1. 【2D游戏引擎】那些年对游戏对象的思考

    WIP源代码: Github OSC镜像 对象系统以对象为中心,对象系统的最基本设计策略是基于组件的设计.对象系统将尽量避免使用继承方式来拓展游戏对象,恰当的使用Mix-in来来最属性做拓展,单个属性 ...

  2. Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}

    一.创建游戏对象 游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube.Cam ...

  3. Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系

    原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...

  4. Unity 游戏对象的组件列表

    描述: 1 个游戏对象,上面有 4 个组件, 如图: 脚本 Test_01 的内容,如下: using System.Collections; using System.Collections.Gen ...

  5. Unity关于获取游戏对象

    我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...

  6. Unity3D基础--动态创建和设置游戏对象

    转载自原文:http://m.blog.csdn.net/blog/smbroe/43488627 1.如何动态创建对象:调用GameObject的CreatePrimitive方法可以按模型进行创建 ...

  7. Unity3d 如何找到游戏对象并改变其颜色

    //游戏对象 private var obj:GameObject; //渲染器 private var render:Renderer; //贴图 private var texture:Textu ...

  8. Unity3d获取游戏对象的几种方法

    1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...

  9. U3D操作游戏对象

    游戏对象:所有出现在场景中的实体都是游戏对象. 一.创建游戏对象 创建游戏对象有两种方式:一是通过在unity中创建模型,而是通过脚本动态创建游戏对象.通过脚本动态创建的灵活性较高,重点也在于通过脚本 ...

随机推荐

  1. [android] 百度地图开发 (两).所在地的城市定位和城市POI搜索

    一个. 百度地图城市位置和POI搜索知识       上一篇文章"百度地图开发(一)"中讲述了怎样申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述怎样定位城市位置.定 ...

  2. Rich IntelliSense for jQuery

    A while back we updated VS2008 IntelliSense to not fail when referencing jQuery.  However, getting I ...

  3. ASP.NET MVC IOC 之AutoFac

    ASP.NET MVC IOC 之AutoFac攻略 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天, ...

  4. Orchard Module,Theme,Core扩展加载概述

    Orchard 源码探索(Module,Theme,Core扩展加载概述) 参考: http://www.orchardch.com/Blog/20120830071458 1. host.Initi ...

  5. 【值得收藏】数据分析和可视化软件IDL的学习资料汇编【可免费下载】

    IDL学习教程 IDL 是一种数据分析和图像化应用程序及编程语言,最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据.此后,IDL得到广泛运用,使用者日众.IDL能使用户可以迅速且方便地运用此 ...

  6. 用户故事(User Story)

    用户故事(User Story)       用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素.用户故事通常的格式为:作为一个<角色>, 我想要<功 ...

  7. Kindergarten Counting Game - UVa494

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva494.html 题目描述  Kin ...

  8. RikMigrations 或 Migrator.NET 进行自动化的数据库升级

    一种版本化的数据库脚本管理机制 现今开发的软件当中,多数系统的数据都是基于数据库存储的,但是由于软件变化的复杂性,相对于维护代码,数据库架构的版本并不是那么好维护. 这里本人针对实际情况,理想化出一种 ...

  9. 基于SQLite日志记录工具--Log4W

    最近压迫自己写点自己的东西,但是水平不高,槽点多,望各位请轻喷,嘿嘿! 以前用过一个Log4Net的东东,但是保存的是文本文件,不好过滤,而且用的不多,也不太熟悉,所以自己也当写一个练练手吧!     ...

  10. 在ASP.NET MVC3 中利用Jsonp跨域访问

    在ASP.NET MVC3 中利用Jsonp跨域访问 在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复 ...