欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

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

时间:2021-07-22 07:47:49|栏目:.NET代码|点击:

一:演示视频

二:代码实现

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;
        }
    }
}

也可以添加

创建物理材质

修改值就可以发生反弹碰撞了

上一篇:使用SNK密钥文件保护你的DLL和代码不被反编译教程

栏    目:.NET代码

下一篇:C#中文件名或文件路径非法字符判断方法

本文标题:Unity实现桌面反弹的示例代码

本文地址:http://www.codeinn.net/misctech/160331.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有