
C++
文章平均质量分 74
TypantK
这个作者很懒,什么都没留下…
展开
-
【UE4】【C++】角色死亡(创建代理),死亡之后的重生
http://api.unrealengine.com/CHN/Programming/UnrealArchitecture/Delegates/主要就是在角色死亡之后 向全局广播 我死了 这个事件然后因为Controller对Tank绑定了OnDeath事件(死后就执行OnControlledTankDeath())h:(玩家控制的角色)(Tank.h)在include下面写:DECLARE_D...原创 2018-03-15 21:31:00 · 4094 阅读 · 1 评论 -
【UE4】【C++】【官方实例】实现基础第一人称视角旋转、左右前后移动,Gamemode设置DefaultPawn
1.创建C++类(人物--->Character类)2.项目设置里设置好输入3.Character.h/** Base turn rate, in deg/sec. Other scaling may affect final turn rate. */UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Camera)float ...原创 2018-04-10 21:03:16 · 79600 阅读 · 0 评论 -
【UE4】【C++】游戏中可拾取物品(捡到之后buff作用、捡完消失)
首先需要一个C++类(Actor类型就可以)(PickUpBase) 作为所有可拾取物品的根h:#include "Components/StaticMeshComponent.h" //组件#include "Components/SphereComponent.h" //可碰撞UPROPERTY(VisibleAnywhere,Category="Components")UStaticM...原创 2018-03-16 17:33:16 · 2908 阅读 · 0 评论 -
【UE4】【C++】添加UI(血条)
新加一个新的UI,加入Progress Bar创建绑定(有关血量百分比的)获得血量的百分比UFUNCTION(BlueprintPure,Category="Tank") //暴露的是纯函数-->就是没有白色线的 float GetHealthPercentage(); //返回当前血量的百分比float ATank::GetHealthPercentage() { return ...原创 2018-03-15 21:50:20 · 3108 阅读 · 0 评论 -
【UE4】【C++】PlayerController、AIController获取玩家对应的Pawn
先创建一个基本的C++类(Tank),因为要对Tank进行各种操作(移动,寻找目标)所以选择了Pawn类型PlayerController:再创建一个C++类(TankPlayerController),用以控制玩家操作的对象(Tank)创建好后在 .h文件内写声明 .cpp文件内写具体的函数由于我们要获取玩家对应的pawn(Tank),则是从游戏开始就开始获取,固需要重写BeginPl...原创 2018-03-01 21:06:19 · 10112 阅读 · 1 评论 -
【UE4】【C++】蓝图添加UI(准心……)、获得准心对准的方向(进行旋转……)
蓝图添加UI:1、创建UI2、添加Image3、添加对应的图片以及调整瞄点的位置以及瞄位(相对于图片的位置)位置(直接移动白色的❀到30,50)瞄位(设置0.5,0.5的Alignment即可将瞄点瞄到图片中心)4、在PlayerController中加入UICreate Widget(先创建出UI)--->Add to Viewport(加入到屏幕中)获得准心对准的方向:(C++)已提供的...原创 2018-03-04 02:29:07 · 3386 阅读 · 0 评论 -
【UE4】【C++】判断是否撞击到物体、从蓝图中获取组件(炮管、炮塔)、根据瞄准的方向进行(角色)旋转
先在对应的模型(炮管、枪管)前面加好Socket(FireLocation)作为生成子弹、炮弹的地方判断是会否会撞击到物体:导入头文:Kismet/GameplayStatics.hUGameplayStatics::SuggestProjectileVelocityChoose your OS:static bool SuggestProjectileVelocity( const UOb...原创 2018-03-06 18:05:37 · 2207 阅读 · 0 评论 -
【UE4】【C++】生成子弹、炮弹 (左键射出、抛物线)
创一个Projectile(碰撞体)(actor)的C++类转为蓝图BP_Projectile在蓝图中加入对应的模型(子弹(Sphere))在瞄准组件(AimingComponent)中加入以下代码UPROPERTY(EditAnywhere, Category = "Setup")TSubclassOf<AProjectile> ProjectileType; //选...原创 2018-03-06 22:42:20 · 5790 阅读 · 0 评论 -
【UE4】【C++】枚举类(对于不同状态显示不同的颜色准心)C++设置状态,蓝图设置颜色(UI颜色绑定)
官方对枚举的用法https://wiki.unrealengine.com/Enums_For_Both_C%2B%2B_and_BP写在UClass上面、#include下面UENUM()enum class EFiringState :uint8 { //EFiringState是自己定义的类型总称 uint8=unsigned int8 Reloading, ...原创 2018-03-07 23:09:57 · 1132 阅读 · 0 评论 -
【UE4】【C++】WASD添加力到组件上让整个物体移动(油门Throttle),OnHit移动事件绑定
WASD添加力到组件上让整个物体移动(油门Throttle):通过WASD传入一个值作为油门的大小,通过函数(DriveTrack)来设置力先在项目设置中Axis Mappings(想达到按的大小轻重不同,前进后退的速度不同)加创对应的组件(TankTrack履带)C++项目(StaticMeshComponent)UCLASS(ClassGroup = (Custom), meta = (Blu...原创 2018-03-08 22:53:44 · 2673 阅读 · 0 评论 -
【UE4】【C++】增加一个反向力防止物体侧滑
侧滑:即物体沿着红线移动 而不是头朝着红线移动 而我们要做到的便是将红线方向的力分解成垂直和水平方向的力,通过添加水平方向反向力(绿色)来让物件朝着垂直方向移动而要求出反向力(绿色)的大小,需要用到点积(DotProduct)(即给出一个方向向量,便可以求出待分解力在此方向上的力)eg:void UTankTrack::ApplySideForce() { auto RootComponent...原创 2018-03-12 19:45:51 · 572 阅读 · 0 评论 -
【UE4】【C++】炮弹(子弹)使用方法(创建、作用力、范围伤害及接受伤害)
创建:首先,肯定需要一个C++类(Actor就可以)(我们就叫他Projectile--弹)然后创建基于Projectile的蓝图类一个炮弹需要什么:作为炮弹的物体、射出去的粒子效果、爆炸之后的粒子效果等等h:#include "Components/StaticMeshComponent.h" //炮弹#include "Particles/ParticleSystemCompo...原创 2018-03-14 14:37:54 · 6339 阅读 · 0 评论 -
【UE4】【C++】【官方实例】代码实现创建Mesh
eg:在角色Character中创建一个Mesh,蓝图(以代码为父类)中放具体模型Character.hUPROPERTY(Category="Character",VisibleAnywhere,BlueprintReadOnly)class USkeletalMeshComponent* Mesh1P; //声明一个Mesh的SkeletalMeshComponentCharacter...原创 2018-04-12 17:37:51 · 4104 阅读 · 0 评论