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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

代码速查

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

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

加力加扭矩 

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.模拟物理

 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: c++