如何在Unity编辑器中运行两个游戏窗口

8

什么是Unity编辑器中的两个游戏窗口?

如果一个人可以在编辑器内部拥有两个独立的窗口而不是只有一个,那就意味着什么:

这有什么用处?

这主要对于网络编程非常有用。当测试网络多人游戏时,通常需要等待很长时间才能创建独立的构建版本来测试和调试事件,并且在独立模式下调试错误很困难。

如果我只需点击播放按钮即可运行两个实例(一个服务器/一个客户端),我将节省大量时间。

顺便提一下,这是一个游戏窗口 https://i.gyazo.com/2aeb04f8a41f1508d262cf9a526311bc.png


你绝对不能这样做。你需要做的是:将一个版本构建为实际的桌面应用程序到你的Mac(或PC)。然后使用那个版本和“编辑器中”的版本。 - Fattie
注意,因此,任何进行多人游戏开发的人都会在他们的桌子上放置两到三台机器。这很令人沮丧,但事实就是如此。 - Fattie
"在独立设备上调试错误很困难",我可以帮你解决这个问题。你一定要仔细设置系统,以便在设备屏幕上显示开发信息等,并确保你知道如何在设备上播放时观看日志,可通过谷歌搜索了解相关方法。 - Fattie
3个回答

3
如果你想测试网络编程,同时打开多个“游戏窗口”并不能真正帮助你达到目的。如果你在电脑上有多个项目的副本,你可以打开多个Unity实例。(在每个项目中,Unity都会放置一个锁定文件,因此你不能使用相同的文件两次打开它)这样做的缺点是,如果你在一个项目中进行了更改,你必须将更改复制/重新制作到该项目的副本中。但这肯定比构建快,并且你可以连接调试器到两个Unity实例。

我尝试了一下,似乎可以工作,但我不太确定同步项目的最佳解决方案是什么,Github?https://i.gyazo.com/205b76642ebafd2e6f5602f927224dcb.gif - Isaak Eriksson
是的,任何类型的版本控制系统都可以使用(git,svn,mercurial等)。可能只需使用本地git存储库即可在没有使用github的情况下进行本地同步,这个答案可能会有所帮助 https://dev59.com/AG445IYBdhLWcg3wcJ6O - Colton White
除非您的客户端和服务器应用程序只是同一项目的两个不同副本,否则您可以使用robocopy和Unity命令行参数来自动化复制项目的过程。使用此方法,您可以消除“客户端”项目副本的版本控制分支的需求。 - user1751117
SET projectPath=%cd%..\CardGameMoba2 robocopy "..\CardGameMoba" "..\CardGameMoba2" /mir /R:0 /W:0 tasklist /nh /fi "imagename eq Unity.exe" 2>nul | find /C "Unity.exe" > deleteme.txt SET /p unityInstances=<deleteme.txt IF %unityInstances% LSS 2 ( start "Launching Unity..." "C:\Program Files\Unity\Editor\Unity.exe" -projectPath "%projectPath%" -executeMethod Shortcuts.Play) ELSE (Echo 2 Unity IDEs already running, not launching new IDE.) echo %unityInstances% DEL deleteme.txt - user1751117

2
您可以创建多个目录,并将“Assets”、“Packages”和“ProjectSettings”从源链接到您的副本。然后,所有更改都将应用于所有实例。
在Windows上:“mklink /d target source” 在Mac上:“ln -s source target”
您仍然需要在每个实例中应用一些设置(例如选择的平台)。
附注:请确保您在每个副本实例中修改唯一标识符,以便能够作为不同的用户/帐户进行操作。这只适用于编辑器,并且可以帮助切换帐户以测试不同的权限/行为。

1

Unity 资产商店上有几个非常棒的资产。例如,Dual Play 是免费的并且可以很好地完成工作!Dual play


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接