Raycast하고 레이어 부분 궁금한거 질문드려요
충돌체크 성능 부하 관련 야기하다가 레이어로 넘어가셨는데 레이어 쓰는게 성능 때문에 쓰는건가요?
아님 그냥 충돌 개체 그룹화 때문에 쓰는건가요?
레이어로 구분 해놔도 어차피 collider 있으면 충돌 체크는 일단 다 하고 처리만 레이어로 해놓은거만 되는거 같아서요
Answer 4
1
아 그렇군요.
<레이어가 배열로 개체 주소를 갖고 있는> 형태는 아니고,
거꾸로 <개체마다 자신의 Layer 리스트를 bitFlag로 들고 있는 형태>입니다.
따라서 Raycast할 때 우리가 원하는 layer 목록을 bitFlag로 넘겨주면,
Unity 엔진에서 일단 주변 오브젝트 후보군들을 추려서
지정된 레이어가 아닌 애들은 충돌 테스트를 아예 하지도 않고,
바로 쿨하게 Skip하게 됩니다.
0
충돌체크를 다하고 레이어단에 하겠다는게 아니라 레이어 구분해도 내부적으로 돌아가는게 그렇게 돌아가는 것이 아닌가 해서 질문드린건데
레이어가 따로 배열 같은걸로 개체 주소 가지고 있으면서 충돌을 배열만 도는 형태인건가요?
0
안녕하세요,
레이어를 사용하는 가장 큰 목적은 성능입니다.
[충돌 체크를 일단 다 하고 컨텐츠 단에서 레이어로 구분]하면 어떨까 의문을 주셨는데
사실 이 충돌 체크를 다 하는 부분이 매우 부하가 심할 수 있습니다.
그나마 실린더나 구형 모양의 collider는 양호한 편이지만,
mesh collider의 경우 충돌 자체를 계산하는데 많은 연산이 필요합니다.
게다가 raycast할 때 가장 먼저 앞에서 충돌한 collider를 뽑아오는 경우가 많은데,
layer로 구분을 해놓지 않으면 현재 raycast에서 충돌하고 싶지 않은 엉뚱한 애가 걸릴 수 있습니다.
감사합니다.
UI 기능 관련 질문이 있습니다!
0
24
2
픽셀 좌표 스크린 좌표
0
26
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
67
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
79
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
81
1
Input 적용과 관련하여 질문 있습니다.
0
72
1
디버그 불가.. Unity에 연결 불가
0
76
1
달리기 애니메이션 에러
0
85
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
63
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
104
1
재귀호출? 오류나는데 왜 이래요 ?
0
167
6
Animation blending 파라미터 계산
0
65
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
94
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
85
2
질문있습니다
0
142
2
아 이거 소스코드 같은거 없나요?
0
140
3
질문 드립니다. string.IsNullOrEmpty(name)
0
85
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
133
2
유니티6 NavMesh 안되는분들
1
174
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
524
1
GetComponent<Poolable> 질문드립니다.
0
99
2
UI 불러오지 못함
0
116
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
152
2

