`
tank2308635
  • 浏览: 191604 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)unity3D iPhone开发问题汇总

 
阅读更多

先决条件 

我刚收到iPhone开发的许可,但我之前从来没有为iPhone开发。我该怎么办呢? 

答:下载的SDK ,启动和运行苹果开发者网站,建立您的team,devices和provisioning。我们提供了基本的步骤列表让你开始。 



用unity建造的游戏可否运行在iPhone的模拟器? 

答:不可以。iPhone模拟器对于unity不是非常有用,因为它没有模拟iPhone所有的交互方式,而且它模拟的性能和运行在iPhone上是不一样的。您可以直接在unity内部测试游戏,iPhone将作为一个遥控器使用,当它运行在iphone的远程应用端(unity remote)上时。然后当您准备好要测试性能和优化游戏时,就将其直接发布(publish)到iPhone中。 



unity Remote

我该怎样使用unity Remote? 

答:在您的unity iPhone安装目录,您会看到一个文件夹,名为“unity Remote” 。这包含了XCode项目,您可以运行和编译unity Remote安装到您iphone上。安装后,请确保您的设备和开发机是通过WiFi连接到同一网络。在unity 运行时启动iphone Remote,并在出现的列表中选择您的计算机。现在,只要您点击编辑器中的播放模式,您的iphone设备将作为一个远程控制端用来开发和测试游戏。 



我在

xcode里产生了一个奇怪的错误,当部署unity Remote到设备时 

答:unity Remote的identifiler和您提供的provisioning profile不匹配。您必须手动更改此签名在您XCode项目。identifiler必须和您提供的provisioning profile相符。 



如果你有一个授权的AppID,上面标有星号作为结束(例如######. com.mycompany .* ),你可以跳过这一段。如果您没有创建AppID,那么你就必须在iphone开发中心的program portal中建立一个。转到program portal,选择AppIDs选项卡上,单击添加编号按钮(右上角) ,输入*在app id名称和您通常使用的签名(例如com.mycompany )之后 。添加新AppID到你的provisioning profile中,请下载并重新安装它。不要忘了之后重新启动XCode。如果您有任何麻烦请查询如何配置授权章节。



打开iphone Remote 项目在XCode中 。在菜单中选择项目“project->Edit Active Target”unity Remote“ ,将打开一个”unity Remote“信息窗口。选择Properties选项卡。更改identifiler属性字段com.unity3d.UnityRemote为您的AppID。其次是“ UnityRemote ” 。例如,如果您provisioning profile包含######. com.mycompany .* 这个AppID,当更改identifiler字段为com.mycompany.UnityRemote 。在Build菜单中选择清除所有目标,然后编译并再次安装unity Remote。 

(不要忘了要更改identifiler,然后才能安装unity Remote到您的设备上)



unity特性 

我如何使用触摸屏和加速度计? 

答:在scripting reference中,你会找到一些iPhoneInput类,还有iPhoneSettings和其他一些。这些新增的iPhone类负责钩起设备指定功能。 



难道iPhone支持unity的地形引擎? 

答:在unity iPhone中目前不支持地形。在iPhone上您需要绘制low poly地形。地形系统没有这个功能,所以使用low poly是更好的选择。 



我现有的粒子系统运行在iPhone上时很慢。我应该怎么办? 

答: iPhone拥有相对较低的fillrate 。如果您的粒子效果覆盖大部分的屏幕,而且是multiple layers的-这样即使最简单的shader,也能让iphone傻眼。我们建议把您的粒子效果baking成纹理序列图。然后在运行时可以使用1-2个粒子,通过动画纹理来显示它们。这种方式可以取得很好的效果,以最小的代价。 



我是否可以在游戏中,使用复杂的物理仿真? 

答:iPhone运算物理仿真代价很高,我们建议您尽可能少使用它们。物理需要做很多浮点数运算不适合iPhone的ARM处理器。如有可能,完全避免使用MeshColliders,但必要时它们是可用的。要提高性能,使用一个低的固定帧率在 Edit“Time”->"Fixed delta Time"。建议控制在10-30。在降低物理帧速率的同时,可以使用刚体插值以实现平滑的动作效果。为了实现完全流畅的帧率而不卡机,最好是选择Fixed deltaTime value base,使您的游戏在iPhone上获得一个平均的帧率 。建议要么1:1或一半的帧速率。例如,如果您获得每秒30张,您应该使用15或30 fps为物理固定刷新率( 0.033或0.066 ) 



使用UnityGUI的考虑 

使用UnityGUI将会对我的游戏性能产生什么影响吗? 

答: 当有许多交互控制时,UnityGUI的使用代价是相当昂贵的,。理想的方法是限制使用UnityGUI游戏菜单,或在游戏运行中尽量少用GUI控制。重要的是要注意,每个对象脚本的OnGUI ( )调用将需要更多的处理器时间,即使它是一个空OnGUI ( )块。最好的方法是禁止此脚本调用GUI元件,如果它没有使用。为此,您可以标记脚本为Enabled=false。 



UnityGUI 有没有其他的使用技巧? 

尽可能少尝试使用GUILayout。如果您的GUILayout不是都从一个OnGUI调用,您可以停用所有GUILayout渲染使用MonoBehaviour.useGUILayout =false;这能双倍提高GUI图形渲染性能。最后,尽量少用GUI元件,在绘制三维场景的同时。



设备的图形性能 

什么是网格量化? 

答:在iPhone中内存带宽是另一个宝贵的资源,(因为CPU和GPU需要共享带宽) 。 iPhone支持32 ,16和8bit类型的vertex components。量化网格图形数据到这些指定类型,可以尽量压缩顶点数据尺寸(鉴于它可以容忍一些用户指定错误)。由于访问数据量的减少,可以提高性能。 



我可以在iphone上使用bumpmapped 吗? 

答: iPhone拥有介于TNT2和GeForce1之间的片段处理能力。它可以加或乘两个纹理在一起,但法线贴图只能歇菜。 



基本的顶点计数原则是什么? 

答:为了实现每秒30张在iPhone上,你应该让每帧顶点计数明显低于7000个。每个场景顶点数量则没有限制。只要您确保不超过7000个顶点在同一可见画面中,就能保证unity的高帧率。使用新的遮挡筛选功能,可以确保只有7000顶点可见。 



Xcode 

我收到了很多编译错误Xcode 。这是怎么回事? 

答:请确认您选择了“Device”模式,而不是“simulator”。



有时,当我点击“Build and go” ,我看到奇怪的错误。 

答:这是一个Xcode的Bug ,并且不破坏您的项目。只要按一下确定以绕过消息,您的游戏应该功能完全正常。 



我该如何设定我的应用程序图标在iphone主页屏幕? 

答:你需要从Xcode中处理这个 。有一些简单的步骤如下: 



创建您的57x57像素png图像。

将其命名为“ Icon.png ” ,并将其放置在Xcode项目的根目录 

在Xcode ,右键单击该项目文件中“Group&File” 

选择Add...->Existing files并添加您的图片。 

找到Info.plist在Xcode ,双击它 

改变“Icon file”属性值为“ Icon.png ” 



如何设置启动画面为我的应用(只支持unity iPhone专业版) 

答:你需要在Xcode中实现 。有一些简单的步骤如下: 



创建一个320x480像素的png图片 

其命名为“ Default.png ” ,并将其放置在Xcode项目的根目录 

在Xcode ,右键单击该项目文件中“Group&File” 

选Add...->Existing Files并添加您的图片。

分享到:
评论

相关推荐

    unity3d+iphone开发资料

    5. **Unity iPhone Problems and Solutions**:这个文档很可能是关于在Unity3D上开发iPhone应用时遇到的常见问题及其解决方案的集合。开发者可以通过查阅此文档,提前预防或快速解决在开发过程中可能遇到的问题。 6...

    史上最全的Unity3D iPhone(IOS)开发问题汇总与解决办法2

    首先,关于【标题】提到的问题,"史上最全的Unity3D iPhone(IOS)开发问题汇总与解决办法2",表明这是一个综合性的指南,旨在解决Unity3D在iOS平台上常见的问题。其中提到的“iPhone模拟器对于unity不是非常有用”,...

    Unity3D游戏开发

    ### Unity3D游戏开发概述 Unity3D是当前非常流行的一款游戏开发引擎,它的出现极大地推动了游戏行业的创新和发展。Unity3D的核心优势在于其跨平台特性,它支持包括iOS、Android、Windows Phone、Windows、Mac、Wii...

    Unity3D iPhone(IOS)开发问题汇总与解决办法.docx

    在Unity3D中进行iPhone(iOS)开发时,可能会遇到各种问题。以下是一些常见的问题及其解决方案: 1. **初涉iPhone开发**: 如果你刚刚获得iPhone开发许可且无经验,首先需要访问苹果开发者网站,下载SDK,创建团队、...

    Unity3D iPhone(IOS)开发问题汇总与解决办法.pdf

    在使用Unity3D进行iOS iPhone开发时,开发者可能会遇到一系列的问题,这些问题涵盖了项目设置、设备兼容性、测试工具使用、性能优化等多个方面。以下是一些关键知识点的详细说明: 1. **初步准备**: - 如果你是...

    unity3d iphone游戏开发时的场景优化

    在Unity3D进行iPhone游戏开发时,场景优化是提升游戏性能、确保流畅体验的关键环节。由于移动设备的硬件限制,特别是在早期的iPhone上,未经优化的游戏可能会遇到运行效率低下、卡顿等问题。以下是对给定内容中提到...

    Unity3D游戏开发教程

    - **技术细节**:书中可能会详细介绍如何使用Unity3D与其他3D工具(如modo、Blender)配合工作,解决实际开发过程中遇到的问题。 #### 六、行业评价 - 本书受到了业界专业人士的高度评价,如: - **Warner McGee**...

    Iphone3d游戏艺术-Unity3D篇

    #### 二、Unity3D在iPhone 3D游戏开发中的应用 Unity3D是一款功能强大的跨平台游戏开发引擎,它支持多种操作系统和硬件平台,包括iOS。对于希望为iPhone开发高质量3D游戏的开发者来说,Unity3D提供了一个完整的解决...

    Unity3D从入门到精通

    Unity3D 作为一款跨平台的游戏开发引擎,可以开发出运行在网页、客户端、安卓手机、 Iphone 手机,Ipad、Xbox360、PS3、Wii 客户端的游戏。其内置的 Mono 和 ShaderLab 程序 语言体系良好的解决了多系统跨平台直接...

    让不懂编程的人爱上Unity3d游戏开发007-初识神兵-Unity3d的前世今生1

    Unity3d是一款强大的游戏开发引擎,它源自2002年丹麦哥本哈根的一次技术合作。由Nicholas Francis、Joachim Ante和David Helgason三位程序员共同创立,起初他们计划开发一款游戏,但后来意识到需要一个强大的底层...

    Unity3D游戏开发教程 PDF文档 教学文档

    1. Unity3D游戏开发:文档中提到的“Unity3D开发跨平台手机游戏”的PDF文档是一份教学指南,意味着该文档应该包含如何使用Unity3D引擎开发游戏的详细信息。Unity3D是一个强大的游戏开发平台,支持多平台发布,包括...

    Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放

    雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放,欢迎大家下载阅读,哇咔咔~~

    Unity3D教程:Unity3D游戏内的付费2

    Unity3D是一款强大的跨平台游戏开发引擎,支持创建2D和3D游戏。在这个"Unity3D教程:Unity3D游戏内的付费2"中,主要探讨了如何在Unity3D游戏中实现内购(In-App Purchase,简称IAP)功能,并且强调了带有服务端验证...

    Unity3d项目开发标准

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。其编辑器可运行在Windows、Linux...

    Unity3D开发2D游戏教程

    ### Unity3D开发2D游戏教程 #### 一、引言 随着游戏开发技术的不断进步,Unity3D因其强大的跨平台能力和丰富的功能支持而成为众多开发者的选择之一。特别是对于2D游戏而言,Unity3D提供了诸多便利工具及插件,帮助...

    Unity3D教程:制作彩色字体1

    在Unity3D中制作彩色字体是一项常见的任务,尤其对于游戏开发或互动媒体项目来说,个性化和视觉吸引力是至关重要的。这篇教程将指导你如何利用Unity3D的内置工具和脚本来创建并保存自定义的彩色字体纹理。 首先,...

Global site tag (gtag.js) - Google Analytics