UE4 可交互小物件

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

 

可交互物品基类:BP_AmbientPhysicalActor

           

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

 

在构造函数中:

(1)设置StaticMesh

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

(3)设置Sound

(4)设置动态材质

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

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

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

在Hit回调中:

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

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

Break方法:

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

HitByTrace方法:

直接调用了Break方法 

 

 

1 纸杯

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

在StaticMesh中

在PM_PhysicalObjects中的参数

 

2 书本

 

 

3 铁棍

 

 

4 易拉罐

 

5 酒瓶

 

 

6  鞋子

 

 

7 布料

 

 

8  水桶

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

 

9 自行车

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

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

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

 

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部