|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
作者:微信文章
用Unity打造搞笑弹性球
大家好,我是一名专注于合规性系统开发的程序员。今天想和大家分享如何使用Python开发一个简单的用Unity打造搞笑弹性球。
核心机制
第一步:创建基础小球
1、在Unity中创建Sphere对象
2、添加Rigidbody组件
3、设置物理材质Bouncy Material:
Bounciness: 0.8
Friction: 0.1
第二步:实现弹性形变
publicclassBouncyBall : MonoBehaviour {
[Range(0, 2)]
publicfloat bounceForce = 1f;
voidOnCollisionEnter(Collision col){
// 获取碰撞法线
Vector3 normal = col.contacts[0].normal;
// 施加反弹力
GetComponent<Rigidbody>().AddForce(
-normal * bounceForce * 100,
ForceMode.Impulse
);
// 启动形变协程
StartCoroutine(SquashEffect());
}
IEnumerator SquashEffect(){
Vector3 originalScale = transform.localScale;
transform.localScale = new Vector3(
originalScale.x * 1.3f,
originalScale.y * 0.7f,
originalScale.z * 1.3f
);
yield returnnewWaitForSeconds(0.2f);
transform.localScale = originalScale;
}
}第三步:创建搞笑预设
模式 | 弹性系数 | 形变量 | 效果 | 橡皮泥球 | 0.2 | 0.5 | 撞击后粘在表面 | 超级弹力球 | 1.8 | 0.3 | 违反物理定律的疯狂弹跳 | 果冻球 | 0.7 | 0.4 | Q弹抖动带残影 |
第四步、高级技巧
1、添加TrailRenderer实现拖尾效果2、使用ShaderGraph制作半透明材质
(文章结束) |
|