Unity让带有Rigidbody组件的游戏对象停止运动


  • 代码如下:
[SerializeField]
private GameObjecct m_Soccer;

m_Soccer.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezeAll;//第一步,让刚体停下来(“冻结”位移、旋转)
m_Soccer.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.None;//第二步,让刚体能被后续控制做运动

//注:RigidbodyConstraints这个枚举对应刚体的某个方向上的位移或者旋转增量为零(None除外,不加限制),有时间的可以测一测

  • PS:最近又有点心得,得到另一个方法:
m_Soccer.GetComponent<Rigidbody>().velocity = Vector3.zero;//运动速度为0,自然也就不运动了,这里的velocity是一个矢量

  • 2333333,又研究出了一个方法:
void Update () {
        if (Input.GetKey(KeyCode.Q))
        {
            GetComponent<Rigidbody>().Sleep();//停止运动
        }
        else
        {
            GetComponent<Rigidbody>().WakeUp();//开始运动
        }
	}

  • 呃,好像还忘了一个,补上:
//按下Q键切换运动状态
if (Input.GetKeyDown(KeyCode.Q))
        {
            GetComponent<Rigidbody>().isKinematic = !GetComponent<Rigidbody>().isKinematic;
        }
        //isKinematic :是否遵循运动学,为true后可以自定义运动轨迹。
  • 27
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Unity中,Rigidbody组件是用来给游戏对象添加刚体的。要为一个游戏对象添加Rigidbody组件,可以通过以下步骤进行操作:选中要添加刚体游戏对象,然后点击菜单栏中的【Component】,再选择【Physics】,最后选择【Rigidbody】。这样就为该对象添加了刚体组件。\[1\] 添加了Rigidbody组件游戏对象可以在物理系统的控制下进行运动刚体可以受到外力和扭矩力的作用,使游戏对象在真实世界中进行运动。只有添加了刚体组件游戏对象才能受到重力的影响,并且可以通过脚本为其添加作用力,以及与其他游戏对象进行互动的运算。没有刚体组件游戏对象之间可以相互穿透,不会产生碰撞。\[2\] 在进行碰撞测试时,带有刚体的动态碰撞体会使用离散碰撞检测,而不带刚体的静态网格碰撞体会使用连续碰撞检测。这是为了确保碰撞检测的准确性和效率。\[3\] #### 引用[.reference_title] - *1* *3* [【Unity】11.2 刚体Rigidbody)](https://blog.csdn.net/weixin_34346099/article/details/86330729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Unity物理组件刚体Rigidbody](https://blog.csdn.net/LOVE_Me__/article/details/125851048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值