刘钢 如何优化基于Unity引擎优化开发的3D移动游戏

Unity出席CGDC详解3D引擎的页游手游开发技巧 - 游戏资讯-游戏港口 - 游戏动漫综合性媒体门户
我的位置: &
& Unity出席CGDC详解3D引擎的页游手游开发技巧
Unity出席CGDC详解3D引擎的页游手游开发技巧
15:25:47&&来源:厂商&&分享到:
&&大会组委会近日宣布:Unity大中华区技术总监刘钢博士和技术经理张鑫博士受邀分别成为CGDC在线专场和移动专场演讲嘉宾。
&&&&&&&&中国游戏开发者齐聚一堂的顶级盛会,第六届中国游戏开发者大会(简称:CGDC)即将于日至28日在中国上海拉开帷幕。大会组委会近日宣布:Unity大中华区技术总监刘钢博士和技术经理张鑫博士受邀分别成为CGDC在线专场和移动专场演讲嘉宾。
  & CGDC以促进国内外游戏开发领域的技术交流与合作为宗旨,以交流经验、分享最新技术成果、探讨未来技术发展趋势为目的,提升中国本土游戏研发管理水平,围绕游戏开发经验交流、技术创新及应用,服务于游戏业产品开发及管理人群。
&&&&&&&&Unity大中华区技术总监刘钢博士
  & 刘钢,理学博士,目前担任Unity大中华区技术总监,负责Unity引擎在中国的研发、支持和推广工作。刘博士具有丰富的计算机图形学和游戏行业从业经历,自2004年起曾先后就职于几家相关领域的知名公司:他曾作为3D图形架构师完整地参与过一款DirectX10.0世代GPU的架构设计工作;也曾作为软件开发经理带领技术团队参与研发了一款应用于Autodesk公司大多数旗舰产品的通用3D图形引擎;还曾作为首席架构师参与了一款游戏引擎的架构设计工作,并实际参与了多款PC和移动平台上MMO游戏项目的技术指导工作。
  & Unity大中华区技术经理张鑫博士
 &  张鑫博士目前担任Unity的开发支持工程师,主要负责相关的技术支持和推广工作。2011年毕业于浙江大学CAD&CG国家重点实验室,并取得理学博士学位。同年加入盛大游戏,期间参与了多款基于Unity3D的3D游戏项目开发。
  & 中国游戏开发者大会(CGDC)是由ChinaJoy组委会指导,北京汉威信恒展览有限公司主办的针对游戏研发技术领域的重要技术性交流活动。每年7月下旬在中国上海与ChinaJoy同期举办,是ChinaJoy面向中国游戏产业所举办的重要会议品牌之一。大会由会议和龙之魂商务晚宴两大环节组成,会期三天。第五届中国游戏开发者大会(CGDC2012)举办期间,大会组委会邀请国内外知名游戏研究机构和游戏企业的技术专家112人,在涉及游戏策划、制作、研发等诸多技术环节进行了87场演讲,共吸引到会听众近4500人。大会议题专注于游戏开发经验分享、技术创新和应用,致力于帮助中国游戏企业和游戏开发人士相互借鉴先进的游戏研发技术,提高中国游戏原创能力和水平,增强本土企业的核心竞争力,加强中外同业合作,繁荣国内国际游戏市场。
 &  详情请访问:
  CGDC大会组委会联系方式:
  有关证件和赞助事宜请联系销售部:
  苏亦盟先生
  电话:010-1& 邮箱:su_
  李赫楠小姐
  电话:010-8& 邮箱:hannah_
  有关大会演讲和座谈申请请联系会议部:
  张莹莹小姐
  电话:010-0& 邮箱:
  刘小龙先生
  电话:010-7& 邮箱:joe_
  有关媒体宣传合作事宜请联系市场部:
  朱晓萌小姐
  电话:010-2  邮箱:ayuki_zhu@howell.163.com
无需登录 轻松领手游礼包
请关注【游戏港口】微信公众号:gk99wx
声明:游戏港口登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。如何优化基于Unity开发的3D移动游戏 / 蓝讯_百度知道
如何优化基于Unity开发的3D移动游戏 / 蓝讯
我有更好的答案
在Unity3D分会场,Unity中国技术总监刘钢发表了《如何优化基于Unity开发的3D移动游戏》的主题演讲。主要讲述了优化基于unity开发的3D移动游戏
采纳率:77%
为您推荐:
其他类似问题
unity的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。论文发表、论文指导
周一至周五
9:00&22:00
基于Unity3D的手机游戏开发
  摘 要 中国论文网 /1/view-8118879.htm  介绍了一款基于unity开发的轻量级手机游戏开发过程,探讨在Unity3D平台下完成游戏关卡,场景以及功能模块的设计过程,提出实现Unity3D手机游戏开发采用的核心技术及核心代码,可供开发人员提供解决游戏开发问题的思路。   【关键词】Unity3d Vector 手机游戏   1 引言   Unity3d是由Unity Technologies 公司开发的跨平台专业游戏引擎,是如今市场上一款全面整合的专业游戏引擎,软件其编辑器可运行在Windows 和Mac OS X双系统下,利用其所开发的游戏可发布至Windows、Mac、Wii、iphone、Windows phone 8和Android平台。Unity游戏引擎作为一款跨平台的游戏开发工具,其具有开发快速,易上手,跨平台发布,可扩展性强等特点。这里论述开发了一款3D格斗类手机游戏的过程,着重解决了屏幕自适应,屏幕滑动模式,美术资源管理,手柄控制,角色动画状态机,敌人AI交互设计,动态数据读取刷新,攻击技能成长系统设计,场景七大攻击技能释放与控制,单机副本以及厢房挑战关卡设计与实现等一系列问题,对其它类型的游戏开发具有一定的借鉴与学习参考的意义。   2 手机游戏开发关键技术   基于Unity的手机游戏开发,手机游戏主要包含主屏幕滑屏,界面刷新,技能成长系统,虚拟杆控制,场景技能释放,怪物AI设计等多大功能模块设计,实现并开发游戏,设计主要的关键技术及过程有:   (1)通过数值计算,设计屏幕自适应技术。   (2)初步研究实现PC端和手机端的触屏控制,通过Touch类和Input类设计实现在不同平台的“十字架”滑屏技术。   (3)通过把二维空间向量转三维空间向量的方法,实现游戏手柄的功能控制技术。   (4)使用Mecanim动画系统设计玩家的移动状态机,结合状态机设计手机手柄控制玩家移动技术。   (5)设计玩家七大攻击技能模块的成长技能系统,配置游戏道具数据创建XML表,读取XML表信息使用字典来刷新统一管理游戏数据技术。   (6)完成UI界面设计排版,打包做成预制件,控制游戏界面的加载和销毁技术。   (7)设计实现三类敌人AI(蜘蛛,机器人,大boss)人工智能,使用大量的射线碰撞检测,向量(例如点乘,叉乘)知识完成交互式攻击技术。   (8)实例化各类技能(火系,水系,千里眼,螺旋转,保护,法宝,瞬移),通过协程,视线追逐算法控制技能的移动方式以及攻击方式技术。   (9)完成游戏的C#脚本的逻辑算法实现,内容涉及到游戏玩法,关卡逻辑,数据刷新,怪物的人工智能。   3 手机游戏客户端的设计与实现过程   3.1 手机滑屏控制模式的实现   实现在PC端与手机端的滑屏效果,通过屏幕上下左右中间的虚拟十字架的坐标,控制移动和定位相机位置,屏幕滑动的运动方式分为两部分:   (1)手指(鼠标)拖动相?C带动屏幕移动。   (2)当移动的距离超过一定距离时候同时释放手指(鼠标)相机将会自动弹簧式的移动到定位目的地,实现了上下左右滑动屏幕。手机上下左右滑动屏幕可以摄像机照射的位置弹簧式的移动到指定位置。   算法分析   //当鼠标按下的时候   if(input.GetMouseButtonDown)   //记录手指按下的位置   posDown = input.GetMouseButtonDown   //当鼠标按住的时候   if(input.GetMouseButton)   //判断是水平滑动还是左右滑动 , System.Math.Abs()获取绝对值;   xValue = System.Math.Abs(input.MousePosition.x?CposDown.x)   Value = System.Math.Abs(input.MousePosition.y?CposDown.y)   //左右移动的值大于上下移动的值   if(xValue>yValue)   //左右水平滑动,固定射线机位置的垂直分量的值   //左右移动的值小于上下移动的值   elseif(xValue<yValue)   //上下垂直滑动,固定射线机位置的水平分量的值   //鼠标抬起时刻   if(input.GetMouseButtonUp)   //判断鼠标滑动的值,有没有超过的滑动sliderValue   if(xValue>sliderValue)   //使射线机移动指定位置   else   //滑动值太小,使摄像机移动起始位置   3.2 游戏虚拟杆控制的实现   通过继承NGUI中Drawdropitem类实现鼠标和手指可拖动圆球状态。根据虚拟杆的大小,设计限制虚拟杆的移动圆球移动范围离中心点的距离小于100,当距离大于100时,限制距离为100。接着中心圆球的位置到虚拟杆中心位置的向量方向控制玩家角色的移动方向,紧接着根据中心可移动圆球离虚拟杆中心位置的距离长度控制玩家角色的移动速度,整个二维平面的虚拟杆360度旋转移动,映射到玩家在三维空间的移动。最后根据鼠标和手指的状态控制中心圆球的初始状态,当鼠标和手指离开时候,中心圆球将会重新回归虚拟杆的中心位置,此时玩家将处于休闲不移动的状态,当鼠标或者手指拖动中心圆球时候,将启动控制玩家角色的移动状态。   算法分析
  //拖动小球,限制可拖动最大距离 //继承NGUI的DrawDropItem类可实现拖动一个UI控件(小球) //记录小球的位置//使用input.MousePositon记录小球位置posBall//计算小球到底盘的向量,记录向量方向和大小。   vec = posBall?CposOriginal;//记录的方向映射到三维空间(x,y)平面上,360度控制角色的方向   Vector3 playerPos = new Vector3();   playerPos = Player.GetCompoent().localPosition; playerPos.forward = vec.normarlized;//记录的向量大小控制角色移动速度 float speedRate = Vector3.distance(vec);   3.3 游戏敌人AI功能的实现   蜘蛛的人工智能控制是由Unity中物体的触碰器触发,每个蜘蛛都有一个立方体触碰器,玩家如果进入这个范围,将由OnColliderEnter()触发进入函数,蜘蛛将进入攻击状态,采取视线追逐算法调整蜘蛛的朝向和移动,当距离玩家到一定距离的时候就会释放攻击技能。相反,如果玩家不在攻击范围,或者逃离到攻击范围之外,将由OnColliderExit()触发离开函数,此时蜘蛛将回归到休闲巡逻状态。   机器人AI是比蜘蛛更具智能,机器人具有巡逻状态,只不过加入了模糊概率算法,提高了不确定性,增加了机器人的智能的真实性。机器人将在一个圆圈范围巡逻,变走变看周围环境的变化,判断是否有玩家进入攻击范围。当玩家进入攻击范围,且玩家是在机器人的视线前方,此时机器人将采取开枪的技能。当玩家进入攻击范围,但玩家在机器人的视线后方,此时判断玩家与机器人之间的距离,如果足够近的话,机器人将会发现玩家采取掉头攻击,如果距离比较远,那么玩家不会被机器人发现可以蒙混过关。   3.4 游戏动画系统技术分析   unity引擎有自带的动画系统,Mecanim动画系统,通过状态机来控制角色的移动。逻辑及算法分析:   //当虚拟杆启动时,角色开启移动动画状态   //获取1.4.3的vec方向和大小,赋值给玩家   Vector3 playerPos = new Vector3();   playerPos = Player.GetCompoent().localPosition;   playerPos.forward = vec.normarlized; playerAni.SetBool(runBool,true); playerAni.SetFloat(speedFloat,speedRate);//当虚拟杆关闭时,角色动画恢复休闲状态   Animator playerAni = player.getcomponent();   playerAni.SetBool(idleBool,true);   //当点击释放技能时,动画状态跳转到释放技能状态的动画   playerAni.SetBool(skillBool,true);   3.5 游戏物理引擎射线技术分析   射线检测主要是从某个物体(摄像机),发出一条射线,然后进行判断射线是否碰撞到指定物体,然后在相对于的接口函数编写出相应的反应事件,算法分析:   //定义一条从摄像机发射到鼠标点击位置的射线   Ray ray = Camera.ScreenPointToRay(Input.MousePosition); //使用RaycastHit hit?泶娲⑴鲎参锾逍畔? //如果发出射线碰撞成功 if(Physics.RayCast(Ray,outhit))   3.6 游戏技能释放分析   3.6.1 火系技能   实例化出来的位置是处于敌人的上方,利用协程IEnumerator的程序知识控制其实例化出来的顺序,前后一共实例化八个火炮,当其被实例化出来的时候,火炮将自动寻找靠近玩家的敌人进行攻击,采取的攻击方式是视线追逐。   3.6.2 水系技能   实例化的位置比较讲究,因为其方向和位置总要面向敌人,所以其实例化的位置应该处于玩家的上方,而且四个水系技能炮所处的平面是与玩家和敌人的直线垂直,实例化之前需要先计算从敌人到玩家的方向向量的垂直向量,得出垂直的单位向量后再乘以距离大小,得出火系技能的左右距离,最后加上向上的方向向量的距离就可以得出实例化位置,实例化出来将采取视线追逐的方式对敌人进行追击。   3.6.3 瞬移技能   在释放技能的时候,玩家将会向前方发射一条被规定好距离的射线来确定前方是否有物体,射线进行碰撞检测,当有碰撞到物体的时,瞬移技能无法释放,当射线检测不到有物体的时候,玩家可以向前瞬间移动,移动方法是累加玩家自身的Forward向量。   3.6.4 千里眼技能   玩家一共有三种状态,正常的状态,千里眼状态,保护状态,启动此状态时候,只需要切换玩家的状态到千里眼的状态,然后改变手柄的控制,此时手柄的控制将会发生改变,第一控制的对象由玩家到摄像机,移动范围由一个圆圈范围到一个圆环范围,也就是手柄的中心圆球其移动的是50到100的可移动范围。而当启动千里眼状态时,游戏界面将会增加一个控制摄像机前后左右移动的界面。玩家可以变旋转摄像机边移动摄像机的位置。   3.7 游戏数据配置与刷新的实现   游戏数据存储在XML表中,而数据的提取刷新也是在XML表中进行的,而提取出来的一条Item数据将被存储在Dictionary字典里面,根据键对值的方式进行读取和存储数据,从而刷新游戏数据。   4 结束语   本文着重介绍了基于unity开发的轻量级手机游戏包含主屏幕滑屏,界面刷新,技能成长系统,虚拟杆控制,场景技能释放,怪物AI设计等多大功能模块设计及采用的开发技术算法分析,研究在Unity3D平台下完成游戏关卡,场景以及功能模块的设计过程,提出实现Unity3D手机游戏开发采用的核心技术及核心代码,以供游戏开发技术人员提供解决游戏开发问题的一种新思路。   参考文献   [1]游戏核心算法编程内幕[M].北京希望电子出版社,2005.   [2]游戏发展现状分析报告:86讯息网.   [3]SIKI Unity教程:泰课网.   [4]蛮牛游戏论坛:游戏蛮牛.   作者简介   陈雪梅(1978-),女,广东省人,硕士学位。研究方向为计算机程序设计、移动开发、数据库设计。   作者单位   广东技术师范学院 广东省广州市 510310
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。本视频由声明原创。没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 引擎优化 的文章

更多推荐

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

点击添加站长微信