本文目录
- 我想学习unity3d游戏程序开发 要学习什么有推荐的书么
- 学习Unity3d游戏开发必须经历的几个阶段
- unity新手入门教程
- 学习unity3d,如何安排进程,从哪里开始学
一、我想学习unity3d游戏程序开发 要学习什么有推荐的书么
1、Unity游戏引擎集合了开发一个游戏所需要的大部分工具、组件、环境等内容。就像拍一部电影,我们需要摄像机、摇臂、灯光、挑干等基础工具。做游戏也需要摄像机、灯光、地形、人物控制器等组件。unity游戏开发看什么书?这里给大家推荐两本:
2、这本有趣的书介绍了模拟和渲染3D世界所需的基本数学知识,涵盖了理论知识和C++实现代码。
3、理论部分解释3D中数学和几何之间的关系,列出的技巧与公式可以当做参考手册以方便查找。实现部分演示了怎样用代码来实现这些理论概念。编程示例语言使用的是C++,实际上,本书的理论知识能通过任何编程语言实现。
4、这本是学习游戏开发的设计模式中最佳的书籍之一,如果你只是想学习OOP设计模式,那么,你可以阅读本书的命令模式章节,本书更适合具有一定编程经验但对游戏编程新手的开发人员。记住一点,不要重新发明轮子-学习这些模式并使用它们来让游戏更快更好。
5、目前游戏界的发展趋势逐渐把游戏引擎当做一个比较成熟的中间件了,许多toolset和基础构建在不同游戏中是相通的,曾经有人比喻游戏引擎在不久的将来会像现在的操作系统一样,呈现出一种比较稳定的状态。
6、游戏产业作为一个新兴产业,从初期形成到现如今的快速发展并迅速走向成熟时期,游戏行业已经成为文化娱乐产业、网络经济的重要组成部分,成为所有行业中发展前景较好的朝阳产业。
7、目前国内的游戏研发人才缺口巨大,移动端人才需求迫切。随着网络快速发展和不断成熟,我国游戏产业呈现快速稳定发展的良好趋势,拥有庞大的群众基础,与此同时,亦需要一大批游戏研发人员助兴游戏产业开发。
二、学习Unity3d游戏开发必须经历的几个阶段
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。可发布游戏至Windows、Mac、Wii、iPhone、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览,它的网页播放器也被Mac widgets所支持。
1、了解Unity3D的菜单,视图界面,这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用的就可以了。
2、理解场景里面的坐标系统,输入系统,简单的向量概念,Unity3D的坐标系统及向量概念如果不理解清楚,不理解世界坐标,局部坐标的关系,即使一个简单的移动,缩放,旋转的几行代码,也会困惑你半天。
3、学习创建基本的场景一些基本概念:游戏对象,组件,脚本。在界面上分别体现在层次视图,项目视图及属性视图,要理清楚彼此之间的关系。
4、学习资源导入方面的一些基本元素:网格,材质,贴图,动画等。
5、学习脚本的生命周期,Start,UpDate,ONGUI这些基本的方法。了解,预制,时间,数学等常用的类及相关方法。理解游戏对象,组件,脚本彼此之间的关系。
6、学习摄像机,灯光,地形,渲染,粒子系统,物理系统等等,这些每一个深入进出都是一个很复杂的主题。
7、学习更高级的概念:向量的加减法点乘差乘,光照法线贴图,内存管理,图形优化等等。Unity3D入门容易,真的要精通,那是相当难的。
三、unity新手入门教程
1、(一)首先unity的脚本可以用很多语言来写,比如java,js,c#,因为刚开始的时候我学习的是C++,后来又做C#窗体程序,先从脚本说起,脚本推荐用C#。
2、在unity中学会简单的游戏逻辑开发,unity用的VS编辑器其实是在C#里面调用unity的API,因为它在创建脚本的时候引入了一个unityEngine的空间,这个空间就是unity的C#API,新手只需要去学习unity的C#API接口就行了,untiyAPI文档UnityUserManual。
3、(二)关于unity客户端学习,首先你做为一个新手,我建议你从unity2D开始学习,我不建议你一开始就去学3D,因为3D游戏会涉及到很多比较复杂的计算,那么也就是在创建游戏项目的时候,选择一个2D游戏去开发,关于2D游戏的素材。
4、Unity游戏开发的学习是从基础知识循序渐进的。
5、一、C#语言基础:主要学习C#的基础语法,对C#的关键字、三大语序、数组和枚举等知识点有详尽了解,为后续编码工作打下基础。
6、二、Unity引擎:对Unity引擎做基础了解。Unity中的功能规划到不同的系统当中,我们要做的就是逐个击破,掌握物理系统、动画系统、UI系统、导航和粒子特效系统等。
7、三、Unity引擎高级:主要学习Unity在游戏开发过程中的高级知识点。从这里开始,知识点之间的关联性和依赖性逐渐降低,每个知识点都是一个独立大山,如数据持久化、项目框架、协程和优化、WWW数据请求、Shader与网络等。
8、四、AR:主要学习基于Vuforia的AR开发,高通的Vuforia是AR中比较通用和简单的插件,能够识别图片、模型、现实场景等,这些都是AR开发的基础。
9、五、VR:主要学习基于HTC-Vive设备的VR开发,HTC-Vive是Steam游戏平台的官方VR设备,在Steam的加持下,大量VR设备采用了Vive设备作为硬件载体,而市面上主要的VR开发岗位都已Vive为主。
四、学习unity3d,如何安排进程,从哪里开始学
1、Unity本身并不难,难点在于C#。只要可以熟练编写C#,其他的都很简单。
2、第一步:个人建议看传智播客的视频教程,先看基础班的,在bilibili搜索“传智播客.NET基础班”就能在线观看,不需要下载,推荐看苏坤的,看完基础班的教程,结合Unity的教程,就已经能开始写一些简单的小游戏了。
3、第二步:看传智播客就业班的视频,重点学习面向对象和委托,需要完全理解。必须掌握这两点,才能去写一些比较复杂的逻辑,比如道具系统,背包系统等。
4、第三步:学习多线程,异步,Socket,这样你便能明白游戏是如何跟服务器通信的。能够做出一个简易版的聊天程序,便基本够用了。
5、第四步:简单学习一下数据库。不需要学太深,明白怎么创建数据库,怎么增删改查就够了,再深的那些,即便学了,也用不上。
6、第五步:ADO和Entity framework能熟练使用其中一个便可。个人推荐Entity framework,尽管老版本不太好用,但自Core版本出现之后,变得非常好用了。之后结合数据库,就可以在服务器上储存游戏数据了。
7、第六步:学习一个三维动画建模软件。3DMAX,C4D,MAYA三选一便可。这三个都是主流,教程烂大街,由于专业对口,所以三个我都学过。3DMAX动画能力比较渣,如果需要做角色动画,功能有点弱,没有肌肉系统,骨骼系统也很简陋,界面有点反人类,无论用的多熟练,利用多少快捷键,工作效率都不如C4D纯鼠标操作快,好处是教程最多。C4D各方面功能都很强,而且简单易学,操作各种爽,是三个软件里人性化体验最好的,缺点是对Unity支持度比较差,只能通过FBX格式导入。MAYA各方面功能也很强,对Unity支持也很棒,但由于软件设计比较古老,让人觉得有点崩溃,虽然看起来功能很多,但很多功能是多余的,像是脱裤子放屁,明明一步就能搞定的功能,却总要弄上十几步,设置一大堆,就连导出模型,选个格式,都得进设置界面捣鼓半天,在界面上添加一个专门用来导出的按钮,之后利用这个按钮导出,什么?想换个格式?不行不行,这个按钮只支持导出一种格式。回设置界面创建个其他格式的导出按钮吧。怎么创建不了?嗯。。。你得先把之前创建的那个按钮删掉,再创建新的按钮。。。。就是这么令人崩溃。三个软件算是各有利弊吧。不过选哪个都无所谓,因为如果前面那些C#相关的知识,你都学会了的话,说明你的学习毅力已经不错了,把那种毅力拿出一成,学个三维软件根本就毫无压力。
8、第七步,当你把前面这些基础都学完摸透。打开Unity会发现,真简单啊。。熟悉熟悉界面。。随随便便跟着教程做个案例。。简单学一下3D数学,理解向量,差积,点积,Plane和射线,试一下利用协程发送GET和POST请求。。再找个有限状态机的案例,把代码打开看一遍,应该秒懂(如果不能秒懂,说明面向对象和委托部分,学的不扎实),了解一下发布相关设置。。只学了不到一星期,你就会发现自己好像已经学得差不多了。。加个Unity相关的QQ群聊聊天,立刻就被当大神了,群主立刻给管理员当。。幸福来的好突然的感觉
9、第八部,学习一下WEB服务端相关程序,个人建议直接学习Asp.Net Core,至于老版本的Asp.Net稍微有点过时了,但如果不需要部署到Linux的话,也完全够用,看个人喜好吧。至此你就可以实现用户注册,存档,会员机制,好友系统,游戏币管理,在线商城等功能了。
10、最后一步,学习一款服务器引擎,由于工作繁忙,这步本人至今实现。但按照我的理解,学完这一步,应该就能做出一款真正的网游了。