Creativeeart

Луч в 4 стороны от куба

Sep 24th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.50 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Crate : MonoBehaviour {
  6.     public float distanceRay = 10f;
  7.     // Use this for initialization
  8.     void Start () {
  9.        
  10.     }
  11.    
  12.     // Update is called once per frame
  13.     void Update () {
  14.         Vector3 forward = transform.TransformDirection(Vector3.forward) * distanceRay;
  15.         Vector3 back = transform.TransformDirection(Vector3.back) * distanceRay;
  16.         Vector3 left = transform.TransformDirection(Vector3.left) * distanceRay;
  17.         Vector3 right = transform.TransformDirection(Vector3.right) * distanceRay;
  18.  
  19.         Vector3 posForward = new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z + 1f);
  20.         Vector3 posBack = new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z - 1f);
  21.         Vector3 posLeft = new Vector3(transform.position.x - 1, transform.position.y + 1f, transform.position.z);
  22.         Vector3 posRight = new Vector3(transform.position.x + 1, transform.position.y + 1f, transform.position.z);
  23.  
  24.         Debug.DrawRay(posForward, forward, Color.yellow);
  25.         Debug.DrawRay(posBack, back, Color.red);
  26.         Debug.DrawRay(posLeft, left, Color.blue);
  27.         Debug.DrawRay(posRight, right, Color.green);
  28.  
  29.         RaycastHit hitForward;
  30.         if (Physics.Raycast(posForward, forward, out hitForward, distanceRay))
  31.         {
  32.             if (hitForward.transform.tag == "Crate")
  33.             {
  34.                 Debug.Log(transform.name + "-> RayCast Forward (Yellow) -> " + hitForward.transform.name);
  35.             }
  36.         }
  37.         RaycastHit hitBack;
  38.         if (Physics.Raycast(posBack, back, out hitBack, distanceRay))
  39.         {
  40.             if (hitBack.transform.tag == "Crate")
  41.             {
  42.                 Debug.Log(transform.name + "-> RayCast Back (Red) -> " + hitBack.transform.name);
  43.             }
  44.         }
  45.         RaycastHit hitLeft;
  46.         if (Physics.Raycast(posLeft, left, out hitLeft, distanceRay))
  47.         {
  48.             if (hitLeft.transform.tag == "Crate")
  49.             {
  50.                 Debug.Log(transform.name + "-> RayCast Left (Blue) -> " + hitLeft.transform.name);
  51.             }
  52.         }
  53.         RaycastHit hitRight;
  54.         if (Physics.Raycast(posRight, right, out hitRight, distanceRay))
  55.         {
  56.             if (hitRight.transform.tag == "Crate")
  57.             {
  58.                 Debug.Log(transform.name + "-> RayCast Right (Green) -> " + hitRight.transform.name);
  59.             }
  60.         }
  61.     }
  62. }
Add Comment
Please, Sign In to add comment