Raycastを斜め方向に出して、接触判定をつくってみましょう。
斜め45度へRaycastの線を可視化。
3倍の大きさのCubeにRaycastが触れると、Sphereも3倍のサイズになります。

関連記事:
向いている方向へRaycastを出す
左右にRaycastの接触判定をつくる
Raycastによる接地判定
Rayの始点をマイナスにする
Rayを当てた状態でキーを押せば削除
角度をつけてRaycastを出す
Sphereを作成します。

Cubeを作成し、右斜め上に配置。
サイズを3倍の大きさにします。

ゲームビューではこのように見えています。

SphereRay.csを作成し、Sphereに追加します。

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49  | 
						using System.Collections; using System.Collections.Generic; using UnityEngine; public class SphereRay : MonoBehaviour {     private float rayDistance;     void Start()     {         rayDistance = 3.0f;     }     void Update()     {         //Raycastを斜め方向へ出す         Vector3 rayPosition = transform.position + new Vector3(0, 0, 0);         Ray ray = new Ray(rayPosition, new Vector3(1, 1, 0));         Debug.DrawRay(rayPosition, ray.direction * rayDistance, Color.red);         //Rayに触れたオブジェクトと同じサイズにする         RaycastHit hit;          if (Physics.Raycast(ray, out hit, rayDistance))         {             if (hit.collider.name == "Cube")             {                 this.transform.localScale = hit.collider.gameObject.transform.localScale;             }         }         //十字キー操作         if (Input.GetKey(KeyCode.LeftArrow))         {             transform.Translate(-0.05f, 0f, 0f);         }         if (Input.GetKey(KeyCode.RightArrow))         {             transform.Translate(0.05f, 0f, 0f);         }         if (Input.GetKey(KeyCode.UpArrow))         {             transform.Translate(0f, 0f, 0.05f);         }         if (Input.GetKey(KeyCode.DownArrow))         {             transform.Translate(0f, 0f, -0.05f);         }     } }  | 
					
ゲームプレイして、シーンビューを確認します。
長さ3、斜め方向(45°)の角度でRayが表示されています。
Debug.DrawRayによって、Rayを可視化しています。
Debug.DrawRay( Rayの開始位置, Rayの向きと長さ, ラインの色, ラインの表示時間);
CubeにRayが触れると、Sphereが3倍の大きさに変わります。

関連記事:
向いている方向へRaycastを出す
左右にRaycastの接触判定をつくる
Raycastによる接地判定
Rayの始点をマイナスにする
Rayを当てた状態でキーを押せば削除