raycast2d
RaycastHit2D hit = Physics2D.Raycast(origin, direction, distance, layerMask, minDepth, maxDepth);
raycast2d
RaycastHit2D hit = Physics2D.Raycast(origin, direction, distance, layerMask, minDepth, maxDepth);
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);
}
}
}
raycasthit2d unity
RaycastHit2D hit = Physics2D.Raycast(transform.position, -Vector2.up);
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us