芊芊551 发表于 2020-12-12 12:30

我的做法是spawn的时候判断是不是host,如果是host我给他创建一个brain不是的话brain就是null。brain由gameobject负责tick,进行逻辑计算。brain会对gameobject操作,而这些操作除了对本身的gameobject起作用也会通过unet同步给其他客户端。而gameobject的回调比如动画事件通过我自己写的eventsystem调用brain相应注册的方法,而这些事件注册是在brain创建的时候注册的,当然如果是没有brain的gameobject这些消息发出来是没人接受。这样写你就不用精分了。

海田1 发表于 2020-12-12 12:38

根本没有这个必要。前后台本来目的差别很大。非要强行弄成通用的,有点舍近求远的感觉。

123456819 发表于 2020-12-12 12:42

我也在找这样的东西,Unity应该把它的代码做成多种编程语言的包,可以嵌入别的服务器。
如果用第三方物理引擎自己写刚体组件,2d的大概可以用box2d,3d的不清楚。
如果物理算法也自己写,不用担心浮点数误差,我就是自己写物理算法,服务器用Java,客户端用C#,甚至服务器用的double类型计算,客户端用的float类型计算,还没来得及改成一致的,都没见过因为误差导致前后端结果不一致,前后端计算结果不一致都是因为程序bug导致计算的过程不一样而产生的。
页: 1 [2]
查看完整版本: unity如何写出前后端通用的代码?