ET版本:8.0
Unity版本:2021.3.33
Net版
本:8.0
ET中 在资源加载都是使用的异步加载,如果客户端的表现要依赖资源加载后 怎么保证一致性。
例如:角色出场要从指定的地点走入到另一个地点,在逻辑层 角色的Entity会在一开始就创建出来 ,然后加载角色的资源 再做表现,在不同的客户端上有可能加载的时间不一致。那么除了资源在Loading时进行预加载外 如果使用异步加载的方式 怎么能保证在每个端上及服务器的逻辑帧 模拟一致?
加载完再根据逻辑层数据重新设置表现层即可。表现层本来就不可能完全一致
egametang 感谢老大回复 那么有个小问题
例如上面的例子流程是这样的:
创建人物Entity-> 逻辑层固定帧移动(从屏幕外到指定的点) -> 异步加载表现层->根据当时逻辑层的位置 渲染出表现层物体
基于这个例子:如果异步加载的时间不一定 那么有可能在逻辑层移动到屏幕内的时候 表现层闪现出来了 这样不太正常。
有什么好的解决思路么 ,感谢老大指教
lovepurple 那为啥一定到屏幕内才加载,你不会让他加载范围搞大些啊。如果不能搞大范围,那就进游戏前全部加载啊。如果两者都不行,表现层突然出来就突然出来,搞个过度动画嘛
预加载。
egametang 好的 多谢老大~逻辑帧一致就好了
帧同步本身就是为了保证逻辑层一致,表现层的话可以自己随意控制
volcano 好的 多谢~