Unity3D在Android游戏开发中的应用.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

180****9182 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档