一行代码省流:SystemAPI.GetSingleton<GhostRelevancy>() 当你需要按照区域、距离或者场景对Ghost进行筛选的时候,NetcodeforEntities里并没有类似FishNet那样方便的过滤方式,需要获取一个过滤专用的组件:GhostRelevancy。这个结构的内容不多,但功能很强大,但用起来很累,但概念其实挺简单的:在服务器端设置Ghost的GhostId和客户端NetworkId的关联性。有关联就发送,或者有关联就不发送。 在1.2.3版本,它里面只有三个field: GhostRelevancyMode:设置关联性的模式,默认是Di...

  VzZBtB0KXYfE   2024年08月07日   58   0   0 游戏开发

一句话省流:很麻烦也很抽象,能用内置支持的类型就尽量用。 首先看文档。官方文档里一开头就列出了所有内置的支持的类型:GhostTypeTemplates其中Entity类型需要特别注意一下:在同步这个类型的时候,如果是刚刚Instantiate的Ghost(也就是GhostId尚未生效,上一篇文章里说过这个问题),那么客户端收到的Entity值会是Entity.Null。之后就算GhostId同步过来了也不会再刷新。可以说有用,但不那么好用。另外实测除了float2/float3/float4以外,double2/double3/double4也是支持的。 对于其他类型想要让[GhostFie...

  VzZBtB0KXYfE   2024年08月07日   55   0   0 游戏开发

在什么时候更新? 在其他用户代码都执行完之后。 去Netcode的ClientServerBootstrap里可以找到CreateLocalWorld函数,里面有类似这样的代码: publicstaticWorldCreateLocalWorld(stringdefaultWorldName="DefaultWorld") { varworld=newWorld(defaultWorldName,WorldFlags.Game); varsystems=DefaultWorldInitialization.GetAllSystems(WorldSystemFilterFlags.Defaul...

  VzZBtB0KXYfE   2024年08月07日   47   0   0 游戏开发

当你在代码里使用Package库的API的时候,比如Addressable和Unity.Entities等等,以VisualStudio为例,鼠标放到API上,会发现不显示注释: 然而按F12访问源代码,会发现代码里面是有注释的,而且Unity自己的包注释会非常的详细(Unity的API文档就是直接从这些注释生成的): 本质原因是Unity在编译这些Package的时候,没有生成XML注释文档,导致IDE找不到注释。而VS的Unity插件也没有智能到自动把注释定向到源文件那边去。 解决方法也不复杂。以Unity.Entities为例,首先建立一个文件夹,就叫Unity.Entities好了。然...

  VzZBtB0KXYfE   2024年08月07日   64   0   0 游戏开发
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~