当前位置: 首页 > 编程日记 > 正文

Unity 4.x游戏开发技巧集锦(内部资料)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Unity 4.x游戏开发技巧集锦(内部资料)

155142_hybo_1585857.png

淘宝书店地址:http://item.taobao.com/item.htm?spm=a1z10.3.w4002-6661947338.36.FdOZqM&id=40302732808

试读样章下载地址:http://pan.baidu.com/s/1dD7Zl8t


前言

Unity是一款世界知名的游戏开发工具,也是一款全面整合的专业游戏引擎。使用Unity开发的游戏,可以部署到所有的主流游戏平台,而无需任何修改,如Windows、Linux、Mac OS X、iOS、Android、Xbox 360、PS3、WiiU和Wed等。据权威机构统计,国内53.1%的人使用Unity进行游戏开发;有80%的手机游戏是使用Unity开发的;苹果应用商店中,有超过1500款游戏使用Unity开发。
强大的工具还需要灵活的应用。现在的游戏种类众多,其中的声光效果更是精彩炫目。作为游戏开发初学者,往往被别人的游戏效果和功能所惊叹,但往往又为自己的游戏所汗颜。
本书分析世界各类知名游戏,如《仙剑奇侠传》、《红警》、《使命召唤》、《穿越火线》、《劲舞团》、《极品飞车》、《斗地主》、《植物大战僵尸》、《天天跑酷》等。从这些游戏中选择大量经典应用功能和特效进行讲解,如:
《极品飞车》的后视镜功能
《红警警戒》的士兵巡逻功能
《荣誉勋章》的罗盘功能
《拳皇》的倒计时功能
《超级玛丽》的消失文字效果
《星际争霸》的士兵响应效果
......................
相信读者从中学到的将不只是各种特效的实现方法,还会从中感受到无限的成就感和欢乐。
1.学习所需的系统和软件
安装Windows 7操作系统
安装Unity 4.5.2
2.学习建议
大家学习之前,可以致信到XXXXXXXXX,获取相关的资料和软件。如果大家在学习过程遇到问题,也可以将问题发送到该邮箱。我们尽可能给大家解决。

目录
第1章  熟悉Unity及其简单操作 1
1.1  安装Unity 1
1.2  编辑器的偏好设置 4
1.3  熟悉Unity的编辑器界面 5
1.4  将Unity中的资源保存到预设体中 8
1.5  使用Unity内置的资源包 10
1.6  导入自己的资源 11
1.7  导出Untiy中的资源 11
1.8  导入自己的资源包 12
1.9  添加资源包到资源包列表中 13
1.10  使用Project视图检索器 13
第2章  摄像机的应用 15
2.1  设置双游戏视图 15
2.1.1  环境准备 15
2.1.2  编写脚本 16
2.1.3  实现效果 18
2.2  在多个游戏视图间切换 19
2.2.1  环境准备 19
2.2.2  编写脚本 19
2.2.3  实现效果 20
2.3  制作镜头光晕效果 21
2.4  制作游戏的快照 24
2.5  制作一个望远镜 27
2.6  制作一个查看器摄像机 30
2.7  使用忍者飞镖创建粒子效果 34
2.7.1  粒子基本属性 34
2.7.2  粒子的值 34
2.7.3  创建粒子效果 35
2.7.4  了解粒子系统的初始化模块 36
第3章  材质的应用 39
3.1  创建反射材质 39
3.2  创建自发光材质 41
3.2.1  创建并配置材质 41
3.2.2  制作应用于发光材质的纹理 42
3.2.3  效果展示 44
3.3  创建部分光滑部分粗糙的材质 45
3.3.1  创建并配置材质 45
3.3.2  制作兼具光滑和粗糙效果的纹理 46
3.3.3  效果展示 47
3.4  创建透明的材质 48
3.4.1  创建并配置材质 48
3.4.2  制作有透明效果的纹理 48
3.4.3  效果展示 49
3.5  使用cookie类型的纹理模拟云层的移动 50
3.5.1  制作云层效果的纹理 50
3.5.2  在Unity中完成的准备工作 51
3.5.3  编写控制云层移动的脚本 52
3.5.4  效果展示 53
3.6  制作一个颜色选择对话框 53
3.7  实时合并纹理——拼脸小示例 56
3.8  创建高亮材质 59
3.9  使用纹理数组实现动画效果 61
3.10  创建一个镂空的材质 64
第4章  GUI的应用 67
4.1  绘制一个数字时钟 67
4.2  制作一个模拟时钟 68
4.3  制作一个罗盘 71
4.4  使用雷达说明对象的相对位置 74
4.5  在游戏视图上显示指定数量的纹理 77
4.6  使用不同的纹理表示数值 79
4.7  显示一个数字倒计时 82
4.8  显示一个图片数字倒计时 83
4.9  显示一个饼状图倒计时 85
4.10  逐渐消失的文字信息 88
4.11  显示一个文字财产清单 89
4.12  显示一个图片财产清单 91
4.13  丰富图片清单的内容 93
4.14  允许鼠标滚轮控制滚动条的滚动 96
4.15  使用自定义鼠标取代系统鼠标 98
第5章  Mecanim动画系统的应用 102
5.1  给人物模型加Avatar和动画 102
5.1.1  添加Avatar 102
5.1.2  添加动画 104
5.1.3  添加动画控制器 106
5.1.4  人物模型动作效果展示 106
5.1.5  将动画应用于其它的人物模型 107
5.2  自由控制人物模型做各种动作 108
5.2.1  人物模型以及动画属性设置 109
5.2.2  动画控制器的设置——添加混合树 111
5.2.3  动画控制器的设置——建立过渡 114
5.2.4  创建脚本 116
5.2.5  运行效果展示 118
5.3  动画的融合——动画层和身体遮罩 119
5.4  使用脚本代替根动作 124
5.4.1  根动作的应用 124
5.4.2  脚本代替根动作做出处理 126
5.5  添加道具到人物模型上 132
5.6  配合人物模型的动作来投掷对象 135
5.7  应用布娃娃物理系统的人物模型 139
5.8  旋转人物模型的上半身去瞄准 143
第6章  声音的应用 148
6.1  声音音调配合动画播放速度 148
6.2  添加音量控制 152
6.3  模拟隧道里的回声效果 158
6.4  防止音乐片段在播放的过程中重播 161
6.5  音乐播放结束后销毁游戏对象 163
6.6  制作可动态改变的背景音乐 166
第7章  外部资源的应用 173
7.1  使用Resources加载外部资源 173
7.2  使用Resources文件夹加载外部资源 177
7.3  使用网址加载外部资源 182
7.4  使用静态属性存储和加载玩家数据 183
7.4.1  一个游戏的雏形 184
7.4.2  给游戏增加玩家数据存储的功能 186
7.5  使用PlayerPrefs存储和加载玩家数据 190
7.6  为游戏添加截图功能 193
第8章  TXT和XML文件的应用 197
8.1  使用TextAsset加载外部文本文件 197
8.2  使用C#文件流加载外部文本文件——读取数据 198
8.3  使用C#文件流加载外部文本文件——写入数据 201
8.4  加载并解析外部的XML文件 202
8.5  使用XMLTextWriter创建XML文件中的数据 204
8.6  使用串行化的方式自动创建XML文件中的数据 208
8.7  使用XMLDocument直接创建包含数据的XML文件 212
第9章  角色移动和状态切换 215
9.1  由玩家控制对象的移动 215
9.2  控制对象的朝向 219
9.3  控制对象与对象间的相对移动 222
9.3.1  相对移动——寻找 222
9.3.2  相对移动——靠近对象时减速 227
9.3.3  相对移动——保持距离 229
9.4  控制对象群组的移动 231
9.5  控制角色向前投掷物体 236
9.6  控制角色在一个随机的点出现 242
9.7  控制角色在指定点出现 246
9.8  控制角色按照指定路线行进 248
9.9  控制游戏不同状态间的切换 252
9.10  使用多个类来管理游戏的多个状态 255
第10章  完善和优化游戏 260
10.1  让游戏处于暂停状态 260
10.2  让游戏在指定时间内减速运行 263
10.3  使用偏振投影实现3D立体效果 267
10.4  阻止你的游戏在未知的网站上运行 272
10.5  优化原则:使用代码分析技术查找游戏性能瓶颈 273
10.6  优化原则:减少对象的数量——不需要的时候就销毁 277
10.7  优化原则:使用委托和事件提升效率 279
10.8  优化原则:使用协同程序有规律的执行逻辑代码 281
10.9  优化原则:将计算量大的任务分到多个帧执行 282
10.10  优化原则:尽量减少对象和组件的查找 284
第11章  Unity收费版提供的功能 290
11.1  让摄像机聚焦不同的对象——景深效果 290
11.2  为汽车加后视镜 294
11.3  使用声音过滤器模拟水中的音效 298
11.4  在场景对象上播放视频 301
11.5  在Game视图上播放外部的视频文件 304


转载于:https://my.oschina.net/u/1585857/blog/295873

相关文章:

百度CTO王海峰阐释AI融合创新,降低门槛,按下产业智能化加速键

6月17-18日,第五届未来网络发展大会在南京隆重开幕。大会由中华人民共和国科学技术部、中国工程院、中国科学技术协会、江苏省人民政府指导,南京市人民政府主办,以“努力成为世界主要科学中心和创新高地的使命担当”为主线,邀请国…

[LeetCode系列]最大连续子列递归求解分析

本文部分参考Discuss: LeetCode. 步骤1. 选择数组的中间元素. 最大子序列有两种可能: 包含此元素/不包含. 步骤2. 步骤2.1 如果最大子序列不包含中间元素, 就对左右子序列进行步骤1. 步骤2.2 如果最大子序列包含, 则结果很简单, 就是左子列的最大后缀子列(即包含左子列最后一个…

C#中的多线程编程

C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使…

关于机器学习,不可不知的15个概念

‍‍作者:布奇昆托(Butch Quinto)来源:大数据DT(ID:hzdashuju)有监督学习有监督学习是利用训练数据集进行预测的机器学习任务。有监督学习可以分为分类和回归。回归用于预测“价格”“温度”或“…

常用API(Object、String、StringBuffer、用户登陆注册)

常用API 今日内容介绍 u Object u String u StringBuilder 第1章 Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征、对象的使用以及对象的关系。接下来我们开始使用对象做事情,那么在使用对象做事情之前,我们要学习一些API…

WMI列出磁盘配额

using System; using System.Management; namespace DiskQuota { /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { try…

VS2013 编译使用 stlport

1. 下载stlport. 下载地址:http://sourceforge.net/projects/stlport/ 2. 解压到一个目录下面, 我的是解压到D:\project_kuku\program\library\STLport-5.2.1 3. 打开vs2013的命令行工具, 在目录:C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\ 下…

盛夏海边,用Python分析青岛哪些景点性价比高

作者 | 志斌来源 | 志斌的python笔记头图 | 付费下载于 IC Photo在经过几年的热潮之后&#xff0c;人工智能AI算法已经在各行各业广泛使用了。例如在工业制造中&#xff0c;利用人工智能监测仪器仪表、人员的违规与高危行为&#xff1b;利用图形AI算法进行材料质检&#xff1b;…

EnterLib PIAB又一个BUG?

在《这是EnterLib PIAB的BUG吗&#xff1f;》一文中我们讨论了PIAB关于抽象基类的BUG&#xff0c;今天又发现了一个新的问题。问题的起因源于《IoCAOP的简单实现》这篇文章&#xff0c;因为文中给出的解决方案仅仅支持构造器注入&#xff08;Constructor Injection&#xff09;…

【SQL Server】系统学习之一:表表达式

本节讨论的相关内容包括&#xff1a;视图、派生表、CTE、内联表值函数 场景&#xff1a;如果要查询一组数据&#xff08;例如聚合数据&#xff0c;也就是几个表聚合在一起的数据&#xff09;&#xff0c;这些数据并未在数据库中以表的形式存在。 1、视图&#xff1a;通常用来分…

C语言中字符数组和字符串指针分析

写下面的测试程序&#xff1a;#include <stdio.h> int main(int argc, char *argv[]){char day[15] "abcdefghijklmn"; char* strTmp "opqrstuvwxyz";printf("&day is %x\n",&day); printf("&day[0] is %x\n",&…

这篇论文,透露谷歌团队构想的“未来搜索”

作者 | 青苹果来源 | 数据实战派头图 | 付费下载于 IC Photo传统的信息检索&#xff08;IR, Information Retrieval&#xff09;系统&#xff0c;并不直接回应信息需求&#xff0c;而仅提供对内容的参考。排序&#xff08;Ranking&#xff09;是该范式的关键组成部分。这样的检…

selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python23)

优化html报告 为了满足小伙伴的各种变态需求&#xff0c;为了装逼提升逼格&#xff0c;为了让报告更加高大上&#xff0c;测试报告做了以下优化&#xff1a; 测试报告中文显示&#xff0c;优化一些断言失败正文乱码问题新增错误和失败截图&#xff0c;展示到html报告里优化点击…

C#的多线程机制

一.多线程的概念 Windows是一个多任务的系统&#xff0c;如果你使用的是windows 2000及其以上版本&#xff0c;你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢&#xff1f;当一个程序开始运行时&#xff0c;它就是一个进程&#xff0c;进程所指包括运行中…

知乎 CTO 李大海:创业公司如何拥抱开源

由计算机学会主办的 CCF C 活动近日走进知乎。知乎合伙人兼 CTO 李大海、搜狗 CEO 王小川、华东师范大学教授王伟在内的企业界、学界技术代表齐聚&#xff0c;带来一场精彩的技术分享盛宴。 围绕「创业公司如何拥抱开源」的分享主题&#xff0c;知乎合伙人兼 CTO 李大海首次披…

如何居中一个浮动元素?

2019独角兽企业重金招聘Python工程师标准>>> 1.<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>center</title> <style type"text/css"> .p{ position:relative; float:left; left:50…

javascript promise编程

在loop中使用promise: https://stackoverflow.com/questions/17217736/while-loop-with-promises 转载于:https://www.cnblogs.com/kidsitcn/p/7745973.html

bzoj1295

考虑到这道题n&#xff0c;m都很小&#xff0c;我们考虑先穷举起点i 下面我们要做的是找出移走k个障碍后&#xff0c;点i所能到的最大距离 我们可以把这个问题转化为判定性问题 对于一对点i,j,如果他们之间存在一条路径&#xff0c;障碍数&#xff08;包括起点终点&#xff09;…

C#程序可将文本文件藏于位图中,也可导出

//使用方法&#xff1a; // BmpSafe.exe /file2bmp (input BMP) (input file to hide) [output file] //BmpSafe.exe /bmp2file (data BMP) [output file] using System; using System.IO; using System.Drawing; public class Bitmap24Writer { protected Bitmap bmp; …

溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战

作者 | 马超责编 | 张红月出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;受任于败军之际&#xff0c;奉命于危难之间。近几年硅谷史上的传奇、英特尔几位掌门葛洛夫与欧德宁相继离世&#xff0c;虽然他们早已脱离一线多年&#xff0c;但是他们的离去可能还是让英特…

教你用Vue渐进式搭建聊天室,从JavaScript=TypeScript

前言 VueSocket.io这个轮子已经有很多人造过了&#xff0c;为了不重复造轮子&#xff0c;我将本项目以三阶段实现&#xff08;大家可以在github中的Releases查看&#xff09;&#xff1a; 纯前端&#xff08;Vuex&#xff09;后端前端&#xff08;JavaScript&#xff09;后端前…

如何学习linux编程

如果想学习UNIX/LINUX的编程&#xff0c;《APUE》绝对经典的教材&#xff0c;加深一下功底&#xff0c;学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。如果继续网络编程&#xff0c;建议看《TCP/IP进行网际互连》的第三卷&#xff0c;里面有很多关于应用协议telnet、…

HTML中的form表单有一个关键属性 enctype

HTML中的form表单有一个关键属性 enctype&#xff1d;application/x-www-form-urlencoded 或multipart/form-data。 1、enctype"application/x-www-form-urlencoded"是默认的编码方式&#xff0c;当以这种方式提交数据时&#xff0c;HTTP报文中的内容是&#xff1a; …

赠书 | JavaScript 武力值飙升!用 TensorFlow.js 轻松在浏览器里搞深度学习

近年来&#xff0c;AI 与人类的生活越来越紧密&#xff0c;慢慢变得无处不在。那么提到 AI &#xff0c;我们会想到什么&#xff1f;小编最先想到的是机器人。早在小学作文中&#xff0c;我就写到 2021 年到处都是机器人&#xff0c;机器人汽车到处飞。结果 2021 年到来&#x…

[译] JWT 与 Spring Cloud 微服务

keyholesoftware.com/2016/06/20/…作者&#xff1a;THOMAS KENDALL译者&#xff1a;oopsguy.com 微服务安全是架构的一个重要部分。具体来说&#xff0c;就是认证和授权模式。 微服务认证和授权处理方式有几种选择&#xff0c;但本文只介绍 JSON Web Token 的使用。 JSON Web …

20步打造最安全的Nginx Web服务器

Nginx是一个轻量级的&#xff0c;高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本&#xff0c;Mac OS X,Solaris和Windows。根据调查统计&#xff0c;6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟…

C#创建和调用DLL

一、写在前面 C# 语言是一种简单但功能强大的编程语言&#xff0c;用于编写企业应用程序。 C# 语言从C和 C语言演化而来&#xff0c;在语句、表达式和运算符方面使用了许多 C 功能。 C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。 C# 语言提…

死磕算法!35 篇算法设计实例+6 本必读书打包送你

算法为什么难学&#xff1f;算法在程序中扮演着非常重要的角色&#xff0c;有人将数据结构比喻为程序的骨架&#xff0c;将算法比喻为程序的灵魂&#xff0c;这一点也不为过&#xff0c;正是因为这一点&#xff0c;很多朋友都立志要学好算法&#xff0c;但是我常常看到各种抱怨…

EXCHANGE证书

证书&#xff1a; CA&#xff08;证书颁发机构&#xff09;和证书有什么区别&#xff1f; CA&#xff1a;是服务器中的一个服务&#xff0c;主要是用来为计算机&#xff08;用户&#xff09;来颁发证书&#xff0c;安装CA的服务器称为证书服务器&#xff0c; 证书&#xff1a;从…

C#2.0模拟List和内置算法

C#中的范型对于很多从C转过来的程序员来说&#xff0c;可以说是一个天大的喜讯。hehe&#xff0c;至少笔者对于这个新特性是充满了敬仰之情。 在C#2.0中&#xff0c;匿名方法、IEnumerable接口和匿名方法的合作&#xff0c;使很多的编程任务变得非常的简单&#xff0c;而且写出…