ue4 加载材质_UE4 大世界场景中的动态物体管理方式

本文探讨了UE4中大世界场景下的动态物体管理,包括同步输入和同步状态两种方式,以及LevelStreaming技术在场景加载和卸载中的应用。文章指出,对于LevelStreaming引起的问题,如物体状态恢复,需要额外的管理机制。作者对UE4引擎在物体状态序列化方面的不足提出了疑问,并表示将深入研究。
摘要由CSDN通过智能技术生成

距离上次写东西大概有差不多半年多了,一直没有时间写(这篇文章已经在草稿箱半个月了,主要还是自己懒 。。。),今天刚好有点空闲时间,加上最近一段时间踩了 LevelStreaming 的坑,所以打算总结一下自己之前搞的一套大世界场景下动态物体的管理方式,顺带过一下动态物体的同步方式。

游戏中的动态物体

游戏中一般会有各种各样可见的Object,比如墙、石头、载具、路牌等等。

  1. 从游戏玩法角度来看,这些物体可以分为可交互的和不可交互的,比如在绝地求生游戏中,可以与玩家驾驶的载具进行碰撞的木栅栏、玩家死亡后留下的盒子等等。
  2. 从游戏表现的角度来看,可以分为需要同步的和不需要同步的,例如绝地求生中的木栅栏,它本身和游戏玩法无关,不同客户端上可以允许存在不同的表现,你的小伙伴开车撞烂了一个木栅栏,你的机器上这个木栅栏是否被撞坏完全不重要。

动态物体的同步方式

1.同步输入

UE4中刚体的碰撞一般走PhysX流程,可以通过NotifyHit事件捕捉到碰撞信息(例如法线、碰撞点、冲量等),若想在PhysX底层进行碰撞的处理,比如修改弹性系数、物理材质、甚至是过滤碰撞等,需要使用PhysX的contactModifier接口,这里就不详细讨论了。为了减小模拟物理带来的开销,也可以通过施加Impulse的方式来模拟碰撞。

同步输入指的是每次物体受到玩家或者其他物体的输入,比如位移,碰撞等。DS(Dedicated Server) 需要下发该消息到每个客户端,其他客户端再进行表现,碰撞判定可以在DS上进行也可以下放到Local Client。同步输入有一个优点就是流量比较小&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值