Unity開發Nintendo Switch平台移植簡介


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開始機上,也是最終發布的格式。

附加鏈接

(以下鏈接均需要開發者賬號才可以訪問)

后續會寫兩篇博客講Switch平台輸入和存檔處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM