游戏对象、组件和Prefabs
如标题所言,本文由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的更多相关文章
- 【2D游戏引擎】那些年对游戏对象的思考
WIP源代码: Github OSC镜像 对象系统以对象为中心,对象系统的最基本设计策略是基于组件的设计.对象系统将尽量避免使用继承方式来拓展游戏对象,恰当的使用Mix-in来来最属性做拓展,单个属性 ...
- Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}
一.创建游戏对象 游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube.Cam ...
- Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系
原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...
- Unity 游戏对象的组件列表
描述: 1 个游戏对象,上面有 4 个组件, 如图: 脚本 Test_01 的内容,如下: using System.Collections; using System.Collections.Gen ...
- Unity关于获取游戏对象
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...
- Unity3D基础--动态创建和设置游戏对象
转载自原文:http://m.blog.csdn.net/blog/smbroe/43488627 1.如何动态创建对象:调用GameObject的CreatePrimitive方法可以按模型进行创建 ...
- Unity3d 如何找到游戏对象并改变其颜色
//游戏对象 private var obj:GameObject; //渲染器 private var render:Renderer; //贴图 private var texture:Textu ...
- Unity3d获取游戏对象的几种方法
1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...
- U3D操作游戏对象
游戏对象:所有出现在场景中的实体都是游戏对象. 一.创建游戏对象 创建游戏对象有两种方式:一是通过在unity中创建模型,而是通过脚本动态创建游戏对象.通过脚本动态创建的灵活性较高,重点也在于通过脚本 ...
随机推荐
- [android] 百度地图开发 (两).所在地的城市定位和城市POI搜索
一个. 百度地图城市位置和POI搜索知识 上一篇文章"百度地图开发(一)"中讲述了怎样申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述怎样定位城市位置.定 ...
- Rich IntelliSense for jQuery
A while back we updated VS2008 IntelliSense to not fail when referencing jQuery. However, getting I ...
- ASP.NET MVC IOC 之AutoFac
ASP.NET MVC IOC 之AutoFac攻略 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天, ...
- Orchard Module,Theme,Core扩展加载概述
Orchard 源码探索(Module,Theme,Core扩展加载概述) 参考: http://www.orchardch.com/Blog/20120830071458 1. host.Initi ...
- 【值得收藏】数据分析和可视化软件IDL的学习资料汇编【可免费下载】
IDL学习教程 IDL 是一种数据分析和图像化应用程序及编程语言,最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据.此后,IDL得到广泛运用,使用者日众.IDL能使用户可以迅速且方便地运用此 ...
- 用户故事(User Story)
用户故事(User Story) 用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素.用户故事通常的格式为:作为一个<角色>, 我想要<功 ...
- Kindergarten Counting Game - UVa494
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva494.html 题目描述 Kin ...
- RikMigrations 或 Migrator.NET 进行自动化的数据库升级
一种版本化的数据库脚本管理机制 现今开发的软件当中,多数系统的数据都是基于数据库存储的,但是由于软件变化的复杂性,相对于维护代码,数据库架构的版本并不是那么好维护. 这里本人针对实际情况,理想化出一种 ...
- 基于SQLite日志记录工具--Log4W
最近压迫自己写点自己的东西,但是水平不高,槽点多,望各位请轻喷,嘿嘿! 以前用过一个Log4Net的东东,但是保存的是文本文件,不好过滤,而且用的不多,也不太熟悉,所以自己也当写一个练练手吧! ...
- 在ASP.NET MVC3 中利用Jsonp跨域访问
在ASP.NET MVC3 中利用Jsonp跨域访问 在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复 ...