유니티 실행단계 중 OnEnable 에서 박스캐스트를 두개 쓰는 상황입니다.


하나의 박스캐스트(hitTest_1)는 정상 동작하는데, 다른 하나의 박스캐스트(hitTest_2)는 문제가 있습니다.

벡터 변수 (Debug.Log로 X,Y,Z값 확인 완료)를 박스의 위치로 하여도 0,0,0으로 되어버립니다.

그 외의 사항(박스의 크기, 방향, 길이 등)은 문제 없이 들어가고요.


// 정상 작동

hitTest_1 = Physics.BoxCast

            (boxcastBoxPosition_1, 

            boxcastBoxSize_1 / 2, 

            transform.up,

            out hit_1, transform.rotation, 1000f,);


// 오작동. (boxcastBoxPosition_2의 값과 상관없이 0,0,0을 박스 위치로 함)

hitTest_2 = Physics.BoxCast

            (boxcastBoxPosition_2,

            boxcastBoxSize_2 / 2,

            transform.up,

            out hit_2, transform.rotation, 1000f);


여기서 hitTest_1과 hitTest_2의 줄 순서를 바꿔도,

hitTest_2 의 boxcastBoxPosition_2 를 boxcastBoxPosition_1으로 하여도 동일합니다.

(두 Vector값 모두 Debug.Log() 로는 올바르게 나옵니다.)


이 현상의 원인은 무엇일까요?

유니티 엔진 자체의 문제? 코드 내 다른 부분의 문제? 박스캐스트 함수 자체의 문제?

비슷한 사례를 찾지 못하여 여기에 적어봅니다. 원인을 모르겠습니다.