该项目很有意思,每个小物品都做的很真,在游戏里和现实中给人的感觉一样

 

可交互物品基类:BP_AmbientPhysicalActor

UE4 可交互小物件           

该Actor下有一个StaticMesh和AudioComponent,配置的参数:

 UE4 可交互小物件

在构造函数中:

(1)设置StaticMesh

(2) 勾选Syncronize OverNet,开启网络复制

UE4 可交互小物件

(3)设置Sound

(4)设置动态材质

UE4 可交互小物件

UE4 可交互小物件

(5)根据bool判断是否随机着色

UE4 可交互小物件

如果是,对动态材质参数TintColor和UV_Paning和TintIntensity设置随机变量,如果否,则设置为默认参数变量

UE4 可交互小物件

在PlayCollisionSound函数中(规定基于物体速度播放声音的时间和声音)

UE4 可交互小物件

在Hit回调中:

它这里调用的Hit,不是StaticMesh的On Component Hit,而是Collision的Hit回调

UE4 可交互小物件

保存了HitLocation等信息,如果Mesh速度大于可破碎速度,就调用Break方法,如果速度大于最小声音的速度,就调用PlayCollisionSound方法

Break方法:

如果没有DestructibleComponent,添加一个DestructibleComponent,设置位置旋转信息,Mesh,Material,然后在对DestructibleComponent进行ApplyDamage之前先Destroy StaticMeshComponent,再让其破碎,最后销毁,销毁这里不是用的Destroy,而是SetLifeSpan

UE4 可交互小物件

HitByTrace方法:

直接调用了Break方法 

 

 

1 纸杯

UE4 可交互小物件

子类叫BP_obj_Generic_Plastic继承于基类,构造函数配置参数如下

UE4 可交互小物件

UE4 可交互小物件

在StaticMesh中

UE4 可交互小物件

在PM_PhysicalObjects中的参数

UE4 可交互小物件

 

2 书本

 UE4 可交互小物件

 

3 铁棍

 UE4 可交互小物件

 

4 易拉罐

UE4 可交互小物件

 

5 酒瓶

 UE4 可交互小物件

 

6  鞋子

 UE4 可交互小物件

 

7 布料

 UE4 可交互小物件

 

8  水桶

UE4 可交互小物件

在水桶类中除了水桶mesh,还有提手的StaticMesh1,为了让提手和水桶有拉着的效果,多加了Physics Constraint Component,将水桶mesh和提手mesh束缚起来

UE4 可交互小物件

UE4 可交互小物件

 

9 自行车

UE4 可交互小物件

在该类中,Wheel1Constrain是Physics Constraint Component,负责把后轮Wheel1和车身StaticMeshComponent链接起来,

UE4 可交互小物件

Wheel2Constrain也是Physics Constraint Component,负责把前轮Wheel2和车前把Handle链接起来,

UE4 可交互小物件

后面几个Physics Constraint Component是将两个脚踏板和铁杆相连,铁杆和车身相连,这样在游戏中才能看到车子倒地,车踏板还在车子上转动效果

UE4 可交互小物件

 

最后在游戏场景中将各种小物件放在一起,效果就和现实世界的感觉一样

UE4 可交互小物件

相关文章:

  • 2021-08-23
  • 2021-07-05
  • 2021-05-08
  • 2021-08-11
  • 2021-12-12
  • 2021-11-08
  • 2022-01-08
猜你喜欢
  • 2021-07-16
  • 2021-08-26
  • 2022-12-23
  • 2021-12-05
  • 2021-12-13
相关资源
相似解决方案