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

巩义专业网站建设公司页面设计参评

巩义专业网站建设公司,页面设计参评,网页制作实训步骤,网站歌曲代码一、一点说明 动画实例通过扩展为所有机器上的每个字符都存在动画蓝图,动画实例只能访问该计算机上的变量。 二、思路 我在武器组件中有一个武器类的指针,判断当前指针是否为空去判断当前角色是否装备武器 三、实现 1.在角色C类中添加是否装备武器的函…

一、一点说明

        动画实例通过扩展为所有机器上的每个字符都存在动画蓝图,动画实例只能访问该计算机上的变量。

二、思路

        我在武器组件中有一个武器类的指针,判断当前指针是否为空去判断当前角色是否装备武器

三、实现

        1.在角色C++类中添加是否装备武器的函数,功能是判断角色是否装备武器,在角色类中添加这个函数是因为我将武器组件的类指针定义在了角色的头文件中

//H
bool IsWeaonEquipped();//CPP
bool ABlasterCharacter::IsWeaonEquipped()
{/** 判断是否有武器组件部分Combat 判断Combat->EquippedWeapon指针是否存在 */return (Combat && Combat->EquippedWeapon);
}

        2.在角色动画的C++类中添加一个变量,属性是 蓝图只读 类型是Character 允许私有访问,在更新动画的重写的虚函数中将变量赋值

//H
UPROPERTY(BlueprintReadOnly, Category = Character, meta = (AllowPrivateAccess = "true"))/** 蓝图只读 类型是Character 允许私有访问 */
bool bWeaponEquipped;//CPP
void UBlasterAnimInstance::NativeUpdateAnimation(float DeltaTime)
{Super::NativeUpdateAnimation(DeltaTime);/** add by begin 之前的代码可以不用参考 *//* 判断当前角色是否为空 为空获得当前角色当作第一帧 */if (BlasterCharacter == nullptr){BlasterCharacter = Cast<ABlasterCharacter>(TryGetPawnOwner());}if (BlasterCharacter == nullptr)return;/* 只想获得平面上xy的速度的向量,将z方向的速度置为0 */FVector Velocity = BlasterCharacter->GetVelocity();Velocity.Z = 0.f;/* 获得速度的向量 */Speed = Velocity.Size();bIsInAir = BlasterCharacter->GetCharacterMovement()->IsFalling(); /** IsFalling()判断是否在空中 GetCharacterMovement()获得人物移动 */bIsAccelerating = BlasterCharacter->GetCharacterMovement()->GetCurrentAcceleration().Size() > 0.f ? true : false;
/** add by end 之前的代码可以不用参考 *//* 获得是否装备武器 */bWeaponEquipped = BlasterCharacter->IsWeaonEquipped();
}

         3.在武器组件的类中将武器类指针属性设置为可复制,重写virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;函数注册REP变量

// H
UPROPERTY(Replicated)
AWeapon* EquippedWeapon;/** 要标记要复制的内容,我们使用 UPROPERTY 中的 Replicated 说明符。
在将某个内容标记为 Replicated 之后,我们必须定义一个名为 GetLifetimeReplicatedProps 的新函数 */
/** 返回用于网络复制的属性,这需要被所有具有本机复制属性的 actor 类覆盖 */
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;// CPP
#include "Net/UnrealNetwork.h"void UCombatComponent::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{Super::GetLifetimeReplicatedProps(OutLifetimeProps);/** 指定了具有复制变量的类 和 复制的变量是哪个  */DOREPLIFETIME(UCombatComponent, EquippedWeapon);
}

四、蓝图实现

        1.打开角色动画蓝图

        2.在空白处右键选择如图

        3. 如图

        4.如图 

        5.如图,创建新的状态机,这个状态机是装备武器后的状态的状态机

        6.如图双击状态机,如图拖拽一个动画如图

        7.编译保存,可以尝试运行

        8.当前只加入了一个动画,剩下的还没学到 

http://www.yayakq.cn/news/926783/

相关文章:

  • 网站版面布局设计的原则深圳建设监理协会网站
  • 旅游网站建设代码电子工程建设信息网站
  • 中山市城乡住房建设局网站wordpress4.9.4漏洞
  • 做一个购物网站需要什么技术企业网站的在线推广方法有
  • 泉州哪里有搭建网站的公司ie9网站后台编辑器
  • 云南昆明网站建设快速优化网站 被 抄袭
  • 新安网站开发wordpress 建站赚钱
  • 银川建立网站网站内怎么做链接
  • 网站制作属于什么行业世界500强企业排名2020
  • 网站建设基本费用网站建设设计公司排名
  • 交互式网站设计wordpress vs dedecms
  • 秦皇岛庆云网站建设用凡客建站做的网站有哪些
  • 建设公司网站的会计分录长春财经学院招生简章
  • 成都营销型网站建设公司受欢迎的郑州网站建设
  • 重庆城市建设网站网页传奇血饮龙纹攻略
  • 漯河专业做网站的公司滕州个人兼职做网站
  • 2017织梦网站怎么做seo北京今天最新新闻
  • 乐昌门户网站网站死链接怎么提交
  • 什么网站做新产品代理苏州哪里做网站好
  • php做的购物网站系统下载申请微官网的网站
  • 网站是怎么建设的wordpress 晒单
  • 如何做好营销型网站用户体验网站开发题目
  • 软件开发接单网站乐山市规划和建设局网站
  • 石家庄网站开发工程师招聘网广州正规网站建设哪家好
  • 买空间送网站秦皇岛优化网站排名
  • 做橙光游戏的网站网站分页
  • 如何做网站的伪静态页面zencart 网站老是跳转到原地址
  • 特色专业网站建设模板东莞展馆设计公司
  • 郑州制作网站费用云南省建设注册考试中心网站
  • 合肥做双语网站网站建设一般步骤是什么