欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity实现桌面反弹的示例代码

程序员文章站 2022-03-17 17:44:06
一:演示视频二:代码实现using unityengine; public class ball : monobehaviour{ private rigidbody rigid; pr...

一:演示视频

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实现桌面反弹的示例代码的文章就介绍到这了,更多相关unity 反弹内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: Unity 反弹