Answers for "raycast2d unity"

2

raycast2d

RaycastHit2D hit = Physics2D.Raycast(origin, direction, distance, layerMask, minDepth, maxDepth);
Posted by: Guest on February-09-2021
9

unity raycast 2d

using UnityEngine;public class Example : MonoBehaviour
{
    // Float a rigidbody object a set distance above a surface.    public float floatHeight;     // Desired floating height.
    public float liftForce;       // Force to apply when lifting the rigidbody.
    public float damping;         // Force reduction proportional to speed (reduces bouncing).    Rigidbody2D rb2D;
    void Start()
    {
        rb2D = GetComponent<Rigidbody2D>();
    }    void FixedUpdate()
    {
        // Cast a ray straight down.
        RaycastHit2D hit = Physics2D.Raycast(transform.position, -Vector2.up);        // If it hits something...
        if (hit.collider != null)
        {
            // Calculate the distance from the surface and the "error" relative
            // to the floating height.
            float distance = Mathf.Abs(hit.point.y - transform.position.y);
            float heightError = floatHeight - distance;            // The force is proportional to the height error, but we remove a part of it
            // according to the object's speed.
            float force = liftForce * heightError - rb2D.velocity.y * damping;            // Apply the force to the rigidbody.
            rb2D.AddForce(Vector3.up * force);
        }
    }
}
Posted by: Guest on April-21-2020
1

raycasthit2d unity

RaycastHit2D hit = Physics2D.Raycast(transform.position, -Vector2.up);
Posted by: Guest on February-15-2021

Browse Popular Code Answers by Language