Unity3D游戏开发菜鸟快速上手指南.docx

上传人:1513****116 文档编号:96538096 上传时间:2023-12-18 格式:DOCX 页数:11 大小:717.19KB
返回 下载 相关 举报
Unity3D游戏开发菜鸟快速上手指南.docx_第1页
第1页 / 共11页
Unity3D游戏开发菜鸟快速上手指南.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《Unity3D游戏开发菜鸟快速上手指南.docx》由会员分享,可在线阅读,更多相关《Unity3D游戏开发菜鸟快速上手指南.docx(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、大家对Unity3D 玩耍引擎应当并不生疏,由于 Unity3D 在轻量级玩耍开发和跨平台上面有他独特的优势,所以在当前可谓是炙手可热。17xuee 玩耍学院简洁介绍了Unity3D 的一些根底。并且有局部内容依据每天飞车工程阅历做了简洁分析。适合没有接触过 Unity3D 和手游开发,并想了解其或许的同学。1 Unity3D 简介1.1 编辑器简介编辑器整体视图如图 1.1 所示。里面包括了Unity 常用的编辑窗口:图 1.1 Unity 编辑器界面Project 视图、Hierarchy 视图、Scene 视图、Game 视图、Inspector 视图、Console 视图、Profil

2、er 视图。1.1.1 Project 视图Project 视图可以理解为工程名目,里面排列了工程里面的全部资源文件。常见的资源包括: 脚本、预设(Prefab)、模型、贴图、动画、Shader 等。用户可以通过右上角的搜寻框,搜寻工程内的文件。1.1.2 Hierarchy 视图Hierarchy 视图显示了当前玩耍场景中,全部的玩耍对象。玩耍对象是通过树形构造排布, 开放后可以看到每个子节点对象。常用的玩耍对象包括:摄像机、场景物件、玩家、光源等。1.1.3 Game 视图Game 视图是玩耍视角,即玩耍最终展现给玩家的内容。玩耍视角包括两局部:1、场景中当前摄像机照耀的场景;2、玩耍UI

3、 界面。1.1.4 Scene 视图Scene 视图有点像 3DMax 的编辑环境,在这里可以看到当前场景中的全部玩耍对象。双击Hierarchy 中的玩耍对象,可以在 Scene 中定位到对应的物件。在玩耍运行期间,暂停玩耍。开发人员可以在Scene 中找到对应的玩耍对象,查看当前帧的世界场景,便利查找BUG。1.1.5 Inspector 视图Inspector 视图是玩耍对象的属性面板。选择一个物件后,可以在Inspector 面板中查看或编辑玩耍对象的属性。玩耍运行期间,修改玩耍对象属性,可以马上作用到玩耍对象。这一特点对于美术的编辑、程序查BUG 或者筹划调整玩耍参数有很大帮助。Un

4、ity 的玩耍对象是通过Component组件掌握的。常见的Component 有:Transform模型坐标、Collider碰撞检测器、Rigidbody刚体属性、Animation动画、AudioSource声音源、Script玩耍脚本等。1.1.6 Console 视图Console 视图是掌握台信息输出窗口。输出的信息包括:玩耍脚本编译错误信息、玩耍运行期间的日志输出、断言、崩溃信息。1.1.7 Profiler 视图Profiler 视图是玩耍性能分析器。玩耍运行期间,每一帧的数据都被记录,并显示在Profiler 窗口。在时间轴上,最多可以保存几百帧的数据,点击一个特定的帧上,窗

5、口下面会显示该帧的玩耍运行细节,包括CPU 使用率、GPU 使用率、渲染、内存、音频、物理。1.2 打包与公布在 Unity 编辑器中,选择“File - Build Settings”可以翻开玩耍打包公布面板。在此面板中,可以选择打包的玩耍场景、公布平台以及玩耍设置。Unity 支持跨平台,所以在这里可以有多种平台选择。打包后的文件格式有:*.swf、*.exe、*.apk、Xcode 工程等。1.3 脚本组件Unity 玩耍开发中,玩耍脚本在玩耍开发中是关键要素,玩耍的规律掌握都是由脚原来掌握的。Unity 支持 3 种玩耍脚本语言:C#、JavaScript 和 Boo。这三种语言中,C

6、#由于最接近C+更符合大局部程序员编程习惯,所以使用的比较广。而 JavaScript 就比较简洁上手属于入门级别,Boo 的使用人数则是最少的。玩耍脚本类继承自 MonoBehaviour 后,该脚本即可以作为一个玩耍组件挂到玩耍对象上。继承 MonoBehaviour 后,供给大局部系统掌握的脚本函数。下面列了一些常用的函数的执行挨次:不同玩耍脚本之间的执行挨次,可以通过调整玩耍脚本优先级来修改。翻开调整面板方式: 选择某个脚本文件,在Inspector 面板,点击右上角的Execution Order 按钮。1.4 场景切换与数据传递在打包公布面板,我们可以选择需要包含的玩耍场景。在玩耍

7、过程中,我们需要切换场景, 可以调用Application.LoadLevel函数。切换场景的时候,默认会把场景中的物件清空。假设需要把数据从不同场景中传递成问题了。常用的方法有两种:1、 静态数据变量。静态数据变量可以用来桥接不同脚本之间的数据交换。固然也可以作为不同场景之间的数据传递。固然过多的静态变量,对于其治理也是个比较麻烦的问题。2、 利用函数DontDestroynoxss指定某些物件不随着场景的切换而移除。定义一个长期存在的节点,其实挺便利的。可以把玩耍的主框架搭建放在这个节点的脚本控件上,这个脚 本就有点像GameMain 函数,里面可以定义单件治理器,便利治理玩耍数据和流程。

8、1.5 GUIUnity 供给一套自带的GUI 系统,但是这套GUI 系统实在是太难用了。几乎没有玩耍会使用这个原生GUI 系统的,也因此催生了很多UI 插件。市面上成功用Unity 开发的玩耍,都是使用 UI 插件的。最常见的UI 插件有:NGUI 和 EZGUI。每天飞车承受的是NGUI,所以本文简洁介绍一下NGUI。1.5.1 原生 GUI 系统原生 GUI 系统的运行效率低,而且UI 需要由程序调整掌握,生产效率极低。下面,我们看一个Unity 官网供给的一个用GUI 系统的例子。如图1.2,我们需要绘制两个按钮,点击按钮对应输出一个提示语句。代码1 是官方给出的代码程序。可见假设需要

9、调整按钮位置,修改按钮的外观,可能需要修改程序脚本。假设UI 较少尚且可以这样做。但是假设玩耍UI 简单度较高,这个UI 维护本钱就格外高了。图 1.2 GUI 例图1. /代码 1:2. / C#3. using UnityEngine;4. using System.Collections;5. public class GUITest : MonoBehaviour 6. 7. public Texture2D icon;8. void OnGUI 9. 10. GUI.Box (new Rect (10,10,100,50), new GUIContent(“This is text“

10、, icon);11. 12. 1.5.2 NGUINGUI 使用树形构造组织玩耍UI。并且使用了 Unity 定义的元素拼接UI 界面。可以在不运行玩耍的状况下编辑和查看UI 面板。让美术和程序工作分别:美术可以把 UI 拼接好,做成一个 Prefab 供给应程序掌握规律。如图 1.3 是 NGUI 编辑的每天飞车单局UI。我们可以直接在 Scen 视图中查看和编辑UI 面板。这种构造,既便利美术制作UI 动画,也便利程序查找UI 显示上的BUG。图 1.3 NGUI 编辑UI 界面1.6 Prefabs 介绍Prefabs 是一种Unity 的资源类型,可以简洁理解为一个预先设置好的玩耍对

11、象。我们可以把这个玩耍对象创立到场景后,其构造和属性都跟我们预设一样的。我们定义和使用Prefab 的缘由在于,把场景中动态创立或者需要重复使用的物件,设置成一个 Prefab,我们就可以依据需要创立。创立出来的实例跟我们预设是全都的。包括模型构造以及节点的组件属性。几乎全部的玩耍对象都可以设置成一个Prefab,例如,一辆车、一个 UI 界面、一个武器、一颗子弹.Prefabs 的制作很简洁,我们只需要把玩耍对象在Scen 中编辑好后,从Hierarchy 窗口把该玩耍对象拖到Project 窗口,改玩耍对象就被保持成一个Prefab 对象了。Prefabs 的实例化也很便利:加载:Game

12、Object goTest = Resources.Load(“TestPrefab”) as GameObject;克隆:GameObject goTest2 = Instantiate(goTest) as GameObject;1.7 对象池每天飞车大局部常见的玩耍对象都承受对象池来治理。对象池的特点是: 加载后不释放 不使用,放到对象池 下次用,直接从池子里取 定义最大的安排数量,掌握内存对于同一个对象,使用完成后放到指定的空节点,并且Deactive。下次使用的时候,直接 从改池子里面取。池子中的对象列表为空时,允许克隆的对象,放到池子。对于某个对象, 定义一个最大的安排数量,掌握内

13、存。图 1.4 对象池处理流程图使用对象池最大的好处就是削减了资源加载时间。固然,它同时带来了内存消耗的增加。依据玩耍对象的特性,合理的设定其对象池的最大安排数量也是一个关键。可以考虑增加一个算法,把那些长时间不用的内存池释放或者削减安排的对象数量。2 反外挂策略手机玩耍进入运营阶段,对于开发人员来说,最麻烦的就是反外挂问题。每天飞车单局中没有协议交互,在玩耍运行期间统计玩耍数据,玩耍完毕把数据提交给效劳器进展校验。所以, 反外挂的难度相对于PC 玩耍来说是更加大的。常用的反外挂策略有: 客户端的关键数据使用安全数据类型。数据加密有很多种方法,常用的是承受数据影子进展加密。 数据统计,结算上报

14、统计数据。单局中没有数据交换的状况下,只能把数据统计放到客户端。关键规律承受多数据校验记录, 外挂需要同时修改多个变量才能骗过反外挂校验。 开局数据下发,结算回带。某些关键数据,在开局的时候,由效劳器下发。并且保证玩耍过程中和结算上报都使用同一数据。效劳器最终对客户端回传的数据与下发的数据进展校验。 降低外挂在玩家中的声誉。这算是一种非纯技术反外挂。玩耍更后,预留一些坑,效劳器不开对应反外挂策略。当大量玩家购置外挂使用的时候,再翻开对应策略,给玩家肯定量的惩罚。一方面,给玩家造成使用外挂的恐惊。另外一方面,降低了外挂供给商在玩家中的口碑。最终要留意一点:对于使用 Unity3D 玩耍引擎的工程

15、,继承自 MonoBehaviour 的变量简洁被外挂利用。例如,MonoBehaviour 的 Enable 变量就可以被修改。每天飞车前段时间消灭无限隐身的外挂,就是利用了这一点。当玩家进入隐身状态后,把掌握隐身的脚本 Disable, 导致客户端无法统计隐身相关的反外挂信息。3 配置一个好的玩耍,配置无疑是一个关键的因素。便利的配置,可以大大加快玩耍开发进度。也可以肯定量的减轻程序员的工作。我们在这里争论一下每天飞车工程使用Unity3D 引擎开发的各种配置方式。在每天飞车工程里,常见的配置方法有以下几种: 文本文件 Xml 文件 Excel 文件 Unity 场景或者Prefab 中配

16、置天飞的配置猎取和更方式主要有三种: 版本公布时,打进安装包 从CDN 效劳器中拉取最配置 效劳器通过协议下发给客户端Unity 编辑器里面可以在Inspector 面板上填写物件属性。通过Inspector 面板,我们可以给场景中的某个物件中的组件进展编辑,编辑后的属性可以直接应用在玩耍中。用户可以把Prefab 实例化到场景中。暴露Prefab 属性给筹划,可以让筹划便利地快捷的修改参数配置, 并且直接重启玩耍就可以看到效果。Prefabs 中配置的优点是开发便利,反响准时。但是,同样也要留意到其维护本钱高、需要随着版本更,以及反外挂困难等特点。下面介绍一个简洁的例子:每天飞车的赛道块配置

17、。玩耍研发初期,由于还没有接入效劳器,而且要保证开发速度,所以在场景中配置赛道块和NPC 车的刷出规律数据。但是,随着玩耍进入运营阶段,版本的开发,觉察这样的配置方法维护本钱高,敏捷性低。而且效劳器读取不了这局部数据,反外挂不好做。在战车模式版本中,就需要把局部赛道块配置抽离到Excel 表格配置了。4 Unity3d 资源加载与内存治理Unity 供给多种加载和释放方式。大局部刚接触Unity 的开发人员可能对这个比较难理解。这里引用一篇其他人整理的文章或许介绍一下。原文出处: :/game.ceeger /forum/read.php?tid=4394 资源加载:l AssetBundle

18、.CreateFrom 和 AssetBundle创立一个AssetBundle 内存镜像l AssetBundle.Load 和 Resources.Load从 AssetBundle 读取一个指定名称的Asset 并生成Asset 内存对象。假设屡次Load 同名对象,除第一次外都只会返回已经生成的Asset 对象,也就是说屡次Load 一个Asset 并不会生成多个副本。l InstantiateClone 一个object 的完整构造,包括其全部 Component 和子物体详见官方文档,浅 Copy,并不复制全部引用类型。资源释放:l Destroy主要用于销毁克隆对象,也可以用于场

19、景内的静态物体,不会自动释放该对象的全部引用。l AssetBundle.Unload(false) 释放 AssetBundle 文件内存镜像l AssetBundle.Unload(true)释放 AssetBundle 文件内存镜像同时销毁全部已经Load 的 Assets 内存对象l Reources.UnloadAsset(Object)显式的释放已加载的Asset 对象,只能卸载磁盘文件加载的Asset 对象l Resources.UnloadUnusedAssets用于释放全部没有引用的Asset 对象l GC.Collect强制垃圾收集器马上释放内存Unity 的 GC 功能不算好,没把握的时候就强制调用一下图 4.1 内存加载与释放5 总结本文可能有局部内容理解不够深入,介绍不够完全,欢送大家一起来探讨。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com