游戏对象、组件和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中创建模型,而是通过脚本动态创建游戏对象.通过脚本动态创建的灵活性较高,重点也在于通过脚本 ...
随机推荐
- Jmeter性能测试
Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的 ...
- Fedora20-Xfce音频视频解码器及解决无声音问题[已解决]
安装rpmfusion源 http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-20.noarch.rpm http:// ...
- C语言字符串操作函数集
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
- 多数据库下activiti的流程定义缓存问题
我们使用activiti(5.14版本号)作为流程引擎,今天在产品中发现一个问题,某流程的审批记录中, 活动实例表中记录的活动名称(ACT_HI_ACTINST表的ACT_NAME)居然是该流程中不存 ...
- SQL Server 2005中设置Reporting Services发布web报表的匿名访问
原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...
- iis处理请求随记回顾
----http是无状态的, 每次http请求户不影响,都是独立的:不会记的上次请求: -------iis原理:输入地址--socket封装请求体报文--发送---iis解析封装响应体---返回: ...
- 实用的两款jquery树形tree插件
这里有两款非常实用的jquery tree控件: (1) ------------------------------------------1.(根据一讲师总结) ---zTree: jquery. ...
- MVC 控制器激活
MVC 控制器激活 ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControl ...
- NUint使用详解及Visual Studio配置
NUint使用详解及Visual Studio配置 阅读目录 什么是单元测试? 为什么使用单元测试? NUint使用详解: 示例 属性 断言 简单测试 VS配置: External Tools Vis ...
- 你是否听过 TypeScript?
Type入门(JavaScript的超集)-译 你是否听过 TypeScript? TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析,显式接口. ...