Unity怎么发布Wiiwii wbfs 游戏怎么用?

7k7k新闻网讯 11月30日消息,日Unity Technologies在中国上海召开启动发布会,向国内的研发者和游戏玩家宣布全新的Unity4.0开发工具已经正式面世.据悉,Unity4.0相对于之前的版本,最突出的特点是支持多平台的研发.相关文章:& &&图集:
发布会开始前
Unity Technologies的创始人之一、现任CEO &David Helgason首先发表了演讲称Unity4.0是Unity引擎自2010年来的首次主版本更新,是具备最新科技和技术的新一代开发工具,它支持多平台的游戏研发,Mac OSX App、Windows Executable、Web Browsers (使用Unity网络播放器)、IOS、安卓平台、Wii、PS3和Xbox 360等众多平台游戏都可以通过Unity 4.0来研发和发布,这是Unity主要的竞争优势.在Unity还未正式进入中国之前,已与国内华山资本有了持续性的合作。David在发布会中还提到,使用该引擎的用户将得到其公司持续不断的后续技术支持。
David发表演讲
Unity大中华区的主要负责人llen Foo符国新在发布会上介绍了大中华区分公司服务团队,称Unity十分重视亚太区发展,工作核心是提供本地化技术支持服务.他介绍,新引擎不但加入了DriectX 11支持和Mecanim动画系统,而且还增添了Linux和Adobe Flash Player部署预览功能,这些改进将更有助于开发者制作出高品质的游戏作品。他表示大中华区服务团队的成立代表了Unity公司对于大中华区及亚太区市场的重视,是为了给中国大陆、台湾及香港等地区的用户提供更为专业和稳定的本地化服务。符国新还提到,Unity将在中国设立技术支持团队,面对所有用户及合作伙伴,提供本地化的专业技术支持服务。
llen Foo符国新谈Unity在中国的发展方向
Unity大中华区技术总监Tec liu接着讲到:Unity4.0在手机游戏中也能有广泛的应用.2012年多款Unity游戏占领App Store排行榜前列,说明Unity已逐渐在手机游戏领域得到多家开发商的认可和使用.他举例称同时支持IOS和安卓平台的手机游戏TEMPLE RUN在国内外受到较好的评价,用Unity制作的游戏呈现出多样性如跑酷、平台、第一人称射击、战略、冒险等,这些说明了Unity是一个成熟的,可以适应各种需要的多平台游戏引擎。
Tec liu谈到Unity在手机游戏领域中的应用
Unity大中华区市场经理Kimi wang与亚太区技术总监郭振平采用访谈形式做了对Unity产品的介绍.二者谈到中国的手游市场,分析了2012年第三季度中国手游市场的报告,当季度中国的手游市场规模达到16.9亿元,而中国手机游戏用户规模达到2.57亿,其中31.2%的用户期待游戏质量更高的手机游戏。依此得出结论:Unity4.0可以让更多开发商在开发手机游戏时多了一种选择,二者提到在国外,由于Unity是唯一支持Mac OS X操作系统的游戏引擎,因而Unity的普及度较高,据悉AppStore上约70%的3D游戏是采用Unity引擎开发的。近年来,国内的Unity研发团队也越来越多,很多游戏行业内较著名的研发公司已成为Unity的合作伙伴,还有许多小的游戏开发商也在用Unity的引擎制作游戏。
Kimi wang与郭振平以访谈形式介绍Unity4.0新功能
本次发布会上,Unity的一些合作伙伴带来了使用Unity开发的新产品并逐一对自家产品做了视频展示,比如DENA的《忍者天下》,南京魔盒的《沙焰》、人人游戏的《人人秀舞》等等,通过展示使与会者形象地感受到Unity在游戏开发中所扮演的作用.
人人网游戏CTO顾雷针对采用Unity研发的游戏作介绍
在发布会的最后,Unity团队与重要嘉宾一同进行了Unity4.0的启动仪式.
编辑:陈洋
延伸阅读:
返回7K7K首页&>&&>&&>&&>&正文
一大波使用Unity引擎开发的游戏正靠近Wii U
17:19:19 来源:游民星空[编译] 作者:艾兰海赛德 编辑:艾兰海赛德 浏览:loading
  任天堂在这次旧金山举办的游戏者开发大会上表示,超过50款经由Unity引擎开发的游戏将浩浩荡荡直扑Wii U,其中的17款将在接下来的两个月内发售。
  任天堂美国的高级市场经理Damon Baker做出了以下的发言:
  “在这次的大会上,我们一共展示了9款游戏。目前我们已经收到开发者所提交的17款游戏,并将会在接下来的两个月中发行它们。此外,还有另外的50款游戏在筹划和制作中。所以呢,未来我们会发布很多Unity引擎驱动的游戏。”
  据报道,任天堂目前也在试图让它的3DS掌机支持Unity引擎。
法力无边的Unity
用手机访问
扫一扫,手机浏览
相关新闻:
综合热点资讯
单机游戏下载教程:如何使用Unity制作2.5D游戏(第1部分)
转自游戏邦: &2.5D游戏从根本上来说是3D游戏,但是经过开发者的处理后,游戏玩法只停留在2D轴上。《超级玛丽兄弟Wii》、《小小大星球》和《Paper Monsters》都是绝妙的2.5D游戏。制作2.5D游戏(游戏邦注:3D游戏也可以使用)的绝妙方式是使用流行、简单和廉价的游戏开发工具Unity。所以,在本系列教程中,我将向你展示如何使用Unity来制作简单的2.5D游戏《Shark Bomber!》。如果你是个Unity新手,而且想要学习这种工具,那么本教程正适合你!你会学到如何从头开始制作出简单的游戏,并在此过程中学到许多东西。在这款游戏中,你控制的是架小型但装备精良的飞机,你的目标是向邪恶的鲨鱼投炸弹,同时还要保护可爱的小丑鱼。Unity不使用Objective-C,所以阅读此教程不需要任何Objective-C经验。但是,拥有OO语言经验会使学习更加顺畅,比如C#、Java或Actionscript。要记住,这是个针对Mac用户的教程,Windows用户可能无法使用。而且还要记住,你只能在iOS设备(游戏邦注:不是模拟器)上进行测试,所以要先确保拥有可使用的设备!安装Unity首先,让我们来安装Unity编辑器。如果你的Mac电脑上已经安装了这个工具,可以跳过这个步骤。从下载页面处下载Unity。获得DMG文件后,打开Unity安装程序,经过标准安装过程后,你会在二进制数据存放点看到/Applications/Unity文件夹。打开Unity,点击“注册”按钮(游戏邦注:该工具可以先免费试用)。选择“连网激活”,点击“下一步”,填写网页上的表格。重点:根据本教程需要,你需要选择“激活专业/iOS测试版”选项,这样你才能将游戏发布到iPhone上。注册完成后,Unity就会开启如下窗口:Welcome To Unity 2(from raywenderlich)关闭弹出窗口“欢迎来到Unity”,选择“文件\新项目”,选择文件夹存放点,将项目命名为“SharkBomber”。确保所有程序包都未被选择,然后点击“创建项目”。现在,你看到的是个空白窗口。窗口上有许多按钮,我们将在下个部分中挨个解释。Unity编辑器概述现在,让我们通过某些额外的调试来实现已知的配置。在应用窗口右上方,你会看到选择框,从列表中选择“高度”。这会重新分布窗口内容(游戏邦注:默认选择为“宽度”)。现在,在窗口左上角(游戏邦注:工具栏下方)找到“游戏”标签,将其拖动到窗口底部附近的区域,直到你看到它将融入底部的指示,将其放在底部。unity01_game_drag(from raywenderlich)现在,你应当可以看到如下图所示的窗口布局:unity02_editor_layout(from raywenderlich)让我们花点时间来阐述下这几个不同的面板:1、场景:你可以在这里移动3D模型,浏览3D世界。2、游戏:这是你所选择的镜头(游戏邦注:在这款游戏中指主镜头)看到的画面,在你使用编辑器时会即时更新。当你点击“运行”时,你的游戏可在此处运行,你可以测试游戏。3、等级系统:显示你的对象树(游戏邦注:类似于HTML DOM),目前你只有一个镜头,但是我们随后会添加更多东西。该列表中的对象会呈现在场景中。4、项目:这里的内容有你的项目、资产、音频文件以及所有你现在或随后将用到的东西。5、检查器:你可以在这里看到场景中所有选择对象的资产并对它们做出调整。Unity的独特之处在于,当你运行场景时检查器依然保持运转,所以它同样也是你的调试器!6、工具栏:这里有你可以用来与场景中对象互动的工具和用来测试场景的“运行”和“暂停”按钮。在你的Unity3D项目中,你可以拥有许多不同的场景,并在它们之间来回切换。现在,你已经在编辑器中设立了一个空白的场景。让我们将其保存。1、在项目面板中点击右键,选择“创建/文件夹”,新文件夹生成。2、将其重命名为“场景”,左键单击文件夹名称或选择文件夹后按“回车”都可以重命名文件夹。3、现在,在主菜单处选择“文件/保存场景”,将保存对话框导航到“(你的项目目录)/资产/场景”,将场景保存为“LevelScene”。让我们来确认下,在项目面板中打开场景文件夹,你可以看到LevelScene场景。现在,我们做好了运行游戏的准备,点击上方的播放按钮!虽然画面没有发生改变,但事实上游戏正在游戏面板中运行!不要忘了,再次点击播放按钮来暂停游戏,这一点很重要!设置iPhone Unity3D项目Unity的精妙之处在于,它可以用来为iPhone、 Mac、Wii和其他平台构建游戏。在本教程中,我们将构建的是iPhone游戏,所以我们需要先创建某些细节。从菜单中选择“文件/构建设置”,然后点击“添加当前”按钮将当前选择场景添加到项目中。你可以看到,当它被添加时获得了指数“0”,这意味着它将是游戏开启时首个被加载的场景。这正是我们想要的结果。从平台列表中选择iOS,点击“转换平台”按钮。现在,Unity的图标显示在iOS列中。这便是我们现在需要的所有设置,点击“玩家设置”并关闭这个弹出窗口。你会注意到,玩家设置在检查器中开启,我们也需要在这里进行许多设置。在“呈现平台”中,确保显示iPhone的标签已被选中,如下图所示:unity03_player_settings(from raywenderlich)此处可以进行诸多设置,多数内容你已经在Xcode中接触过,你可以随后自行体验和探索。现在,使用这个检查器进行下列修改:1、在“分辨率和呈现”选项的“默认方向”中选择“水平左向”。2、在束检查器的“其他设置”选项中输入所有你想要的内容(游戏邦注:除了默认值)。3、在“其他设置”选项中,将目标设备选择为“仅限iPhone”。最后个步骤:左方的“游戏”标签下有许多可用的不同方向和分辨率,选择“iPhone Wide (480×320)”以匹配默认的横向方向。Unity iOS Config(from raywenderlich)祝贺你,现在你完成了个基本的“Hello World”项目,你可以尝试将其在iPhone上运行!在iPhone上运行游戏为测试之前我们进行的设置,我们准备在Xcode和iPhone上测试项目。首先从开发者最喜欢的Xcode版本开始,如果有欢迎屏幕的话先将其关闭,转换回Unity。这是种告诉Unity运行何种Xcode版本的技巧,同时运行两者即可。Unity To Xcode(from raywenderlich)回到Unity中,从菜单中选择“文件/构建;运行”,构建设置会再次弹出,点击“构建和运行”按钮。你会被询问要将Xcode保存在何处。在项目目录中创建名为“SharkBomberXcode”的文件夹(游戏邦注:Xcode内容将保存于此文件夹中),在文件名栏中输入“SharkBomber”。片刻之后,项目构建完成,你会看到Xcode窗口弹出,打开的项目名为Unity-iPhone。Unity已经生成了Xcode项目源代码,现在这个已生成的项目以做好了构建和运行的准备。你或许想要看下源代码,但是它事实上只是个样板文件,加载包含些许dll文件和资产的单框架。你有两个目标,所以确保你的iOS设备已插入,选择“Unity-iPhone”目标和你的设备。我无法让模拟器目标运行,如果你可以做到的话,是件很棒的事情,我在下文阐述中使用的都是针对iOS设备。片刻后,点击“运行”按钮,你的Unity项目现在能够在iPhone上运行了!unity04_first_run(from raywenderlich)你会看到默认的Unity开启屏幕,然后便是场景的蓝色背景(游戏邦注:角落处还有“试用版”字样)。停止运行任务,切换回Unity,保存项目。设置场景首先,让我们来设置场景的主镜头。选择“等级系统”中的“主镜头”,在检查器中找到“投影”并将其设置为“正交”,“大小”设置为“10”,在剪裁平面中将“近端”设置为“0.5”,将“远端”设置为“22”。现在,你可以看到场景中镜头附近有个盒子,这是场景中可视范围的边界。注意,我们已经将镜头投影设置为“正交”,这意味着深度坐标不会影响到内容在屏幕上的外观,我们可以有效地创建出2D游戏。现在我们先这样来做,直到你熟悉了Unity,我们再转向3D投影。在检查器中将镜头位置坐标设置为(0,0,0)。注意,从现在开始,当我将位置编写成(x,y,z)的形式时,就是为该资产设定了在3个盒子中的值。右键点击项目面板,再次选择“创建/文件夹”,将新文件夹命名为“纹理”。然后下载我为该游戏制作的背景图片,将其保存在你的硬盘中。将背景图片从查找器中拖动到你刚刚创建的“纹理”文件夹中。我的iMac完成此次导入耗费了20秒左右的时间,完成后打开文件夹,选择“背景”纹理,然后在检查器中查看纹理资产。在预览面板的低端有行文字,表明Unity已经识别我们正在导入纹理,对其进行压缩处理。Import Texture(from raywenderlich)从菜单中选择“游戏对象/创建其他/飞机”,你会看到镜头旁边出现蓝色矩形。这便是我们刚刚添加到场景中的飞机,我们将把已经获得的纹理运用到它身上。在等级系统面板中选择“飞机”,检查器上方的文本显示“飞机”进入“背景”。这会改变对象的名称,你可以通过这种方式来将对象重命名。从项目面板中拖动“背景”纹理,将其放入等级系统的“背景”对象中。在检查器中将飞机的位置设为(4,0,20),旋转设为(90,180,0),缩放设为(10,1,5)。正如你在“场景”面板中看到的那样,游戏会缩放和旋转飞机,使之面对镜头,这样镜头才会将飞机视为游戏的背景。现在,为了能清楚地看到场景中的内容,我们需要光照(游戏邦注:这点类似于现实生活),选择“游戏对象/创建其他/方向性光照”,这会给你的场景添加些许光照。在“等级系统”中选择方向性光照,将其坐标设置为(0,0,0)。unity05_scene_light(from raywenderlich)现在,我们完成了场景的所有设置和背景,到了添加对象并让它们开始移动的时候了!向场景添加3D对象从菜单中选择“游戏对象/创建其他/方块”,这样就像你的场景中添加了一个方块对象。这代表的就是游戏玩家,所以我们将它重命名为“玩家”。将其位置设置为(-15,5.3,8)。你会看到方框出现在靠近“游戏”面板屏幕左侧的位置上,这便是我们游戏中飞机的起点,它将飞过海面到达屏幕的另一端。现在,让我们导入飞机模型!我们使用由Reiner “Tiles” Prokein制作的免费3D模型,他将其免费发布到自己的网站上。要进行上述步骤,先下载他的飞机模型并将内容解档。在“项目”面板中点击右键,选择“创建/文件夹”,将文件夹重命名为“模型”。你可以在文件夹中解档飞机模型,将文件“airplane_linnen_mesh.obj”拖动到“项目”面板的“模型”文件夹中。然后右键点击“模型”文件夹,选择“创建/文件夹”,将新的子文件夹重命名为“纹理”,我们将运用到模型中的纹理保存于此处。将“airplane_linnen_tex.bmp”文件拖动到新创建的“纹理”文件夹中。接下来,在“等级系统”面板中选择“玩家”对象,查看“检查器”,“网状过滤器”选项是设定对象几何的过滤器(游戏邦注:目前其设定的是方块几何)。在“网状-方块”行中寻找中间带点的小圆圈,然后点击它,这样就能打开弹出窗口,你应当在窗口中双击飞机模型,这会将你的对象集合转变为飞机。unity06_airplane(from raywenderlich)现在,有个细节问题,飞机看起来有点糟糕。我不是个3D专家,但我发现Unity中有解决这个问题的方法:在“项目”面板中选择“airplane_linen_mesh”,然后在“检查器”中找到“普通”,然后选择“计算”,接下来向下滑动滚动条,点击“应用”按钮。现在,你可以看场景中看到平滑的飞机模型!接下来,让我们来应用它的纹理:将“airplane_linnen_tex”纹理从“项目”面板中拖动到“等级系统”面板的“玩家”中。Unity会自动将纹理应用到场景中的飞机模型上。最后对飞机做些许调整:在“玩家”对象中将旋转设为(0,90,350),缩放设为(0.7,0.7,0.7),这会旋转和缩放飞机,使之看起来在海平面上飞行。这款游戏还并未完善,在下个版块中我们将让飞机开始飞行!开始用C#进行Unity3D编程正如你已经在构建设置对话框中看到的那样,Unity可以将你的项目构建成Wii游戏、iPhone游戏、单机Mac游戏等。正因为Unity如此全能,所以它需要某些跨媒体层次,你可以用来对游戏编程,每个不同的构建都会将其转变为平台专用代码。所以,你需要使用C#在Unity中编程(游戏邦注:而不是Objective-C)。当Unity生成你的Xcode项目时,它会自动将C#代码转换为平台专用代码!在“项目”面板中点击右键,选择“创建/文件夹”,将新建文件夹重命名为“类”。右键点击“类”文件夹,选择“创建/C#脚本”,将新文件重命名为“玩家类”。在“项目”面板中点击右键,选择“同步MonoDevelop项目”,这样会打开MonoDevelopIDE,在这个IDE中,你可以用C#来编程。注:MonoDevelop是个移植自Linux的程序,用户界面类似于Gnome,所以程序崩溃是很正常的事情,尤其是在你重新调整窗口大小时。如果发生上述情况,只需要再次点击“同步MonoDevelop项目”即可打开。unity07_monodevelop(from raywenderlich)以下是MonoDevelop GUI的3个主要区域:1、你的MonoDevelop项目浏览器,在资产/类中你可以看到PlayerClass.cs文件2、当前打开类的概览3、编辑器区域,句法高亮和自动完成能够为你的编程提供帮助在项目浏览器中找到你的PlayerClass.cs文件,双击将其在编辑器中打开。确保类如下所示:using UnityEusing System.Cpublic class PlayerClass : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}}“using”句法包括所提供的库和框架,在UnityEngine这个库中,你可以访问iPhone加速计、键盘输入和其他手持设备功能。你可以定义新类并继承自MonoBehaviour,这可以让你获得大量的内容:你可以使用当特定事件被触发时会被调用的大量方法。下面数行就是开始和更新方法,这是两个重要事件。1、开始在对象显示在屏幕上时调用,这样你才能进行初始化(游戏邦注:很像viewDidAppear: in UIController)。2、更新在每帧播放时调用(游戏邦注:每秒调用次数可能是30、60或100),以实现移动和游戏逻辑等。现在,让我们先转回Unity片刻。我们想要让飞机在海面上飞行,而且当它从屏幕右侧移出时能够再次从左侧移入屏幕。让我们来看看要将飞机移动到屏幕左侧的哪个位置。“场景”面板的右上角有个方向部件,点击X柄(游戏邦注:显示是个红色的圆锥体,作者将其称为“柄”):unity08_nav_gizmo(from raywenderlich)这可以旋转场景,将其方向调整为水平面对你。再次点击现在位于部件左侧的柄,这会再次使场景旋转,你可能需要多次点击左柄,直到你看到的场景正面如下所示:unity09_nav_gizmo1(from raywenderlich)现在,你可以使用鼠标滚轴来缩放场景,使其适合“场景”面板的大小。确保上方工具栏的移动工具被选中,在“等级系统”中选择“玩家”。unity10_move_tool(from raywenderlich)现在,你可以看到有个新部件附在飞机上,带有绿色和红色的箭头。现在,你可以拖动箭头,它们会根据箭头所代表的轴来移动飞机:unity11_move_gizmo(from raywenderlich)我们需要做的就是拖动红色箭头(游戏邦注:代表水平轴),将飞机向右侧拖动,直到它离开下方的“游戏”面板。在“场景”面板中拖动时,要同时查看“游戏”面板。将飞机放置在可视屏幕之外,在“检查器”中查看它的位置。现在,X的值应当在17.25左右,这是屏幕的右侧边界,你可以向左拖动飞机,这样便可以看到左侧边界的值为-17.25左右,所以我们将在设定飞机飞行时使用18和-18这两个值。将飞机放回屏幕左侧之前的位置。转换回MonoDevelop,对PlayerClass.cs进行下列修改://just after class declaration line//inside the Update methodif (transform.position.x & 18) {//get new speedspeed = Random.Range(8f,12f);transform.position = new Vector3( -18f, transform.position.y, transform.position.z );}transform.Translate(0, 0, speed * Time.deltaTime);或许你已经猜到,你刚刚在类上设定了公共资产“速度”,Unity的独特之处就在于,所有的公共类资产都可以通过“检查器”面板访问!所以,你可以在IDE中设定类资产值,你可以在游戏运行时自由地即时调整资产值,这难道不是件很棒的事情吗?对每个游戏对象(游戏邦注:屏幕中的所有东西都是游戏对象)来说,“改变”变量是个处理对象空间位置的资产,包括旋转、位置和缩放等。根据每次更新调用来调整对象的位置,这样它才能够移动到屏幕右侧。我们不能只按照更新的每次调用来将飞机移动特定距离,因为没有人知道该命令每秒的调用次数。事实上,我们以每秒单位数来确定速度,将速度除以最后一次调用更新所经过的时间。这样,对象的移动就会独立于当前帧率,保持以相同的速度移动。转化调用涉及到3个值,也就是每个轴上面需要做出的转化。你或许已经注意到,我们也在Z轴(游戏邦注:这就是第3个参数)上移动飞机。我们必须这么做,因为我们要在屏幕上旋转飞机,所以转化Z轴从玩家的视角来看就是将其移动到右侧!看看“if”条件,我们查验transform.position.x是否大于18,如果条件满足,我们会将飞机的位置设置在相同的坐标上,但X轴值改变为“-18”。我们使用新的Vector3(x,y,z)来设定位置,我们将在定位中大量使用这些矢量。你还会看到,我们将速度设定为8到12间的随机值,这只是为了让飞机可以更自由地移动,让游戏更加有趣。这样,我们便为飞机的移动做好了准备!转回Unity,将“玩家类”从“项目”面板中拖动到“等级系统”面板的“玩家”上,这样你便将类同游戏对象绑定起来。在“等级系统”中选择“玩家”,查看“检查器”,你会看到出现了名为“玩家类(脚本)”的新带,你还可以看到公共资产。将它的值设定为“12”。准备好之后,点击播放按钮。你会看到在“场景”和“游戏”面板中,飞机开始移动,当它从右侧移出时会回到屏幕左侧。你还可以在“检查器”中看到飞机位置的X轴数值实时更新,它向你展示的是飞机在特定时刻的位置。而且,飞机每次飞行的速度会随机改变。UnityDynamicProperties(from raywenderlich)享受目前所取得的成果后,不要玩了再次点击播放来暂停游戏。接下来,我们要为开始为这架飞机制作敌人——一只凶险的鲨鱼!现在,你应当对这个工具的基本使用方法较为熟悉。我们接下来会进展得更快,因为接下来一段时间里我们无需完全重新制作所有东西。需要休息会儿吗?到目前为止,我们已经教授了许多内容!如果你感到疲惫,可以先休息会儿,只是要注意保存Unity项目。但是,当你再次打开Unity项目时,工具默认会打开空白场景。要加载你正在制作的这个场景,双击“项目”面板中的“LevelScene”,你就可以继续工作了。添加鲨鱼下载并解档鲨鱼模型。像你之前处理飞机那样,将文件“shark.obj”拖动到“项目”面板的“模型”文件夹中,将“sharktexture.bmp”放置在“模型/纹理”中。从菜单上选择“游戏对象/创建其他/胶囊”,将“等级系统”中的“胶囊”对象重命名为“鲨鱼”。在“检查器”中的“网过滤器”带中,点击内部带点的圆圈,在弹出窗口中双击鲨鱼模型。现在,你应当能够在“场景”和“游戏”面板中看到鲨鱼几何。将“sharktexture”(游戏邦注:位于模型/纹理)从“项目”面板拖动到“等级系统”的“鲨鱼”对象中,这会让你的鲨鱼拥有有力的大嘴和邪恶的眼睛!看到这样的鲨鱼,我已经冒出了炸它的念头!确保“鲨鱼”被选中,在“检查器”中设置如下资产:位置(20,-3,8),范围(1.2,1.2,1.2),这样鲨鱼便被放置在贴近镜头可视范围右侧的位置,它从这里开始向屏幕左侧移动。AddingShark(from raywenderlich)现在,因为我们希望鲨鱼能够同我们的炸弹互动,所以我们希望鲨鱼的碰撞器或多或少能同鲨鱼的几何配对。正如你看到的那样,有个绿色的胶囊与屏幕中的鲨鱼粘连。这便是鲨鱼的碰撞器。让我们将其与邪恶的鲨鱼身体配对。在“检查器”中寻找“胶囊碰撞器”带,设定如下数值:半径设为“1”,高度设为“5”,方向设为“X轴”,中心设为“(0,0,0)”。现在,你会看到胶囊碰撞器已经被调整到与鲨鱼身体相似的样子,比原先好多了!Capsule Collider(from raywenderlich)最后,在“项目”面板“模型”文件夹中选择“鲨鱼”模型,然后在“检查器”中寻找“普通”,选择“计算”,然后下拉点击“应用”按钮。在“项目”面板“类”文件夹中点击右键,选择“创建/C#脚本”,将新脚本重命名为鱼类。点击右键,选择“同步MonoDevelop项目”。MonoDevelop将会弹出,打开FishClass.cs文件,输入下列代码:using UnityEusing System.Cpublic class FishClass : MonoBehaviour {public float speed = 6f;// Update is called once per framevoid Update () {if (transform.position.x & -30 || transform.position.x & 30) {//turn aroundtransform.Rotate(new Vector3(0,180,0));transform.Translate( new Vector3(-10, -transform.position.y + Random.Range(-4,-1),0) );//get new speedspeed = Random.Range(6f,10f);}transform.Translate( new Vector3(-speed*Time.deltaTime,0,0) );}}这些代码同我们上文中针对飞机编写的很相似。我们设立速度资产(游戏邦注:以每秒为单位),在更新事件处理器中使用转化。鲨鱼的移动便由此实现。注意,这次我使用的是:transform.Translate( new Vector3(x,y,z) );这样做只是想演示某些使用不同参数的方法,尽管使用独立的3个数值和1个矢量是完全相同的。现在,让我们看看鲨鱼在到达屏幕边界后会做出何种动作。这次我们设定的鲨鱼移动屏幕边界坐标为-30和30,一段时间内鲨鱼将从屏幕上消失,这样玩家就无法轻易地在其折返时进行伏击。当鲨鱼到达左右屏幕边界时,它会折返并改变速度,并不断如此往返。显然,transform.Rotate(new Vector3(x,y,z))的调用可以使对象根据特定坐标值转向,你对transform.Rotate(new Vector3(x,y,z))应当很熟悉了。这确实是件很简单的事情!转换回Unity,拖动“鱼类”脚本到“等级系统”的“鲨鱼”对象上。现在点击播放:你可以看到鲨鱼往返游动,直到被炸弹击中。太棒了!Shark In Scene(from raywenderlich)添加小丑鱼让我们再用同样的做法来添加小丑鱼。步骤如下:1、下载并解档小丑鱼模型。2、拖动“mesh_clownfish.obj”到“项目”面板的“模型”文件夹中,将“clownfish.bmp”拖动到“模型/纹理”中。3、选择“游戏对象/创建其他/胶囊”,将“等级系统”中的“胶囊”对象重命名为“小丑鱼”。4、点击“网过滤器”带有点的循环按钮,在弹出窗口中点击小丑鱼几何。5、将“小丑鱼”模型纹理拖动到“等级系统”中的“小丑鱼”对象上。6、确认“小丑鱼”已选中的情况下在“检查器”中修改下列资产:位置设为(-20,-1,7),旋转设为(0,180,0),缩放设为(0.4,0.3,0.3)。7、在选中“小丑鱼”的前提下,在胶囊碰撞器带中修改下列资产:半径设为“4”,高度设为“4”,方向设为“Z轴”,中心设为“(0,0,0)”。8、将“鱼类”从“项目”面板拖动到“等级系统”的“小丑鱼”对象中。这样就把与鲨鱼相同的一般鱼类分配给小丑鱼。9、在“项目”面板“模型”文件夹中选择“mesh_clownfish”模型,然后在“检查器”中找到“普通”,选择“计算”,然后下拉并点击“应用”按钮。点击播放,现在你可以看到屏幕上已经有两条移动的鱼,而这次我们完全无需另外编写代码!unity12_fish_run(from raywenderlich)鱼可以来回游动,飞机也能够飞行,所有内容都运转良好。现在,我们还需要炸弹。设置炸弹下载和解档油桶模型。与之前一样,将“colourcan.obj”文件拖动到“项目”面板“模型”文件夹中,将“cantex.bmp”文件放入“模型/纹理”。从菜单中选择“游戏对象/创建其他/胶囊”,将对象重命名为“炸弹”。在“网过滤器”弹出窗口中双击油桶几何。将“cantex”纹理拖动到“等级系统”中的“炸弹”对象上。在“检查器”中的“胶囊碰撞器”中点击下图按钮打开弹出菜单:unity13_popup_menu(from raywenderlich)当弹出菜单出现时,选择“重置”,这样碰撞器自动会接受分配的几何大小!接下来,在“项目”面板“模型”文件夹中选择“colourcan”模型,然后在“检查器”中找到“普通”,选择“计算”,然后下拉并点击“应用”按钮。接下来,让我们来接触一项新的内容!再次选择炸弹对象,在胶囊碰撞器带中勾选“Is Trigger”选框!勾选这个选框意味着当炸弹同其他对象碰撞时会触发事件。但是,要使上述情况发生,我们还需要为炸弹分配刚体,因为至少要有一个碰撞对象带有刚体。从菜单中选择“组件/物理/刚体”(游戏邦注:此时要确保等级系统中的炸弹被选中)。完成这个步骤后,“检查器”中应当会显示新带“刚体”。去除“使用万有引力”,然后勾选“Is Kinematic”,这样我们才能程序化地控制刚体。这样,碰撞爆炸实现的所有条件均已达成!UnityRigidBody(from raywenderlich)下载炸弹释放的音效,将其保存在硬盘上。我们要在飞机投放炸弹时播放这个音效,也就是当炸弹首次出现在屏幕上的时候。让我们来实现这个目标!右键点击“项目”面板,选择“创建/文件夹”,将新文件夹重命名为“音频”。将“bahh1.aif”文件拖动到“音频”文件夹中。接下来,将“bahh1”音效文件从“项目”面板拖动到“等级系统”中的“炸弹”对象上。无论你是否相信,我们需要做的就只有这么多。音效同炸弹绑定,当炸弹出现在屏幕上时就会播放。现在,你就知道用Unity制作游戏是件很简单的事情。在“等级系统”中选择“炸弹”对象,在“检查器”中找到“音频来源”带,可以看到“激活时播放”选框已经勾选,这就相当于告诉音频在对象出现在屏幕上时播放。再看看“场景”面板,你会看到现在炸弹上有个扬声器的图标。UnityAudioSource(from raywenderlich)预制游戏对象“等级系统”展示的是当前显示在屏幕上的内容,“项目”包含的是你所拥有的所有对象。这与你在本板块要实现的目标有关,也就是让飞机装载多个炸弹,并根据自己的意愿将其投放到海中。我们准备要做的事情是,预制游戏对象(游戏邦注:即该对象已准备好出现在屏幕上)但不将其添加到屏幕上。在“项目”面板中点击右键,选择“创建/文件夹”,将其重命名为“预制”。右键点击“预制”,选择“创建/预制”。将新预制重命名为“炸弹预制”。注意,小方块图标是白色的,这表示这是个空白预制。现在,从等级系统中将“炸弹”拖动到“项目”中的“炸弹预制”上。注意,现在方块图标变为蓝色,这表示这是个满预制,已经做好克隆的准备。看看现在的“等级系统”面板,“炸弹”字体变为蓝色,这意味着现在对象正处于预制状态。现在,我们已经设置完成,就不需要原本位于屏幕上的炸弹对象。右键点击“等级系统”中的“炸弹”,选择“删除”。接下来,让我们来编写代码。转向MonoDevelop,打开PlayerClass.cs,在“速度”资产中添加下列代码:public GameObject bombP在这个资产中,我们涉及到了炸弹预制,我们将实现上述设定的目标。注意,资产类型是“游戏对象”,我之前说过,游戏中的所有东西都是游戏对象(游戏邦注:很像Cocoa中的NSObject),所以对所有对象设定此种类型是比较安全的做法。现在,转换回Unity,选择“玩家”。正如你所期望的那样,“检查器”中的“脚本”下出现新资产“炸弹预制”。让我们来设定其数值:将“炸弹预制”从“项目”面板拖动到“检查器”中的“无(游戏对象)”上,现在区域显示它已经为炸弹预制分配了数值。对于游戏中的炸弹,我们还需要有个C#类,右键点击“项目”中的“类”文件夹,选择“创建/C#脚本”,将其重命名为“炸弹类”。右键点击并选择“同步MonoDevelop项目”,MonoDevelop会弹出。打开BombClass.cs并将内容替换为如下代码:using UnityEusing System.Cpublic class BombClass : MonoBehaviour {private float ySpeed = -4f;// Update is called once per framevoid Update () {transform.Translate( new Vector3(0f, ySpeed*Time.deltaTime, 0f) );if (transform.position.y & -11) {Destroy(this.gameObject);}}}这段代码同上文所述代码极为相似,我们每帧转化对象,当移出屏幕边界时做出适当的反应。在炸弹的设置中,我们想要的是炸弹在移除边界后被摧毁,这样我们就能保持从炸弹预制中生成新对象。在代码中,“this”指C#炸弹类,gameObject资产指屏幕上的对象,代码让我们能够摧毁屏幕上的对象和所有相关组件。有关游戏对象等级系统的内容,我们将在教程的第2部分中讨论。轰炸鲨鱼终于到了最后一个部分,轰炸鲨鱼!打开PlayerClass.cs,在更新方法末端添加:if (Input.anyKeyDown) {GameObject bombObject = (GameObject)Instantiate(bombPrefab);bombObject.transform.position = this.gameObject.transform.}让我们来依次分析这3行代码:1、输入是让你可以使用键盘、鼠标、加速计和触摸的类。当按键被按动后,Input.anyKeyDown值变为真,这种情况一次性只能出现一次。比如,按键首次按动过后,Input.anyKeyDown又会变为假,直到另一个按键被按动。anyKeyDown是手持抽象,当玩家点击鼠标、按动键盘按键或触摸iPhone屏幕的动作被接收到时,它的值会变为真。2、(GameObject)Instantiate(bombPrefab)用来从预制中创建实例,将其添加到场景中。3、最后,我们将炸弹的位置设成与飞机相同。这样,当玩家点击屏幕时,炸弹都会出现,随后开始下落,当离开屏幕时就会自动消失。让我们来尝试一下!转换回Unity并点击播放,现在如果你在“游戏”面板中点击(游戏邦注:模拟触摸操作),就会看到炸弹在飞机所在点生成。多次点击就会生成多枚炸弹。你应当还能听到炸弹的音效。但是炸弹不会下落!为什么呢?你能不能自己找到问题所在呢?unity15_stuck_cans(from raywenderlich)我希望你能够自己发现问题,问题就是:你还未给炸弹预制分配炸弹类。从“项目”面板“类”文件夹中将“炸弹类”拖动到同面板“预制”文件夹中的“炸弹预制”上。查看“检查器”,看是否能够看到炸弹类脚本带。现在再次点击播放,效果好多了!unity16_falling_cans(from raywenderlich)但是,仍然不够完美,那些鲨鱼并没有在被炸弹击中后死亡。因为我们已经配置了碰撞器和炸弹的刚体组件,我们只需要添加代码来对碰撞做出反应。转换回MonoDevelop,将下列新方法添加到炸弹类中:void OnTriggerEnter(Collider obj) {if (obj.gameObject.name == “Shark”) {//reset sharkobj.gameObject.transform.rotation = Quaternion.obj.gameObject.transform.position = new Vector3(20f, -3f, 8f);Destroy(this.gameObject);}}让我们来逐行解释上述代码:1、OnTriggerEnter是当实体同其他实体发生碰撞时被调用的方法,第2个实体被视为参数。2、在这行中,我们检测炸弹击中的对象是否是“鲨鱼”。3、如果被击中的确为鲨鱼,那么首先我们会重置对象旋转。4、其次,我们将鲨鱼重置回其原本的位置。5、最后,我们调用this.gameObject摧毁来让炸弹从屏幕上消失。依然很简单,不是吗?你只需要这些代码就足够了。转换回Unity并运行游戏!用炸弹击中鲨鱼后它会消失,然后屏幕中会出现新的鲨鱼。你还可以从菜单中选择“文件/创建;构建”,当Xcode弹出时点击其中的“运行”,这样你就可以在iPhone上运行游戏了!Unity Simple Game(from raywenderlich),我们将增添游戏趣味性,让游戏变得更富挑战和有趣!游戏邦注:本文发稿于日,所涉时间、事件和数据均以此为准。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦)
要评论请先&或者&
好东西啊,很适合入门的文章翻译!
好贴,沙发
有点杀猪用牛刀的感觉……
好好好太棒了

我要回帖

更多关于 wiiu怎么玩wii游戏 的文章

 

随机推荐