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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

Hello Bug.   2021-05-30 我要评论
想了解Unity实现桌面反弹的代码实例的相关内容吗,Hello Bug.在本文为您仔细讲解Unity 反弹的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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;
        }
    }
}

也可以添加

创建物理材质

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们