我正在尝试从C#程序发送我的场景类的对象,以便在Unity程序中显示它。
实现这一目标的常见方法是什么?
我提出的一个选项是WCF:Unity程序充当客户端,而另一个C#程序充当服务器。在每个帧内(即在Unity的更新功能中),Unity程序以请求/回复方式从另一个C#程序请求当前场景对象。
有更好的选择吗?是否有更多的通用方式将数据对象传递给Unity?
答案 0 :(得分:0)
我可能会在这里陈述显而易见的事实,但您是否考虑过统一应用程序在某种意义上只是一个普通的C#应用程序?
那么,如果你只有visual studio和一个空白的新项目,你通常会如何将数据输入控制台应用程序项目?
通常,这会根据您的要求而有所不同,如果您是为您的第一个游戏项目构建MMO的众多疯子之一,您将需要一些超级强大且可扩展的服务器代码,并且可能需要一些自定义二进制“bit”打包“序列化方法来处理服务器和客户端之间的压缩。
然而,如果你还没有完全失去它,那么你可能正在创造类似第一人称射击游戏(统一是为此构建的)或更简单的东西,不需要需要低ping的恒定数据流......这是您的WCF场景所在的位置。
Unity确实有一些内置的网络功能,但(这纯粹是我的意见)它真的取决于大型游戏的情况。
比方说...一个我的世界克隆,或者说有16个玩家的FPS,你可以轻松使用内置的统一网络功能,而不是你自己的领域。
这里有一些链接可以帮助你深入挖掘......
http://blog.ccoder.co.uk/?page=6
http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/