unity3d手游服务器搭建教程
‘壹’ 如何配置unity3d的安卓手机开发环境
1.Android运行环境的搭建
进行安卓系统的软件设计,那么JDK的开发环境搭建必须是首要的。我们选择Windows10 64位操作系统。同时在JDK版本的选择中选用Windows x64版本的Java SE Development Kit 8u5,该版本稳定,应用广泛而且开源免费,获取方便。在安装的过程中要注意不要重复安装,应安装完毕后立即删除安装包,否则如果不小心再次点到安装包,该安装包会立刻删除所安装的程序并询问是否重新安装。在JDK的安装过程中,要注意开发工具,源代码,公共JRE三项都要选中,而且要安装到C盘默认目录下,同时将其附带的JRE同样安装到相同目录下,同时硬盘至少应该留有2G的空间。
选择好JDK的版本并进行安装后,我们的JAVA环境就安装好了,众所周知,安卓系统是由JAVA语言架构的,所以在搭建安卓运行环境之前必须要先安装JAVA环境。安装完JAVA环境之后,我们进行安卓开发环境的搭建。我们就要进行Android SDK版本的选择。我们这里选择android-sdk_r24.4.1-windows版本。这个版本是与安卓8.0同时发布的,同时它的发布时间也在我们的安卓测试机红米NOTE5A型号之后,可以完美兼容我们的安卓测试机所运行的安卓7.1.2版本。
以上就是安卓环境的安装和搭建,更多Unity开发方面的问题可以看下这个视频教程网页链接,希望我的回答能帮到你。
‘贰’ 怎样用Android开发Unity3D游戏
1.认识Unity3D
Unity3D是一个让开发者能够在多平台制作同一款游戏的游戏开发工具,有专业的图像处理和游戏引擎,能做出各式各样的游戏。
羽化以前认为Android游戏开发只能在Eclipse里面死活敲代码,也许是自己阅历不够,不知道游戏引擎能给游戏开发带来如此大的便利,无论是3D游戏还是2D游戏都可以用Unity3D开发而且转成IPHONE游戏也很简单,因为Unity3D很多移动开发功能IPHONE与Android是共用的,其中最主要的控制器就是一样的,这样我们就基本上告别Eclipse了。。。
由于Unity3D里面的脚本是用C#或者Java Script写的,学习过这两个语言最好,不会也没关系,还可以学嘛(和羽化一样),其实C#和JS与Java类似,看起来不会那么陌生,要注意的是JS中无论什么变量声明都是”var”表示,这点对于声明经常出错的羽化来说很好-0-
2. Unity3D环境搭建与Android软件生成方法
这里给大家介绍两个网站,在里面可以下载到最新的UnitySetup-3.3.0包括破解补丁U3v3.3.0f4_Win和脚本编辑器UnityScriptEditor2.55,还有很多学习资料,包括羽化正在学的Unity视频教程(全英文啊=。=),还有全中文帮助文档,虽然现在资料很少,但可以看出Unity3D越来越给力中。。。
安装过程就不详细写了,很简单的。这里要注意的是,安装的系统用户名不要是中文的,要不打开Unity3D以后Scene里面看不到东西,这是羽化的切生体验- -。
1)第一次打开Unity3D后会出现创建Project的界面,这就和Eclipse创建项目一样的道理,这时候可以添加一些插件包,这步操作羽化留在了软件打开后。
2)新建以后就出现了开发界面,这里简单介绍下:
Scene 开发视图:里面可以拖拽物体位置、改变大小、旋转角度等,是开发中最常的地方。
Game 游戏视图:点上面的运行以后游戏就会在Game视图里面运行,没点的时候可以看到摄像机当前的图像。
Hierarchy 层试图:放置游戏物件,在游戏运行时可以观察游戏物件变化
Project 工程视图:里面可以新建文件夹管理脚本,渲染,图片等。
Inspector 检查视图:显示物件属性等
最下面一条,一般情况下不会显示东西,如果出错或者打印语句都是显示在下面:
先不管那么多,生成个Android软件再说。
3)在Project里面右击 ——〉 Import Package ——〉 Standard Assets(Mobile)这是移动开发的包,全部Import导入吧。再在Project里面选中导入的Standard Assets(Mobile)———〉Control Setups——〉CameraRelativeSetup,这会提示保存Scene,我们就保存一个,可以看到Project里面多了一个我们保存的Scene,游戏运行就是从Scene开始,这时应该可以看到这个包的显示了。一眼就看出这是一个演示控制器的包,这个时候我们就不管这个工作原理,先放在Android手机里面看看效果。
4)点击左上角的File菜单——〉Build Settings——〉选中Android——〉右边Development Build勾打上——〉点击下面Player Settings,这时在Insperctor视图里面可以看到一些基本设定,第一个Resolution and Presentation是游戏视图设定,横屏还是竖屏随你可以默认它,点击Other Settings,这里主要设置Identification这个属性,里面第一个相当于项目包,这个一定不能默认,自己随便写个名字比如羽化就是com.LB.first其他设定大家可以自己研究,对于生成这个软件,这步必须改。
5)然后回到窗口点击Build,这里第一次点会跳出一个选中Android SDK的路径,大家都懂的,自己放哪的选哪,确定后,输入一个apk的名字,就叫作LB,如果发生什么错误,可以看看下面的提示。
6)软件已经生成好了后就可以丢到手机里面安装试试了,你可以直接丢在SD卡里面安装,这里羽化给大家介绍个简单的方法,对于模拟器还是真机都适用,首先设置环境变量,在Path里面添加如羽化自己目录的D:android-sdk-windowsplatform-tools,这样就可以在命令控制台里面打命令了,比如羽化安装的命令是cd C:UsersLiBeiDocumentsLB先到apk目录下,再输入adb install LB.apk这里要注意若你原来安装过相同名字软件,先卸载了再装。
7)实际运行效果左摇杆是控制位移,右摇杆是控制方向:
步骤看起很多,其实很简单。
3.Unity3D基本使用方法
这里羽化推荐大家看看视频,看视频学起来得很快,羽化就讲讲自己照视频做的例子,解压后可以通过Open Project选项打开这个例子,选中Scene里面的Scene1打开,运行是在电脑上。
1)场景创建
全是Cube搭建的,看一眼就知道了,Cube可以在上方Gameobject——〉create other里面创建,也点击Hierarchy层视图下面的Create创建,位置调整可以在Scene里面通过左上角的物件选项慢慢调整,第一个是观察,第二个是调整位置,第三个是调整角度,第四个调整大小。
2)主视角
这里主视角是用Standard Assets(这要自己导入)——〉Character Controllers——〉First Person Controller 可以看到这里能直接用的物件其实都是Prefab预设。这里可以看天空,其实是运用了Skybox组件,选中Main Camera可以在菜单中Component——〉Rendering——〉Skybox。
3)光
若无光运行的时候漆黑一片,这里放了个Point Light点光,数值可自行调整,添加和Cube一样。
4)脚本
脚本放在Scripts文件夹下,里面Door是控制门开关,Shoot是鼠标点击事件,Respawn是坠落返原地。注意这里脚本写好以后要拖到对应物体上才能运行。
5)动画
开门其实是个动画,创建在Component——〉Miscellaneous ——〉Animation
6)火焰
火焰是粒子产生的,粒子创建和Cube类似,Particle System里面的数值要做相应调整就会有火焰效果了。
再介绍几个Component里面重要的组件
1)Rigidbody 刚体
刚体顾名思义,有重量,带碰撞都是刚体的属性,若你为一个物件添加这个组件,证明你需要前面这几个属性。
2)Character 人物
其实里面放的都是控制视角或者是主角操作的脚本。
3)Trail Renderer 路径渲染器
很有用的组件,可以看到自己走过的路径,论坛上有个切水果刀光的例子就是用到它。
‘叁’ Unity教程:Unity开发框架
1.什么是游戏工程?
工程:Project,工程文件是组织项目的基本方式,基本通过文件夹分类来达到合理整合、分类、维护所需要的资源,另外工程只能被开启在编辑模式下,因此它面向的是编辑者。
2.如何打开与创建工程?
如果是首次安装Unity3D引擎,通过点击 Unity3D图标将会打开一个默认的工程,通过点击菜单栏的文件(File)下拉菜单框中的New Project、Open Project、Save Project 来新建,打开及保存一个工程。
12.什么是脚本?
脚本:Script,脚本简单的地说就是一条条的文字命令,这些文字命令是可以看到的,可 以使用文本编辑器打开查看、编辑,脚本程序在执行时,是由系统的一个编译器将一条条的翻译成计算机可识别的指令,并按程序顺序执行。
Unity3D引擎所支持的脚本语言有三种,分别是 JavaScript、C#、Boo。这三种语言都简单 易用,在开源.NET平台、Mono上运行,编译迅速。
13.简述场景、资源、游戏对象、组件间的关系
一个游戏工程可以由一个或数个场景组成,场景是由许许多多的游戏对象组成,这其中包括有我们可见的游戏对象,如角色,建筑等,以及那些不可见的游戏对象,例如声音,而组件 正是通过组织相关的资源来赋于这些游戏对象以不同的功能及属性。
本教程由中国AR网原创,更多基础教程请关注!
‘肆’ 学习unity3d,如何安排进程,从哪里开始学
Unity本身并不难,难点在于C#。只要可以熟练编写C#,其他的都很简单。
第一步:个人建议看传智播客的视频教程,先看基础班的,在bilibili搜索“传智播客.NET基础班”就能在线观看,不需要下载,推荐看苏坤的,看完基础班的教程,结合Unity的教程,就已经能开始写一些简单的小游戏了。
第二步:看传智播客就业班的视频,重点学习面向对象和委托,需要完全理解。必须掌握这两点,才能去写一些比较复杂的逻辑,比如道具系统,背包系统等。
第三步:学习多线程,异步,Socket,这样你便能明白游戏是如何跟服务器通信的。能够做出一个简易版的聊天程序,便基本够用了。
第四步:简单学习一下数据库。不需要学太深,明白怎么创建数据库,怎么增删改查就够了,再深的那些,即便学了,也用不上。
第五步:ADO和Entity framework能熟练使用其中一个便可。个人推荐Entity framework,尽管老版本不太好用,但自Core版本出现之后,变得非常好用了。之后结合数据库,就可以在服务器上储存游戏数据了。
第六步:学习一个三维动画建模软件。3DMAX,C4D,MAYA三选一便可。这三个都是主流,教程烂大街,由于专业对口,所以三个我都学过。3DMAX动画能力比较渣,如果需要做角色动画,功能有点弱,没有肌肉系统,骨骼系统也很简陋,界面有点反人类,无论用的多熟练,利用多少快捷键,工作效率都不如C4D纯鼠标操作快,好处是教程最多。C4D各方面功能都很强,而且简单易学,操作各种爽,是三个软件里人性化体验最好的,缺点是对Unity支持度比较差,只能通过FBX格式导入。MAYA各方面功能也很强,对Unity支持也很棒,但由于软件设计比较古老,让人觉得有点崩溃,虽然看起来功能很多,但很多功能是多余的,像是脱裤子放屁,明明一步就能搞定的功能,却总要弄上十几步,设置一大堆,就连导出模型,选个格式,都得进设置界面捣鼓半天,在界面上添加一个专门用来导出的按钮,之后利用这个按钮导出,什么?想换个格式?不行不行,这个按钮只支持导出一种格式。回设置界面创建个其他格式的导出按钮吧。怎么创建不了?嗯。。。你得先把之前创建的那个按钮删掉,再创建新的按钮。。。。就是这么令人崩溃。三个软件算是各有利弊吧。不过选哪个都无所谓,因为如果前面那些C#相关的知识,你都学会了的话,说明你的学习毅力已经不错了,把那种毅力拿出一成,学个三维软件根本就毫无压力。
第七步,当你把前面这些基础都学完摸透。打开Unity会发现,真简单啊。。熟悉熟悉界面。。随随便便跟着教程做个案例。。简单学一下3D数学,理解向量,差积,点积,Plane和射线,试一下利用协程发送GET和POST请求。。再找个有限状态机的案例,把代码打开看一遍,应该秒懂(如果不能秒懂,说明面向对象和委托部分,学的不扎实),了解一下发布相关设置。。只学了不到一星期,你就会发现自己好像已经学得差不多了。。加个Unity相关的QQ群聊聊天,立刻就被当大神了,群主立刻给管理员当。。幸福来的好突然的感觉
第八部,学习一下WEB服务端相关程序,个人建议直接学习Asp.Net Core,至于老版本的Asp.Net稍微有点过时了,但如果不需要部署到Linux的话,也完全够用,看个人喜好吧。至此你就可以实现用户注册,存档,会员机制,好友系统,游戏币管理,在线商城等功能了。
最后一步,学习一款服务器引擎,由于工作繁忙,这步本人至今实现。但按照我的理解,学完这一步,应该就能做出一款真正的网游了。
‘伍’ 如何创建unity 的server
Asset Server是目前 Unity 内部自带的资源版本管理工具,类似于我们平时所熟知的 SVN , perForce ,但对于目前的 Unity , Asset Server 要比 SVN 和 perForce 等版本控制软件要好用一些,因为 Unity3.x 版本对于 SVN 等软件的支持并不是很好,在多人协同工作时,经常会发生数据丢失等情况。因此,本文重点介绍一下 Asser Server 的搭建方法。至于日常用法,其实与 SVN 等软件的用法非常相似,所以在这里就不多讲了。
关于 Asset Server 的搭建步骤,其实官网论坛上已经有了解释得比较详细明了,在这里,我只将其归纳总结一下,使其更加清晰明了。 Asset Server 的搭建步骤如下所示:
1、 首先去官网下载 Asset Server 工具,地址为: http://unity3d.com/unity/team/assetserver/ 。下好后在你的服务器上进行安装,这里有个重要的地方,即 Asset Server 的密码设置,界面如下,这个密码即为以后 Asset Server 的管理员密码。