Unity开发Nintendo Switch平台移植简介
准备工作
??任天堂的开发者账号,可以在任天堂开发者网站查看更多信息。没有账号则无法查看Switch开发的相关文档。
??Switch开发机:SDEV或EDEV。具体使用后文介绍。
??Switch开发的SDK(需要开发者账号才可以下载)。
Switch开发机
??做过平台移植的应该知道开发机的概念。我们知道有些平台程序是无法直接安装的像PS4、XBOX和Switch等,它们和安卓等不同,要安装程序需要从商店下载或从光盘卡带中加载。我们无法把打包好的程序直接安装到这些机器上。出于调试或其他目的平台商提供开发机给开发者使用,我们可以在相应的开发机直接安装并调试我们的程序。
??Switch开发机有两种SDEV和EDEV,它们都可以用来运行我们的Switch程序。SDEV在功能上更强大,可以完成大部分的调试任务。但SDEV没有电池,电量是一个定值,可能无法完成电量相关的测试,另外SDEV体型较大无法直接使用Switch底座。EDEV外形看起来和生产环境的Switch一样,文档也说它的硬件环境更像生产的Swich,可以做最终的测试。更多详细的区别请看文档,下附链接。
??关于SDEV的网络我想特别说一些,以防踩坑。SDEV有网络接口可以接网线并同时可以连接无线网络,但有线连接和无线连接却拥有不同的用处。有线连接是一些Switch开发工具的专用数据传输接口,比如程序包的安装、SDEV的固件升级等, 和主机在同局域网内就可以数据传输,但并不提供联网服务。无线连接则用于提供具体的联网服务。主要提一下Unity的性能检测工具Profiler等连接SDEV则使用的是SDEV上的无线网络。
Switch SDK
??Nintendo Dev Interface是任天堂提供用来管理SDK和开发机的软件,主要提供SDK的下载更新和开发机的升级等功能。我们只需要下载Nintendo Dev Interface就可以完成我们的Switch的开发环境配置。我们需要注意Switch SDK版本、开发机固件版本和Unity版本上的一致,只有一致我们打包的程序才可以在开发机上运行。
??在(SDKRoot)/UnityForNintendoSwitch目录下有对应Unity版本的UnitySetup-Nintendo-Switch-Support-for-Editor的安装程序,安装完成就可以把Unity切换到Switch版本并打Switch包了。
在(SDKRoot)\UnityForNintendoSwitch\Plugins\NintendoSDKPlugin\Libraries目录下有NintendoSDKPlugin.unitypackage包,这个包提供的Switch API的Unity版本,可以使用这个包来开发Switch上特有的功能等。在(SDKRoot)/UnityForNintendoSwitch/Samples提供了一些例子供我们学习。
打包运行
??在Switch运行我们的程序前,我们要确保开发电脑与Swithc开发机连接成功,这些才可以进行数据传输。Switch开发机提供了多种方式与电脑相连接,具体可以参考关于开发机的相关文档。这里只提SDEV的网线连接,前面提到SDEV拥有网口,只要连接SDEV的网线和我们的开发电脑在同一个局域网内就可以连接。我们可以使用TargetManager工具确认连接是否成功。安装SDK时会安装TargetManager,可以在Nintendo Dev Interface或开始菜单中打开。TargetManager用于管理已经连接的开发机,提供向开发机安装程序、程序运行时log输出以及初始化开发机等功能。
??Switch打包有两(三)种格式NSP和NSPD(和NSS),由Untiy的Switch Build Settings页面中Create NSP ROM File选项决定,平时测试时可以使用NSPD格式。NSPD格式只能使用Target Manager安装。NSP则是一个真正的Switch程序包,可以安装在Switch开始机上,也是最终发布的格式。
附加链接
(以下链接均需要开发者账号才可以访问)
- Swich开发文档列表:https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/。
- Switch开发总览:https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/document.html?doc=Packages/Docs/NX-Overview/NX-Overview.html?docname=Overview,9.1节讲了SDEV和EDEV的区别。
- Guidelines:https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/document.html?doc=Packages/Docs/Guidelines/NX-Guidelines/NintendoSwitch-Guidelines.html?docname=Guidelines。这篇文档很重要,应该要通读,主要讲了Switch开发中的一些规则,如果违反了规则可能无法通过任天堂的审核。
- Switch Unity开发手册:https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/UnityForNintendoSwitchDevManual-en.html?docname=Unity%20for%20Nintendo%20Switch%20Development%20Manual
- Nintendo Dev Interface下载地址:https://developer.nintendo.com/group/development/g1kr9vj6/downloads
后续会写两篇博客讲Switch平台输入和存档处理。
原文地址:https://www.cnblogs.com/xtaieer/p/10637292.html