안녕하세요


유니티 초짜입니다.


2D 게임을 만들고 있는데요.


수직방향으로 일정 거리만큼 레이를 쏴서, 바닥을 검사하고싶은데


레이 방향이 자꾸만 이상하게 나옵니다.


코드는 아래와 같습니다.


한시간째 헤딩중인데 머리가 너무 아픕니다. ㅠㅠ 도와주세요.



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
50
51
52
53
54
55
56
57
58
public class GroundManager2D : MonoBehaviour
    {
        #region FieldVariables
        private GameObject    Actor;
        private GameObject    Father;
        private Ray2D         Ray2d;       
        private RaycastHit2D  RayHit2D;
        [SerializeField]
        private LayerMask     GroundLayer;
        [SerializeField]
        private float         RayDistance;
        #endregion
 
        #region MainFunctions
        void Initialize()
        {
            Actor       = this.gameObject;
            Father      = Actor.transform.parent.gameObject;
            Ray2d       = new Ray2D(Actor.transform.position, -Actor.transform.up);
            RayHit2D    = Physics2D.Raycast(Ray2d.origin, Ray2d.direction, RayDistance, GroundLayer);
            RayDistance = 1.0f;
        }
 
        IEnumerator RayChecker()
        {
            WaitForSeconds WFSec = new WaitForSeconds(0.2f);
 
            while(true)
            {
                GroundChanger();
 
                yield return WFSec;
            }
        }
 
        void GroundChanger()
        {
            if (Physics2D.Raycast(Ray2d.origin, Ray2d.direction, RayDistance, GroundLayer) == true)
            {
                Father.transform.parent = RayHit2D.collider.gameObject.transform;
            }
        }
        #endregion
 
        // 확인용.
        void OnDrawGizmos()
        {
            Gizmos.color = Color.red;
            Gizmos.DrawLine(Actor.transform.position, Actor.transform.up);
        }
 
        void Awake()
        {
            Initialize();
 
            StartCoroutine(RayChecker());
        }
    }
cs

viewimage.php?id=2abcdd23dad63db0&no=29bcc427bd8477a16fb3dab004c86b6f858e30ebd71dc5042edb37256706ea36f1a682a5171b4074e8aeef1842e24b2a1d3b822432ab25b8d63ed62f30d4