我是靠谱客的博主 无辜舞蹈,最近开发中收集的这篇文章主要介绍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实现桌面反弹的示例代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(113)

评论列表共有 0 条评论

立即
投稿
返回
顶部