同萌新刚开始学,看完课程,我也很想弄懂Unit的这个问题,谈谈我的理解。
我主要想弄明白的问题是Unit和Entity的区别,什么样的实体需要创建成Unit?(怪物、NPC、角色?或者说会动的东西创建成Unit?)服务器中那些不会动的东西是不是创建成Entity就可以了?比如课程中的Computer是不是能设为Unit?
我的想法是:首先,会动的东西要生成为Unit,因为Unit自带了Vector3的Position属性,而且后续就是用这个属性来给GameObject同步坐标的,参见AfterUnitCreate的事件处理器AfterUnitCreate_CreateUnitView类的Run方法第15行。用课程里的话说就是逻辑层指导了显示层(而显示层的东西是不能影响逻辑层的)。所以我认为,会动的东西,例如玩家,怪物,Npc要生成为Unit。
第二,不会动的物体是否只生成为Entity就够了。暂时还不知道。不会动的物体主要指的是地形碰撞体,用来做碰撞检测以决定角色的位置。首先这些物体定义为Unit好像并没有任何问题,定义为Entity好像也没问题。所以结论应该还是楼上所说,万物皆可Unit吧。
刚学两周,也许我说的都是扯淡,但是我也想知道最终解释,盼高手回复。