刚体的速度矢量。它表示刚体位置的变化率。
在大多数情况下,不应该直接修改速度,因为这可能导致行为失真 - 改用 AddForce
请勿在每个物理步骤中设置对象的速度,这将导致不真实的物理模拟。
需要更改速度的一个典型用法是第一人称射击游戏中的跳跃动作设计,因为此时需要立即更改速度。
__注意:__.velocity 是世界空间属性。
using UnityEngine; using System.Collections;
// The velocity along the y axis is 10 units per second. If the GameObject starts at (0,0,0) then // it will reach (0,100,0) units after 10 seconds.
public class ExampleClass : MonoBehaviour { public Rigidbody rb;
private float time = 0.0f; private bool isMoving = false; private bool isJumpPressed = false;
void Start() { rb = GetComponent<Rigidbody>(); }
void Update() { isJumpPressed = Input.GetButtonDown("Jump"); }
void FixedUpdate() { if (isJumpPressed) { // the cube is going to move upwards in 10 units per second rb.velocity = new Vector3(0, 10, 0); isMoving = true; Debug.Log("jump"); }
if (isMoving) { // when the cube has moved for 10 seconds, report its position time = time + Time.fixedDeltaTime; if (time > 10.0f) { Debug.Log(gameObject.transform.position.y + " : " + time); time = 0.0f; } } } }
注意:Unity 以单位/秒衡量速度。单位通常表示米,但也可以是毫米或光年。Unity 速度还具有定义方向的 X、Y 和 Z 速度。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.