当前位置: 首页 > 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);

http://www.dtcms.com/a/130876.html

相关文章:

  • 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最新教程
  • 首批 | 云轴科技ZStack通过电子标准院云上部署DeepSeek验证测试
  • Tkinter高级布局与窗口管理
  • Node.js中util模块详解
  • 【golang/jsonrpc】go-ethereum中json rpc初步使用(websocket版本)
  • vue3使用keep-alive缓存组件与踩坑日记
  • [实战] 二分查找与哈希表查找:原理、对比与C语言实现(附完整C代码)
  • PostgreSQL 实例运行状态全面检查
  • 考研数据结构精讲:数组与特殊矩阵的压缩存储技巧(包含真题及解析)
  • 大数据面试问答-Hadoop/Hive/HDFS/Yarn
  • 基于SpringBoot汽车零件商城系统设计和实现(源码+文档+部署讲解)