UEC++ 虚幻5第三人称射击游戏(二)
创始人
2025-01-15 14:35:56
0

UEC++ 虚幻5第三人称射击游戏(二)

派生榴弹类武器

  • 新建一个继承自Weapon的子类作为派生榴弹类武器
    在这里插入图片描述
  • Weapon类中的Fire函数添加virtual关键字变为虚函数让榴弹类继承重写
    在这里插入图片描述
  • ProjectileWeapon中重写Fire函数,新建生成投射物的模版变量
    在这里插入图片描述
  • Fire函数重写逻辑
    在这里插入图片描述
  • 代码
	//生成的投射物 	UPROPERTY(EditAnywhere,BlueprintReadOnly,Category = "ProjectileWeapon") 	TSubclassOf ProjectileClass; //-------------------------------------------------------------------------------------------------- void AProjectileWeapon::Fire() {     	AActor* MyOwner = GetOwner(); 	if (MyOwner) 	{     		FVector EyeLocation; 		FRotator EyeRotation; 		MyOwner->GetActorEyesViewPoint(EyeLocation, EyeRotation);  		FActorSpawnParameters SpawnParams; 		//设置投射物生成参数:即使生成位置有碰撞,也要强行生成投射物,不进行碰撞检测处理 		SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; 		//获取枪口位置 		FVector MuzzleLocation = SkeletalComponent->GetSocketLocation(MuzzleSocketName); 		//生成并发射投射物 		GetWorld()->SpawnActor(ProjectileClass, MuzzleLocation, EyeRotation, SpawnParams); 	} } 

派生类榴弹武器

  • 将派生的榴弹类创建蓝图,网格模型添加上去
    在这里插入图片描述
  • 将网格模型里面的插槽名字改为我们C++中定义的名字
    在这里插入图片描述
  • 创建一个Actor蓝图作为子弹,添加一个发射器与一个球体网格,发射器初始速度与最大速度设置为2000,开启抛物体反弹效果。球体网格开启物理模拟。
    在这里插入图片描述
    在这里插入图片描述
  • 将榴弹武器蓝图生成发射物暴露在蓝图中的生成物子弹加入在其中
    在这里插入图片描述
  • 在角色蓝图中将实例的武器类型换为榴弹炮武器,然后把实例的对象换为父类武器,这样就方便我们测试调用函数时的问题
    在这里插入图片描述
  • 在子弹蓝图里面添加一个爆炸事件,然后抒写逻辑
    在这里插入图片描述
  • BeginPlay处调用该逻辑事件
    在这里插入图片描述
  • 运行结果
    请添加图片描述

阻击的变焦推进效果

  • 在角色类中新建四个变量,一个用来是否开启变焦推进,一个用来表示变焦的视野范围,一个用来获取默认的视野范围,一个表示进行线性插值到新视角的速率
    在这里插入图片描述
  • 新建一个右击的操作输入
    在这里插入图片描述
  • 新建右击操作的处理函数
    在这里插入图片描述
  • 给移动的新视角和移动插值的速率赋值
    在这里插入图片描述
  • BeginPlay中获取默认视角范围
    在这里插入图片描述
  • 右击绑定函数逻辑与设置新视角线性插值范围逻辑
    在这里插入图片描述
  • 绑定输入操作
    在这里插入图片描述
  • 引擎中新建一个操作输入,然后添加到映射中
    在这里插入图片描述
    在这里插入图片描述
  • 绑定操作到角色蓝图上
    在这里插入图片描述
  • 运行结果
    请添加图片描述

创建控制台变量

  • 在武器类中新建一个静态变量作为控制控制台的变量,控制是否射击画线,新建自动管理控制台变量类
    在这里插入图片描述
  • FAutoConsoleVariableRef :用于自动管理控制台变量的一个类
FAutoConsoleVariableRef ACVRDebugWeaponDrawLine(TEXT("COOP.DebugWeapons"), DebugWeaponDrawLine,TEXT

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...