如标题所言,本文由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. PHP程序猿必备的七种武器

    作为一个程序猿(又或者是程序媛),出来闯荡江湖,没有几种必杀技在手,那是肯定无法赢得江湖名声的,除了必杀技之外,武器也是很重要的,但是一把青钢剑,肯定是无法赢得万千少男少女的欢心的.就连小李飞刀,人家 ...

  2. Visual Studio 单元测试之二---顺序单元测试

    原文:Visual Studio 单元测试之二---顺序单元测试 此文是上一篇博文:Visual Studio 单元测试之一---普通单元测试的后续篇章.如果读者对Visual Studio的单元测试 ...

  3. UC编程:输入输出重定向(标准IO)

    [c] #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char szBuf[100]; /* 将屏 ...

  4. Java中“==”和equals()方法

    这是在Thinking in Java中看到的. 第一个程序 public class Exponents { public static void main(String []args){ Inte ...

  5. MySQL之自定义函数

    引言 MySQL本身提供了内置函数,这些函数的存在给我们日常的开发和数据操作带来了很大的便利,比如我前面提到过的聚合函数SUM().AVG()以及日期时间函数等等,可是我们总会出现其他的需求:我们需要 ...

  6. 如何把va_list可变参数传送到下一级函数中(如传送到printf)

    最近我在一个LCD上想实现打印格式化字符串的功能,实现这样的功能可有两种方式: 一 最直接的就是自己去解析类似于printf功能的一个函数: 二 比较简单的方法是使用已有的sprintf功能,把格式化 ...

  7. 怎样以学习单片机为契机,逐步成为优秀的project师

    现状 不知道阅读本文的读者,在初学单片机时是否和我以前一样迷茫.看到各种新的术语,疑惑不解:不知道从何学起:照着书中的样例一步一步做都没有问题,可是自己试着做东西,遇到各种问题却不会解决,向别人提问, ...

  8. .Net中批量更新或添加数据

    方法一:使用SqlBulkCopy实现批量更新或添加数据. SqlBulkCopy类一般只能用来将数据批量插入打数据库中,如果数据表中设置了主键,出现重复数据的话会报错,如果没有设置主键,那么将会添加 ...

  9. 处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 解决办法:以管理员运行命令:C: ...

  10. c#下载文件案例

    public static void HttpDown(string fileName, System.Web.UI.Page p_Page,string floder) { string path ...