Be hungry, Be foolish

Follow your own course, and let people talk..

敌人追踪和攻击

基础内容

今天做一个怪物追踪与攻击的功能 敌人追踪和攻击 敌人的自动追踪功能涉及AI的机制与功能,因此先在C++工程中的Build.cs文件中添加AIModule如下 PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore","UMG", "AIModule...

蒙太奇动画

基础内容

今天要实现的功能是按攻击键,随机播放不同攻击动画 蒙太奇动画 蒙太奇动画有个插槽,插槽是管理蒙太奇动画的,输入连接了装有蒙太奇动画的插槽就相当于可以控制蒙太奇动画播放了 蒙太奇动画制作 今天制作的蒙太奇器动画由两段构成, 先将我们所需的动画托到插槽放入插槽,但是这样动画是连续播放的; 因此右键插槽处新建一个片段Attack2,并把原来的片段命名为Attack1; 点击clear或者X...

动画状态机的嵌套

基础内容

状态机是UE4一个很好用的切换动画的工具,今天做的功能是在状态机里面再做一个状态机。 实现的功能就是装备着武器时,是一个动画; 没装备武器时,是另一个动画。 动画状态机的嵌套 先给出我们原始的状态机 这个状态机分四个部分,站立/走/跑、冲刺、跳跃、着陆 我们需要在站立/走/跑和冲刺的状态机中嵌套一个状态机,根据是否持有武器区分 其实核心内容就是这些,很简单 遇到的问题 遇到了一...

拾取武器

基础内容

今天要做的是一个玩家拾取武器并装备到身上的效果 武器item 武器从我们之前创建的item类中继承,命名为Weapon。 武器item准备 添加构造函数、触发函数和装备函数 public: AWeapon(); UPROPERTY(VisibleAnywhere, BlueprintReadOnly) USkeletalMeshComponent *Mesh; vi...

切换武器

基础内容

今天要做的是武器拾取的切换,一般游戏是拾取了武器到背包或者装备栏,目前是按E拾取武器销毁,并前面拾取的武器。 切换武器 在上次拾取武器的类Weapon上,进行一些改动,主要改动为两方面 1.对主角Man关于获取武器相关信息的改动 2.对Wdeapon的触发和离开触发相关内容的修改 对主角Man的改动准备 这里定义了一个AItem的指针,用于触发时指针指向待拾取的武器; OnInt...

HUD UI

基础内容

今天要做的是关于UI界面的一些功能,显示生命值、体力条、金币数量,并将这些UI与人物的属性连接起来,动态设置 UI设置–生命值、体力条、整体界面和金币数量 生命值 右键内容浏览器–>Edit Utilities–>Editor Widget创建UI界面–>名称为WB_Health 1)在panel面板中选取一个HorizontalBox水平框和一个ProgressBa...

拾取物品

基础内容

今天做一些物品的拾取,并加入一些简单的特效 拾取物品 拾取物品准备 物品拾取需要触发函数,这里我们也是自定义的碰撞函数 自定义的碰撞函数也是像之前一样,需要设置好参数并动态绑定 其他则是一些需要的使用的组件,球形碰撞体、静态网格体组件、特效常态组件、特效触发组件、声音组件 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category =...

浮动飞盘

基础内容

今天要实现的功能是一个飞盘的浮动,这个关卡在游戏中很常见,也很有意思。 浮动飞盘 功能需求: 制作一些飞盘,飞盘可以移动,可以把玩家送到指定位置。 浮动飞盘准备 1).h文件加入配置 加入了用于放置飞盘静态网格体,飞盘起始点和结束点,计时器函数,以及切换方向的函数 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) UStaticMeshCo...

生成Actor

基础内容

今天要做的一个功能是在指定区域内生成若干个Actor,可以用于游戏刷怪之类的。 生成Actor 生成Actor配置 BlueprintNativeEvent 需要我们做一个函数原生的实现,但是这个实现可以随时被覆盖 当在蓝图中使用时,会搜索出一个蓝图和一个事件,使用事件会覆盖函数功能,直接使用函数时有效的 TSubclassOf PawnToSpawn 创建一个ACreature的...

自动门

基础内容

今天要做的是一个机关门,踩到地上机关,门开启,且可以延时关闭 自动门 触发盒子及机关声明 UPROPERTY(EditAnywhere, BlueprintReadWrite) class UBoxComponent * TriggerBox; UPROPERTY(EditAnywhere, BlueprintReadWrite) class UStaticMeshCompone...