Rigidbody.velocity
时间: 2023-11-29 21:05:53 浏览: 152
在Unity开发中,Rigidbody.velocity是用来获取刚体的当前速度的属性。通常情况下,直接使用这个属性是没有问题的。然而,在某些情况下,强制改变刚体的运动状态可能不会导致Rigidbody.velocity的改变,比如使用transform.Translate()、transform.RotateAround()、rigidbody.MovePosition()、Vector3.MoveTowards()等方法。
如果想在碰撞发生时改变刚体的速度,可以通过检测碰撞事件,在OnCollisionEnter函数中获取碰撞到的物体的刚体组件,并直接修改其velocity属性来改变速度。例如,可以通过rgy.velocity = new Vector3(0, 10, 0)来将速度设置为(0, 10, 0)。
另外,还需要注意Rigidbody.drag属性,它用于模拟物体在运动时所受到的阻力。通过调整这个属性的值,可以影响刚体的速度和运动状态。
综上所述,Rigidbody.velocity是用来获取刚体的当前速度的属性,在特定情况下可能需要使用其他方法来改变刚体的速度,比如直接修改velocity属性或调整drag属性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [【Unity】Rigidbody.velocity 的陷阱](https://blog.csdn.net/qq_34247835/article/details/81023383)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [unityAPI之Rigidbody](https://blog.csdn.net/weixin_42749110/article/details/122597208)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文