当前位置: 首页 > news >正文

01新手村

1.ReplicationMode的具体含义

这玩意仍理不清,GE不复制给客户端AI意味着他们在客户端属性不变?那我要更新血条敌人怎么办

2.InitActorInfo的时机:

PS:我怎么记得AcknowledgePossession中的PlayerState就是有效的。
对玩家来说:

初始化前提:Controller,PlayerState,Character都有效。

服务器:Pawn的PossessedBy

客户端:OnRep_PlayerState中。

对NPC来说:

BeginPlay

void AAuraPlayer::PossessedBy(AController* NewController)
{
	Super::PossessedBy(NewController);
	SetupActorInfo();
}

void AAuraPlayer::OnRep_PlayerState()
{
	Super::OnRep_PlayerState();
	SetupActorInfo();
}

void AAuraPlayer::SetupActorInfo()
{
	if (AAuraPlayerState* AuraPS = GetPlayerState<AAuraPlayerState>())
	{
		AuraAttributeSet = AuraPS->GetAuraAttributeSet();
		AuraASC = Cast<UAuraAbilitySystemComponent>(AuraPS->GetAbilitySystemComponent());
		if (AuraASC)
		{
			AuraASC->InitAbilityActorInfo(GetController(),this);
		}		
	}
}

3.创建一个属性的样板代码

这玩意需要包含AbilitysystemComponent.h

#define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \
GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName)
	UPROPERTY(BlueprintReadOnly,ReplicatedUsing=OnRep_Health,Category="FirstAttribute")
	FGameplayAttributeData Health;
	UFUNCTION()
	void OnRep_Health(const FGameplayAttributeData& OldAttribute);
	ATTRIBUTE_ACCESSORS(ThisClass,Health);
	DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet,Health,COND_None,REPNOTIFY_Always);
	GAMEPLAYATTRIBUTE_REPNOTIFY(ThisClass,Health,OldAttribute);

相关文章:

  • QML布局关于【Row】和【RowLayout】有何异同
  • 游戏引擎学习第223天
  • 解读数据集成建模中的数据模型
  • 蓝桥赛前复习2:一维差分二维差分
  • 讲解贪心算法
  • 顶刊【遥感舰船目标检测】【TGRS】CM-YOLO:基于上下文调制表征学习的船舶检测方法
  • 基于 GoFrame 框架的电子邮件发送实践:优势、特色与经验分享
  • React Redux
  • Docker简介,快速入门
  • OSPF+MGRE的配置练习
  • 1.29G 雨晨 19044.5737 Windows 10 IoT 企业版 LTSC x64 极速版 VIP 7天有效开放体验
  • GPT - 多头注意力机制(Multi-Head Attention)模块
  • AI应用开发平台 和 通用自动化工作流工具 的详细对比,涵盖定义、核心功能、典型工具、适用场景及优缺点分析
  • CTF web入门之文件包含
  • SAP BDC:企业数据管理的新纪元
  • flink部署使用(flink-connector-jdbc)连接达梦数据库并写入读取数据
  • NO.85十六届蓝桥杯备战|动态规划-经典线性DP|最长上升子序列|合唱队形|最长公共子序列|编辑距离(C++)
  • FreeRTOS入门与工程实践-基于STM32F103(一)(单片机程序设计模式,FreeRTOS源码概述,内存管理,任务管理,同步互斥与通信,队列,信号量)
  • BGP分解实验·23——BGP选路原则之路由器标识
  • 最新版IDEA超详细图文安装教程(适用Mac系统)附安装包及补丁2025最新教程
  • 傅利叶提出下个十年战略,CEO顾捷:机器人要有温度,要用实际价值来定义形态
  • 外交部:印巴都表示不希望局势升级,望双方都能保持冷静克制
  • “80后”海南琼海市长傅晟,去向公布
  • 谢晖不再担任中超长春亚泰队主教练:战绩不佳主动请辞
  • 巴基斯坦宣布关闭全国空域48小时
  • AI世界的年轻人|横跨教育与产业,他说攻克前沿问题是研究者的使命