把现有Unity3d游戏向Windows Phone 8.1移植(基础)

最近在将一款现有的游戏向Windows Phone平台移植,暂时完成了一个小阶段,做一个总结。

开发环境:

  • Windows 8.1 系统及以上,愿意的话,用Windows 10 尝鲜也可以。
  • 微软账号,用于在建立Windows Phone项目时获取开发证书,免费。http://signup.live.com/
  • 微软开发账号,用于上传应用到商店, http://dev.windowsphone.com/ ,19刀永久管用。
  • Visual Studio 2013 ,如果用旗舰版,则自带 Windows Phone 8.1 的 SDK,尽量用最新的update吧。
  • Windows Phone SDK,如果用的是Express的VS2013,则需要单独下载Windows Phone 8.1 的 SDK, https://dev.windowsphone.com/en-us/downloadsdk
  • Unity ,http://unity3d.com/unity/download,尽量下载最新的稳定版本吧。
  • Windows Phone 8.1 设备,游戏相对来说更吃内存,尽量买个1G以上内存的机器,比如636,638。

基础理论:

  • Mono是一个开源的跨平台框架,其目标是实现一个开源的.NET框架,称之为Mono Runtime,开发语言主要但不只是C#。
  • Unity的底层是用C++实现的,然而嵌入了Mono Runtime做为其脚本运行引擎。
  • Unity嵌入的Mono是其定制过的,也就是说,它与官方的Mono并不是完全一致的,其当前的Mono版本是2.6,并且不开源。
  • Unity在Windows Phone 8.1上的运行时主要是Windows Runtime,和MS自己的.NET子集,以及可以兼容于这部分.NET子集的Mono。
  • 官方Mono,Unity的Mono,MS的.NET子集。这三者之间有交集,然而移植过程中主要处理的是他们的非交集部分。
  • 不能直接让Unity的Mono不加修改就跑在Windows Phone上,而可以跑在IOS/Android上,可以说是一个耻辱。

移植过程:

  1. 用Unity打开现有游戏工程,然后File -> Building&Settings -> Switch Platform,选择Windows Store下的 Phone 8.1。这个步骤后Unity会将条件编译符号改成Unity_WP_8_1
  2. 设置 Player Settings,主要是设置Manifest文件,值得注意的是编译选项。
  3. 选中 Unity C# Projects 和 Development Build,点击Build,新建一个文件夹(比如WP81),以生成VS2013可以打开的项目。
  4. 如果生成成功,那么用VS2013打开新生成的sln,继续用VS2013 Build。
  5. 如果编译成功,那么可以将生成的游戏部署到手机上进行测试。
  6. 如果能够和其他平台一样正常运行,那么就可以将游戏上传到Windows商店了。

当然了,除了第1步会很顺利(根据游戏中Assets的数量,可能要花很长时间),而取决于不同游戏,第2~6步都会有很多麻烦和困惑。本节暂不深入。

接下来会继续总结和深入过程中的具体细节。

新建了一个专门讨论Unity->WP移植的Q群:307409538,暂时不接纳围观新手,入群者必须有实际的游戏项目。

时间: 2024-10-11 10:34:25

把现有Unity3d游戏向Windows Phone 8.1移植(基础)的相关文章

Unity3D游戏开发从零单排(八) - Shader基础

提要 今天要说的是Unity3D中shader相关的一些知识.不会做非常细致的讲解(东西实在太多!- -),但是看完之后会知道shader是怎么用的. 一些术语 在shader编程中,有一些术语,有时候不明白的话容易被整懵圈,所以这里就简单提一下. Shading Shading最开始指的在素描中给物体画明暗调子,在图形学中,其实就是给Mesh上色(Mesh就是一堆三角面片,包含顶点左边,法线坐标,uv坐标之类的),wiki中说的是根据物体相对于光线的角度及其距离光源距离改变物体颜色生成phot

转载:Cocos2D-x 游戏接入 Windows 设备所需做的六件事

原文地址:http://msopentech.com/zh-hans/blog/2014/05/09/cocos2d-x-%E6%B8%B8%E6%88%8F%E6%8E%A5%E5%85%A5-windows-%E8%AE%BE%E5%A4%87%E6%89%80%E9%9C%80%E5%81%9A%E7%9A%84%E5%85%AD%E4%BB%B6%E4%BA%8B/ 发布于 2014-05-09 作者 陈 忠岳 Cocos2D-x 是一款优秀的用于移动设备游戏开发的开源 C++ 跨平台游

unity3d游戏无法部署到windows phone8手机上的解决方法

今天搞了个unity3d游戏,准备部署到自己的lumia 920上,数据线连接正常,操作正常,但是"build"以后,始终无法部署到手机上,也没有在选择的目录下生产任何相关文件. 但是提示有一个错误: Error building Player: Exception: Error: method `System.Byte[] System.IO.File::ReadAllBytes(System.String)` doesn't exist in target framework. I

[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(下)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:

Unity3D游戏开发之Lua与游戏的不解之缘终结篇:UniLua热更新完全解读

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:

Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同对应的动画就是clip,每个运动都是一段单独的动画,使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画. animation.Play("name"); animation.CrossFade("name"); 下面的是它的几个属性 Animation:默认的动画片段: Aniamtions:包含的动画片段: Play Automaticall

Unity3D游戏开发之当游戏开发遇上Excel

各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://blog.csdn.net/qinyuanpei. 今天我们的话题是Excel,作为常用的办公软件的Excel相信大家都不陌生啦.可是如果我们认为Excel只是办公软件的话,那么这就不只是天真而是Out了.事实上Excel和游戏开发有着密切的联系,不知道大家还记不记得那款利用Excel开发出来的三国杀,这可能是Excel第一次以游戏开发的身份出现在大家面前吧.我们知道在游戏开发领域有一种工作叫做策划,就像在软件开发领

Unity3D游戏开发之如何截屏的技能培训

下面我们开始今天的Unity3D技能培训. 我们学习Unity3D培训目标:让U3D初学者可以更快速的掌握U3D技术,自行制作修改素材,可以独立完成2D.3D小规模游戏及网页游戏开发. 今天我们来做点简单的东西,做个什么呢?答案就是截屏.作为一名热爱单机游戏的玩家,每次在玩游戏的同时截取游戏中比较喜欢的画面,特别是学习了Unity3D以后玩游戏的时候更多地是从一个游戏设计者的角度来看待游戏,换句话说,可能关注技术的成分更多一点吧.比如在写<Unity3D游戏开发之自由视角下的角色控制>和<

Unity3d游戏中添加移动MM支付SDK问题处理

原地址:http://www.tuicool.com/articles/I73QFb 由于移动mm的SDK将部分资源文件放在jar包中,导致Unity无法识别,提示failed to find resource file(mmiap.xml}错误 需要做以下几步操作: -- 解压mmbilling.2.3.0.jar,提取CopyrightDeclaration.xml.mmiap.xml.VERSION文件,和mmiap文件夹 -- 拷贝mmiap文件夹到Unity项目Assets/Plugi