ue4c++日记3(碰撞报告碰撞位置|力和扭矩)

目录

代码速查

根据世界方向/局部方向移动

 根据世界方向/局部方向旋转

加力加扭矩 

1碰撞并报告碰撞位置 

         两个设为阻挡才会阻挡,其中一个是重叠就会重叠

2例子:旋转前进!/原地踏步?

3增加力和扭矩

1.头文件

2.cpp文件 

3.放模型

4.模拟物理


代码速查

根据世界方向/局部方向移动


AddActorWorldOffset(Initial_Direction, true, &HitResult);//FVector|是否开启扫描|扫描结果

AddActorLocalOffset(Initial_Direction, true, &HitResult);

 根据世界方向/局部方向旋转

AddActorWorldRotation

AddActorLocalRotation

加力加扭矩 

	StaticMesh->AddForce(InitialForce);
	StaticMesh->AddTorque(InitialTorque);

 输出碰撞坐标

		UE_LOG(LogTemp, Warning, TEXT("@@f Hit@:x=%f,y=%f,z=%f"),HitResult.Location.X, HitResult.Location.Y, HitResult.Location.Z);
		UE_LOG(LogTemp, Warning, TEXT("@@s Hit@:x=%s,y=%s,z=%s"),*FString::SanitizeFloat(HitResult.Location.X), *FString::SanitizeFloat(HitResult.Location.Y),* FString::SanitizeFloat(HitResult.Location.Z));

碰撞并报告碰撞位置 

以下

%f写法数值更详细

	FHitResult HitResult;//声明变量
	AddActorLocalOffset(Initial_Direction, true, &HitResult);//添加对象移动/移动式是否开启扫描/扫描(碰撞)结果

	if (HitResult.bBlockingHit) {
		UE_LOG(LogTemp, Warning, TEXT("@@f Hit@:x=%f,y=%f,z=%f"),HitResult.Location.X, HitResult.Location.Y, HitResult.Location.Z);
	}
	if (HitResult.bBlockingHit) {
		UE_LOG(LogTemp, Warning, TEXT("@@s Hit@:x=%s,y=%s,z=%s"),*FString::SanitizeFloat(HitResult.Location.X), *FString::SanitizeFloat(HitResult.Location.Y),* FString::SanitizeFloat(HitResult.Location.Z));
	}

  结果

 

 两个设为阻挡才会阻挡,其中一个是重叠就会重叠

例子:旋转前进!/原地踏步?

使用世界坐标-前进+旋转操作,对象将会旋转前进;

但是,

使用对象坐标-前进+旋转操作,对象将头旋转着朝尾巴前进,原地踏步。

增加力和扭矩

力是直线方向的力,扭矩是绕某几个轴旋转所施加的力。

1.头文件

公有

	/// <summary>
	/// 力和扭矩
	/// </summary>
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyValues")
		FVector InitialForce;//力
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyValues")
		FVector InitialTorque;//扭矩

2.cpp文件 

头文件


#include "Components/StaticMeshComponent.h"

构造函数初始化

	InitialForce = FVector(0);
	InitialTorque = FVector(0);

BeginPlay 

	StaticMesh->AddForce(InitialForce);
	StaticMesh->AddTorque(InitialTorque);

3.放模型

 不放模型用不了模拟物理

4.模拟物理

猜你喜欢

转载自blog.csdn.net/weixin_56537692/article/details/128718893