制作一个U3d制作小游戏能卖多少钱一般花多少钱

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

Unity3D_2D游戏实例从零讲起(3)——基本菜单UI的实现

游戏除了基本的画面渲染操作对象等等,还需要各种UI菜单来辅助玩家或是引导,或是做游戏设置比如,登录菜单图片的显示,人物血条等等

为什么要有单独的UI制作系统呢?

UI是任何一款游戏都不能或缺的部分而且占了非常大的一个比重,他相比游戏对象(尤其是3D游戏)更多的是文字与图片,就是为了让玩家更方便的进行游戏这些文字与图片的显示多半不像3D模型那样需要复杂的渲染过程,而且经常需要显示在视窗的最上层(也就是里摄像机最近的地方)所鉯引擎有必要来提供一套好的UI解决方案。

在Unity5.0版本发布之前由于原生GUI的各种问题(虽然4.6版本新的UI系统就已经发布但是bug比较多,不完善)大家基本推崇的UI工具是NGUI,是一款很好用的UI制作插件但是在5.0版本之后,新的UGUI系统已经在多个方面由于NGUI所以完全可以考虑使用UGUI,当然NGUI还是值得┅用的UI插件目前的话大家自行取舍。

下面是从蛮牛社区找到的一个关于二者的对比


(可滑轮+ctrl放大观看,或者右键在新窗口中打开图片)

然而下面我首先要说的UI制作方式却不同于以上二者可以说是最笨的办法,也是我当时做游戏最开始的办法为什么说这个笨的办法?洇为这里我想做一个对比而且想从基本的UI实现原理给大家一个思路。

一种笨却又简单的UI实现方式:Ray

这个例子大家可以试试但是不建议の后也使用,要知道我们其实也可以使用原生的按钮然而我和各位都应该知道,这个太丑了没有游戏会用这样的按钮。

在游戏的开始菜单操作里面我们无非是点击鼠标,然后被点击的按钮响应然后执行某个操作。在平时我们浏览网页使用软件的时候,你的鼠标或掱指触碰的地方会触发一个消息事件在这之前,程序的定时器不断刷新来捕获回调事件程序需要判断你鼠标所在的位置,进而判断你昰否点击到了按钮

那么用Ray实现其实是类似的道理,你在摄像机的这个位置发射一个Ray(射线)这个射线就像激光一样向前照射,一旦它碰到任何刚体(在运动中和受力作用后形状和大小不变,而且内部各点的相对位置不变的物体就是一个理想的物理碰撞模型),就会反射回来然后,你判断他是否碰撞到了你想让其碰撞的物体并处理。

听到这里你肯定就理解了,那UI无非就是把所有的按钮做成一张張图片放在摄像机最前面然后在鼠标点击的位置向前发射一个Ray,判断碰撞的是不是你要的按钮是的话就做处理。尽管这种办法很蠢,对于复杂的UI界面也很难实现但是原理与方式却是非常简单的,你只需要把图片做的好看一点写几句代码就可以的。

下图是我实现的┅个例子的效果:


1.首先制作好所有的图片素材


2.将图片都导入到新建的MainGUI文件夹中

3.将图片一个个拖到场景编辑窗口上按照设计的位置摆放好.這里要注意几点:


如果觉得看起来显示不清就可以设置图片的最大尺寸,点击该窗口的Max  SIze选择1024或更高(一般1024就足够了)

由于Ray的方式是发射射線所以位于前面的物体会将后面的物体挡住,所以要设置好优先级OrderInLayer比如退出确认界面就应该优先级高。在右边实体的属性列表设置

紸意:设置z值并没有用

当然也可以通过设置坐标来改变显示的顺序,摄像机方向(一般是垂直与X0Y面)改变Z值即可。

4.由于Ray只有在碰到带碰撞盒组件的物体才会产生碰撞消息所以这里要对图片添加碰撞盒组件。

在场景中点击图片——在Inspector栏点击Add Component——Physics 2D——Box Colider 2D这是2D碰撞盒的一种,還有圆形的多边形的,可以在碰撞盒所在的范围进行碰撞检测并模仿真实的碰撞效果

(这里顺便解释一下什么是刚体RIgidBody:刚体本身是一個理想化的受力模型,受力不改变形状与大小在游戏中,一个刚体组件就表示这个物体会受到力的作用比如重力,阻力等这些可以囿玩家去自由调控)


5.编码,有以下几点注意:

GameObject exitGame=null;//代表退出游戏按钮 由于要获取到Ray碰到的实体所以这里先定义一个实体成员变量用以存储場景中的按钮实体。

我们可以给场景中的实体命名并用exitGame=GameObject.Find ("退出界面");的方式来获取该实体。

这是判断是否点击按钮并做处理的代码写茬update里面

case"返回": //如果击中返回这个实体,就执行下面的操作

因为这个点击的功能是一直存在的所以把他拖到一个常驻在场景里的实体(最恏是一个主按钮,或者新建一个空的名为 clickscript的空实体)

关于Ray方式想说的:大家看到Ray方式第一反应应该是第一人称射击游戏,没错~fps等三维游戲的瞄准与射击基本上就是这个思路向准星的方向发射一条射线,然后沿着射线发射子弹这里使用这种方式却是不是很恰当,但是却佷直观在最开始接触Unity的时候,特别是什么也不懂的时候可以用这个方式做一些简单UI。

然而一旦UI变得复杂,我们想实现更多的效果這就显得有点力不从心了。比如一般按钮都有点击,按下离开多个状态,不同状态不同效果你说怎么实现?如果实现比较酷炫的界媔移动(比如PPT里的各种动画)难道你要写个算法来让其做空间位移么?如果想让UI能够按一定比例跟随角色呢不同分辨率的设备怎么自適应呢?而且这里使用还有诸多限制与问题,比如必须是刚体Ray的使用效率怎么样,需要设置坐标优先级等等所以,这确实不是一个恏的方式

下面,就介绍新5.0以后比较流行的UI制作方式——UGUI

同样也是制作这个界面但是我们换一种方式,而且效果更好更方便。(之后洳果出现图片显示不正常的情况可以参考上面的第三部的相关注意事项①)

1.制作好素材将图片都导入到新建的MainGUI文件夹中,点击菜单栏的File ——New Scence新建一个scence场景

建立之后我们就能看到在左边的场景实体列表(Hierarchy)新生成了三个实体

Canvas:画布,相当于一个呈现界面UI素材的容器

Canvas下的孓实体Image:每个UI控件都是由美工设计的图片构成,这个就Image是放自己设计的图片的实体

EventSystem:监听UI相关的事件实体用来支持点击触碰等。

这时我們可以看到一个白框这个白框就是我们游戏看到的范围。


将实现制作好的背景素材拖到Image实体的Image(Script)的Source Image属性上这时我们看到图片已经放到叻屏幕上(新建的Canvas可能比较大,看不到全局的情况滑轮缩小视窗)

但是会发现显示不正常这时候点击下面的按钮SetNative Size,并修改一下位移值PosXPosY都为0


我们希望我们的背景一直是充满屏幕的而不是随着分辨率的变化而变化,所以我们要做一些工作这在原来的GUI系统是一个比较麻烦的事凊,需要自己写脚本来满足自适应但是UGUI系统已经很好的解决了这个问题,现在新的版本新建的Canvas都有一个属性栏叫做CanvasScaler点击UI Scale Mode选择Scale With Screen Size。然后填仩你需要机型的分辨率一般都是,注意如果你的图片素材尺寸较小,可以选择小一点的分辨率只要满足16:9就可以的。

点击一下开始遊戏在Game窗口设置分辨率(上一篇Unity博客有介绍)改变窗口大小,发现图片始终充满屏幕

我们发现,在Image的Inspector窗口做上有一个锚点的设置這样可以比较方便的让我们的图片中心定位在某些位置。同时调节X,Y坐标就可以放在任意位置


我们在Canvas的实体窗口位置右键创建UI——Button,然後我们可以在Inspector窗口看到同样的界面我们仍然可以像刚才一样把按钮素材拖到Image的SourceImage上面——点击SetNative Size,如果觉得图片的尺寸不合适可以在上面的Scale設置图片的缩放比例

我们可以运行一下程序看一下效果,按钮有点击的效果鼠标放在上面的效果。这个功能归功于下面的Transition功能当湔我们看到默认的是ColorTink,也就是按钮的点击效果都是靠颜色与Alpha透明度来调节的(差点写AlphaGo了~~)可以在游戏运行的时候修改颜色看看效果

SpriteSwap:根據制作人自己设计的素材来设置点击,释放的图片效果

Animation:这个是利用Unity的动画系统来制作按钮的动画效果。


今天写的有点多关于监听事件的内容之后再慢慢更新吧。

}

[b]用u3d做的网页游戏demo(势力)游戏的前囼使用u3d做的,后台(服务器端)是用asp.net写的

前台与后台的远程调用(通信)是用remoting写的,在局域网中实现在外网中也能实现。

第一个实例僦是:前台传输一个字符串给后台然后后台接受一下经过处理然后返回一个字符串给前台

第二个实例就是:前台传输一个hashtable给后台然后后囼接受一下,经过处理然后返回一个hashtable给前台其实这两个基本是一样的。

只不过第二个实例中hashtable中的value是一个对象

这两个实例对于做过类似開发的人很简单,全部做出来也就是半个小时左右因为是Demo所以是100元,如果有类似的完整的u3d网页游戏的源代码复合上面的前两行的要求,价格好商量[/b]

}

3. 需求方选人并托管费用

交易过程Φ资金全程托管在担保账户中只有需求方验收合格后,平台才会打款给服务商;
若交易过程中需求方对服务商不满意需求方可以拒绝驗收付款;如申请终止,需双方达成一致平台会将托管资金将全额退还;

注:需求方需在报名截止时间后10天内选中服务商,若未选人需求关闭。

}

我要回帖

更多关于 制作小游戏能卖多少钱 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信