本章主要讲解PSoftBody插件。本款插件和JellySprite插件有所不同,首先它形变是改变物体的MeshFilter组件中的Mesh坐标,他形变的方式稍微有些困难,目前我只发现通过射线和碰撞体之间碰撞产生形变,它主要有一个脚本组件PSoftBody,样式如下图,添加后物体中间会出现形变的球体,
此处分享三个相关插件下载地址:https://download.csdn.net/download/cgexplorer/10637103
这里在将插件导入到unity2017.4的时候很顺利,直接看目录结构
PSoftBody:最顶级文件夹
ExampleScenes:插件样例文件,里面有两个案例CarWheelDeformation、ProjectileImpacts
Graphics:只是一个脚本图标,不必在意
Scripts:只存在一个脚本,主要由储存物体正常mesh坐标的结构体和更好复原物体的公共方法组成
PSoftBody:一个脚本,主要用来让物体发生形变
rendme:求着让我读它,就是个说明说了,但是里面介绍的有些粗略
3、因为这个插件本人目前只是理解了插件案例二的功能用途,没发现其他用途,所以主要按照ProjectileImpacts场景讲解,
1、此处主要讲解PSoftBody脚本写的部分数值以及所产生的影响效果,这也是这个插件的主要脚本
min soft Velocity 最小软速度 数值越小发生形变需要的加速度越小
Impact Scale 冲击尺度 横切面形变尺度
Force Multiplier 倍增器 纵向形变深度
Recalculate Normals 重新计算法线 碰撞后法线贴图会发生改变
Better Recalculate Normal 更好地重新计算正常值 计算的更加平滑
Smoothing Angle 平滑角 形变平滑度
Deform On Collision 碰撞变形
Dynamic Mesh Collision 动态网格碰撞 形变会看起来更加流畅
use Collider mass 使用Collider质量
use collider scale 使用对撞机秤
use collision normal 使用碰撞法线
use collision stay 使用碰撞停留
check collider is this object 检查对撞器是这个对象
2、上面虽然说了所有属性的意思,但是有些没有尝试,所以具体效果并不了解
1、这里大家先看以下截图
先介绍这五个方法
1、PsoftCalculate:此方法主要用在碰撞发生形变的情况
2、ResetMesh:此方法主要替换meshfilter
3、LerpTowardsOriginal:此方法主要在一定时间内更新meshfilter
4、RandomImpact:此方法主要将物体瞬间按照要求塌陷
impactForce:冲击力 impactScale:冲击尺度 inverseImpacts 是否反方向冲击(向外还是向内,默认设置向 内)
5、DeformAtPoint:
worldPoint 撞击物体表面的位置 impactNormal 撞击空间的位置:为了求形变方向
impactForce 冲击力· impactScale 冲击尺度 inverseImpacts 是否反方向冲击 custForceMult 形变时间
个人感觉此插件并不是很难,可能个人还没有钻研透彻,如果有新的发现多多交流。