ue4蓝图碰撞检测的类型_UE4_自定义相机碰撞组件

本文介绍了如何创建一个自定义的相机碰撞组件来改进UE4 SpringArm的碰撞检测,减少相机在墙角处的闪烁问题。组件采用不同的推进和后退速度,提高视觉舒适度。提供C++代码实现,并指导在蓝图中使用该组件。
摘要由CSDN通过智能技术生成

相比较UE4自带的SpringArm中的碰撞,主要特点在于前后推进速度不一样

在碰撞时 向前推进的速度较快,在离开碰撞时 向后退的速度较慢

SpringArm自带的碰撞检测

SpringArm的碰撞检测,在墙角的位置,由于频繁的碰撞和离开,导致来回的闪动

我的碰撞检测组件

推进,后退 使用不同的差值速度,避免相机频繁推拉,视觉感受上更舒适

C++ 代码部分h// TAZORN.COM 2017 ALL RIGHTS RESERVED

#pragma once

#include "CoreMinimal.h"

#include "Components/ActorComponent.h"

#include "GameFramework/SpringArmComponent.h"

#include "CameraCollisionComponentBase.generated.h"

/*

相机碰撞组件,可以被Bp继承,继续修改或复写

*/

UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))

class XLABORATORY_API UCameraCollisionComponentBase : public UActorComponent

{

GENERATED_BODY()public:

UCameraCollisionComponentBase();

// SpringArm组件的引用

USpringArmComponent* SpringComponent;

float DesiredDistance;

float CamSpringCurrLength;

float HitLength;

float CameraLerpSpeed;

float Delta;

virtual void BeginPlay() override;

virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;

U

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值