Version: 2017.3
public float distance ;

Descripción

La distancia desde el origen del rayo hasta el punto de impacto.

En el caso de un rayo, la distancia representa la magnitud del vector desde el origen del rayo hasta el punto de impacto.

En el caso de un swept volume o un sphere cast, la distancia representa la magnitud del vector desde el punto de origen al punto trasladado en el cual el volumen entra en contacto con el otro collider.

Note that RaycastHit.point represents the point in space where the collision occurs.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float moveForce = 1.0F; public float rotateTorque = 1.0F; public float hoverHeight = 4.0F; public float hoverForce = 5.0F; public float hoverDamp = 0.5F; public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); rb.drag = 0.5F; rb.angularDrag = 0.5F; } void FixedUpdate() { rb.AddForce(Input.GetAxis("Vertical") * moveForce * transform.forward); rb.AddTorque(Input.GetAxis("Horizontal") * rotateTorque * Vector3.up); RaycastHit hit; Ray downRay = new Ray(transform.position, -Vector3.up); if (Physics.Raycast(downRay, out hit)) { float hoverError = hoverHeight - hit.distance; if (hoverError > 0) { float upwardSpeed = rb.velocity.y; float lift = hoverError * hoverForce - upwardSpeed * hoverDamp; rb.AddForce(lift * Vector3.up); } } } }