本篇文章是我学习UE4的笔记
UE4 里面的碰撞分为简单碰撞和复杂碰撞两种.
在细节面板里面搜complex 复杂就会出来.
然后启用的时候,有一个模拟物理和启动碰撞.
模拟物理顾名思义.
启动碰撞也是.不启用的话,这个东西就像幽灵一样,是可以漂浮的.
Simulate Physics 就是启用碰撞.
Enable Gravity 开启重力.
然后就是我们可以通过代码来实现相同的效果.
一个是力.一个是力矩.
力,可以实现推动的效果.
力矩可以实现旋转效果的.
下面看一段代码:
UPROPERTY(EditInstanceOnly, Category = "My Actor Properties | Physics")
FVector InitForce; //初始的力
UPROPERTY(EditInstanceOnly, Category = "My Actor Properties | Physics")
FVector InitTorque; //初始的力矩
StaticMesh->AddForce(InitForce);
StaticMesh->AddTorque(InitTorque);
StaticMesh 就是我们设置的指针.
在上几节课中,一直都没有用到.
具体的还是要看官方的文档
我用谷歌翻译了一下,是静态网格体的对象.
UStaticMeshComponent 是 UStaticMesh 子类(大概)
吐槽:英文垃圾是真的不行.
讲了一下AddFore的用法.和AddTorque的用法.学了两个新单词.
力和力矩和模拟物理是不可分割的.
AddActorLocalOffset(TickLocationOffset);
的第二个参数就是
bool bSweep 可以翻译成扫描. 你即将移动到的路径上.
起到一个遮挡的效果.
碰撞通道与击中信息
细节面板
detail
Collision 碰撞
Collision Presets 就是通道
然后选择custom
然后下面就是都看得懂的英文了.
可以设置啥材质的可以通过.啥材质的不能通过.
//FHitResult 击中物体的结构体.
FHitResult HitResult;
//&HitResult击中之后就有了自己的地址.
AddActorLocalOffset(TickLocationOffset,true,&HitResult);
如果这篇文章对你有张帮助的话,可以用你高贵的小手给我点一个免费的赞吗
相信我,你也能变成光.
如果你有任何建议,或者是发现了我的错误,欢迎评论留言指出.