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是将两个脚踏板和铁杆相连,铁杆和车身相连,这样在游戏中才能看到车子倒地,车踏板还在车子上转动效果

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

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