EditInstanceOnly 这个字符串表示该变量制在对象实例中被编辑在蓝图中看不到。
EditInstanceOnly 这个字符串表示该变量制在对象实例中被编辑在蓝图中看不到。
411
1.在头文件中定义:
public:
UPROPERTY(EditInstanceOnly,Category="My Actor Propertys|Physics")
//声明一个力,用于物体移动
FVector InitForce;
UPROPERTY(EditInstanceOnly,Category="My Actor Propertys|Physics")
//声明一个力矩,用于物体旋转
FVector InitTorque;
UPROPERTY(EditInstanceOnly,Category="My Actor Propertys|Physics")
//声明bool变量,用于对物体施加力或力矩时是否忽略物体质量的影响
bool bAccelChange;
2.在源文件中初始化:
InitForce=FVector(0.0f);
InitTorque=FVector(0.0f);
bAccelChange=false;
3.在源文件中包含头文件:
//可以通过复制UStaticMesh到官方文档中进行查找
#include "Components/StaticMeshComponent.h"
3.在BeginPlay函数中添加:
//物体生成时,施加一次力和力矩
MyStaticMesh->AddForce(InitForce);
MyStaticMesh->AddTorque(InitForce);
4.修改BeginPlay函数:
//修改了bAccelChange为true,忽略物体质量的影响
MyStaticMesh->AddForce(InitForce,"NAME_None",bAccelChange);
MyStaticMesh->AddTorque(InitForce,"NAME_None",bAccelChange);
力同Unity一样 是FVector类,添加力AddForce函数,参数(FVector,FName BoneName = NAME_None,bool bAccelChange = false),无法跳过其中的某一个参数,第三个参数设置是否忽略质量。添加力矩AddTorque函数,参数同为FVector.