反弹球是小时候都玩过的网页小游戏,但是很多人都不知道怎样实现,本文就来介绍一下Unity实现桌面反弹的示例代码,感兴趣的可以了解一下
一:演示视频
二:代码实现
using UnityEngine;
public class Ball : MonoBehaviour
{
private Rigidbody rigid;
private Vector3 lastDir;
public float speed = 30;
private void Awake()
{
rigid = GetComponent<Rigidbody>();
rigid.velocity = new Vector3(1, 0, 1) * speed;
}
private void LateUpdate()
{
lastDir = rigid.velocity;
}
private void OnCollisionEnter(Collision other)
{
if (other.gameObject.tag == "Wall")
{
Vector3 reflexAngle = Vector3.Reflect(lastDir, other.contacts[0].normal);
rigid.velocity = reflexAngle.normalized * lastDir.magnitude;
}
}
}
也可以添加
创建物理材质
修改值就可以发生反弹碰撞了
到此这篇关于Unity实现桌面反弹的示例代码的文章就介绍到这了,更多相关Unity 反弹内容请搜索得得之家以前的文章希望大家以后多多支持得得之家!
沃梦达教程
本文标题为:Unity实现桌面反弹的示例代码
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- Unity3D实现渐变颜色效果 2023-01-16
- c# 模拟线性回归的示例 2023-03-14
- .NET CORE DI 依赖注入 2023-09-27
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- Oracle中for循环的使用方法 2023-07-04
- user32.dll 函数说明小结 2022-12-26
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity Shader实现模糊效果 2023-04-27
- 如何使用C# 捕获进程输出 2023-03-10