inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

인벤토리 실습 #2

Sorting Layer, Mask, Canvas

341

Hyobin Kim

작성한 질문수 81

0

안녕하세요 강사님 정말 오랜만에 질문 글을 올립니다

파트 3까지 진행하고 저 혼자서 2D 슈팅 게임을 하나 만들고 있는데, 여기서 배운 몇가지를 활용하고 있습니다

캐릭터 선택창을 강사님이 보여주신 Scrollview를 활용해서 만들고 있어요 그런데 중간에 문제가 있었고, 해결은 한 상태인데 한가지 이해가 안가서요

글로 표현이 다 될 수 있을지는 모르겠으나 일단 한번 적어 보겠습니다

기본적인 골자는 수평 방향으로 스크롤뷰를 만들어서, 캐릭터 선택창을 만드는 것 입니다

강의에서 보여주신 것과는 달리 한번에 하나의 오브젝트만 보여지게 만들었습니다 

해당 오브젝트 안에서는 캐릭터의 이미지, 이름, 데미지 등이 보여지는 UI가 있습니다

처음에는 Mask 컴포넌트가 Image 컴포넌트만 마스킹 한다는 걸 모르고, 해당 UI들을 Sprite Renderer로 만들었습니다

나중에 다시 이 UI들은 Image 컴포넌트를 사용해서 다시 만들었습니다

위의 image UI들 위로, 텍스트 UI를 집어 넣었습니다, 차일드 오브젝트로서요

그런데 Sorting Layer 때문인지, 이 텍스트들이 이미지에 가려서 안보이더라고요

찾아보니까 Canvas 컴포넌트로 sorting layer를 오버라이딩 할 수 있다고 해서 그렇게 했습니다

가장 마지막 Sorting Layer는 UI 이고, 이미지 UI들에는  order 1번, 텍스트 UI에는 2번을 부여했습니다

이제 문제는 없을거라 생각을 했는데 한가지 문제가 생겼습니다
저기 위에 말씀드린 이미지 UI - 텍스트UI 들을 덮는 버튼 오브젝트가 있습니다(캐릭터 언락용 입니다)
이 버튼에는 Button, 및 Image 컴포넌트 외에
Layout Element 컴포넌트(Ignore Layer - true, Layout priority - 0)과 Canvas 컴포넌트(Pixel Perfect - inherit, Override Sorting - false)이렇게 추가를 했습니다

여기서 이상한게, 만약에 이 Canvas 컴포넌트에서 Override Sorting을 활성화시키면

Scrollview의 Viewport에 있는 Mask 컴포넌트의 영역 밖에다가 지금 이 메뉴 아이템 오브젝트를 생성했을 때, 이 버튼이 보입니다

 이걸 활성화 시키지 않으면 안보이고요 (이게 제가 원하는 결과물이죠)

그런데 또 이 Canavs 컴포넌트를 아예 꺼버리거나 제거하면, Sorting Layer 문제인건지, Mask 영역 내부에서도 안보입니다

혹시 설명을 해주실 수 있을까요?

C# unity

답변 1

0

Rookiss

위 글로만 봐서는 어떤 상황인지 이해하기가 어렵습니다.
그리고 심지어 유니티 버전마다 조금씩 다르게 동작할 수도 있습니다.
만약 오래 고민해도 해결이 힘든 문제라면 해당 케이스가 발생하는
프로젝트 압축해서 rookiss@naver.com로 보내주시면 살펴보겠습니다.

ResourceManager 클래스 관련 질문

1

28

2

몬스터 HP 게이지바 이동

0

21

1

매니저 관련 질문이 있습니다.

0

70

2

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

75

2

UI 기능 관련 질문이 있습니다!

0

71

2

픽셀 좌표 스크린 좌표

0

50

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

106

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

97

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

101

1

Input 적용과 관련하여 질문 있습니다.

0

91

1

디버그 불가.. Unity에 연결 불가

0

98

1

달리기 애니메이션 에러

0

98

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

75

1

GetKey 오류

0

128

2

에셋을 어디에 올려두신지 알 수 있나요?

0

114

1

재귀호출? 오류나는데 왜 이래요 ?

0

179

6

Animation blending 파라미터 계산

0

75

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

112

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

96

2

질문있습니다

0

156

2

아 이거 소스코드 같은거 없나요?

0

152

3

질문 드립니다. string.IsNullOrEmpty(name)

0

94

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

139

2

유니티6 NavMesh 안되는분들

1

193

1