如标题所言,本文由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. SQL点滴4—筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息

    原文:SQL点滴4-筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息 项目需要将Access数据库中的数据导入到SQL Server中,需要检验导入后的数据完整性,数据值是否正确.我们 ...

  2. leetcode第一题--two sum

    Problem:Given an array of integers, find two numbers such that they add up to a specific target numb ...

  3. LeetCode之Reverse Words in a String

    1.(原文)问题描述 Given an input string, reverse the string word by word. For example, Given s = "the ...

  4. 日志分析工具-ApexSQL介绍

    原文:日志分析工具-ApexSQL介绍 使用场景:业务数据异常变化,通过代码分析不出来的时候,迫不得已需要通过日志来分析 下载地址:http://www.apexsql.com/Download.as ...

  5. Mysql高级之索引

    原文:Mysql高级之索引 索引:是针对数据所建立的目录. 作用: 可以加快查询速度 负面影响: 降低了增删改的速度. 索引的创建原则: 1:不要过度索引 2:在where条件最频繁的列上加.在重复度 ...

  6. 安装64位的oracle连接客户端

    VS自带的WebServer只有32位的,你只能以32位运行,即使你的VS里面编译目标是64位的, 注意:发布到iis,可以以64位运行,你需要安装64位的oracle连接客户端.如果没有,你的程序必 ...

  7. div高度自适外层div高度随里层div高度自适

    尝试过许多办法 其中一网友的最靠谱就是在外层div样式添加两个标签(不能少) clear:both;  overflow:auto;

  8. TreeMap与TreeSet

    TreeMap与TreeSet TreeSet底层则采用一个NavigableMap来保存TreeSet集合的元素.实际上,由于NavigableMap只是一个接口,因此底层依然是使用TreeMap来 ...

  9. SZU:B54 Dual Palindromes

    Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Number Only Ju ...

  10. 【学习笔记】锋利的jQuery(一)选择器

    一.要点阐述 1,jQuery创建于2006年1月的一个开源项目,强调理念是“write less,do more”,压缩后大小30KB左右.. 2,jQuery里的方法都被设计程自动操作对象集合,而 ...