- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
Unity3D在Android游戏开发中的应用
?
?
林昕
摘要:目前,作为3D游戏开发引擎和工具,Unity3D以其跨平台和易用性等特性,被越来越多的公司所使用,并逐步成为开发首选工具。本文对Unity3D工具的基本使用做简介,并通过构建一个简单的3D游戏过程,介绍Unity3D在Android游戏开发中的应用,同时指出了该工具的广阔应用。
关键词:Unity3D;Andoird;游戏开发
一、引言
Unity3D是由UnityTechnologies开发的一个让开发者创建三维游戏、建筑可视化、实时三维动画等类型互动内容的跨平台的游戏开发工具,是一个整合度很高的专业游戏引擎。Unity可运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台,支持Mac和Windows的网页浏览。由于Unity3D的跨平台和易用性等特性被越来越多的游戏开发公司所重视,并逐渐成为3D游戏开发的首先工具。
二、Unity3D界面介绍
Unity3D的基本界面层次清晰,几个窗口实现了全部的编辑功能。主界面如图1所示:
场景面板:该面板为Unity3D的编辑面板或者说是工作区;开发者可以将所有的模型、灯光、以及其他材质对象拖放到当前场景中,构建游戏中所能呈现的景象。
动画面板:该面板可以呈现完整的动画效果。显示的内容取决于场景摄像机的设置。当游戏在场景面板中编辑好后,点击运行按钮,即可在动画面板中查看游戏的实际运行效果。
■
项目面板:该面板主要功能是显示该项目文件中的所有资源列表。除了模型、材质、字体等,还包括该项目的各个场景文件。开发者可以将游戏中使用到的所有资源导入到该面板中,使用时只要用鼠标拖动到场景面板即可。
层次面板:该面板主要功能是显示放在场景面板中的所有的物体对象。该面板可以清楚查看在场景面板中出现的所有对象,很方便对场景中的对象进行管理。
对象属性栏:又叫检视面板,该面板栏会呈现出任何对象的属性和组件,包括三维坐标、旋转量、缩放大小、脚本的变量和对象等。
场景调整工具:可以改变在编辑过程中的场景视角、物体世界坐标和本地坐标的更换、物体的法线中心的位置,以及物体在场景中的坐标位置、缩放大小等。
三、接鸡蛋游戏的制作流程
一款手机游戏的开发大致经历立项、制定策划大纲、制作游戏、检测调试等过程。本文以接鸡蛋这个小游戏为例,描述Unity3D开发Andoird游戏的基本流程。
游戏的基本玩法是鸡蛋从屏幕上方落下,通过左右移动屏幕下方的木桶接住从上方落下的鸡蛋,鸡蛋落到木桶中及得分。游戏开发的基本步骤如下:
1.新建工程和场景
一个游戏就是一个项目,一个关卡就是一个场景,在Unity3D的文件菜单中选择新建项目,为新项目命名,如图2所示,新建项目的同时会新建第一个场景,保存新场景。
■
2.导入资源
游戏使用到的资源主要包括游戏对象模型、材质、贴图、声音等,模型可以在Maya,3DMax等3D建模工具中做好,导出为FBX格式的文件,然后在Unity3D的项目面板中选择导入资源菜单导入游戏资源。接鸡蛋主要模型资源有木桶、鸡蛋、草地、白云等模型。
3.搭建游戏场景
将游戏资源从项目面板拖入到场景面板中进行游戏场景的搭建,通过移动、缩放、旋转等工具将游戏资源对象按照一定的空间顺序进行搭建,最终效果如图3所示:
■
4.编写游戏脚本
(1)桶移动:PlayerScript.cs
木桶的左右移动是通过PlayerScript.cs来控制的,Unity3D的输入系统定义了水平方向的移动,并将X方向的数值限定在-2.5到2.5之间,这样避免木桶超出屏幕范围,代码的主要部分如下:
voidUpdate(){
floatmoveInput=Input.GetAxis(Horizontal)*Time.deltaTime*3;//木桶在水平方向移动
transform.position+=newVector3(moveInput,0,0);
if(transform.position.x=-2.5f||transform.position.x=2.5f){//限制木桶的移动范围
floatxPos=Mathf.Clamp(transform.position.x,-2.5f,2.5f);//木桶在-2.5和2.5之间移动
transform.position=newVector3(xPos,transform.position.y,transform.position.z);
}}
将PlayerScript.cs拖至木桶对象上,使得其成为木桶对象的脚本组件。
(2)鸡蛋落下:EggScript.c
您可能关注的文档
- 基于校企协同创新的专业学位研究生培养模式探索与实践.docx
- 异种钢焊接在核电压力容器制造中的应用.docx
- 综合护理对偏头痛患者不良情绪的影响.docx
- 基于念动训练的武术教学模式探究.docx
- BIM技术在机电安装装配中的应用.docx
- 新形势下国有企业基层党建工作模式探索.docx
- 乡村地理教学的生活化实践.docx
- 城乡结合部幼儿园教育资源配置现状与对策建议.docx
- 分布式电源的配电网潮流计算.docx
- 初中物理教学中实施分层教学的探究与思考.docx
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)