UE4物体位置同步源码分析

本文分析了UE4游戏中物体位置同步的实现,主要涉及核心函数、整体流程及代码细节。同步依赖于属性更新,如ReplicatedMovement和AttachmentReplication。在满足特定条件时进行位置同步,如bReplicateMovement为真。文章提到了物理同步和无物理同步的情况,以及Actor生成时缩放同步的问题,建议在SpawnActor时谨慎处理缩放以避免位置偏差。
摘要由CSDN通过智能技术生成

UE4物体位置同步源码分析


前言


  • 多图, 不想在源代码写注释, 不想贴代码块, 看的不清楚
  • 版本4.21 , 不是源码版

核心函数


/** Returns the properties used for network replication */
virtual void AActor::GetLifetimeReplicatedProps( TArray< FLifetimeProperty > & OutLifetimeProps ) const

// 在属性同步前调用的一个函数, 这里生成需要同步的位置信息, 并重写是否需要位置同步
/**
 * Called on the actor right before replication occurs. 
 * Only called on Server, and for autonomous proxies if recording a Client Replay.
 */
virtual void AActor::PreReplication( IRepChangedPropertyTracker & ChangedPropertyTracker )


// 生成物体同步信息的函数
/** Fills ReplicatedMovement property */
virtual void GatherCurrentMovement();

// 位置同步的结构体信息
/** Used for replication of our RootComponent's position and velocity */
UPROPERTY(EditDefaultsOnly, ReplicatedUsing=OnRep_ReplicatedMovement, Category=Replication, Advanced
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值