2016-06-24 2 views
0

유니티 2D에서 다른 객체 뒤의 객체를 어떻게 동적으로 숨길 수 있습니까?유니티 2D에서 동적으로 게임 객체 숨기기

예 : 내 장면에 선인장 자산이 있고 선인장 뒤에 임의의 수의 수집품을 배치하여 수집품을 플레이어가 볼 수 있도록하고 싶습니다. 가능한 경우 가시성의 정도를 결정할 수 있기를 바랍니다. 당신이 직교 카메라를 사용하는 경우

http://imgur.com/Fd2AENS

+0

당신은 선인장과 수집품에 대한 깊이 값을 변경할 수 있습니다위한 = 거짓을 transform.enabled 사용합니다. 또는 Z 값을 업데이트 할 수 있습니다. – Cabrra

답변

1

, 다음 z 축 값이 차이를 만들 수 없습니다. 정사영 카메라에는 깊이 감이 없습니다. 조작하려는 것은 스프라이트 렌더러 구성 요소의 정렬 레이어 속성입니다.

0

선인장의 자식을 숨기고 싶은 모든 개체를 만듭니다. 가시적 인 2 차원 객체를 사용하고 있기 때문에 각 하위에 스프라이트 렌더러 구성 요소가 있다고 가정합니다.

스프라이트의 순서는 "정렬 순서"속성으로 결정됩니다. 그래서 선인장 뒤에서 다른 모든 객체에 낮은 순서를 부여하는 코드 조각이 있습니다.

SpriteRenderer[] renderers = GetComponentInChildren<SpriteRenderer>(); 

for(int i =0 ; i< renderers.Length; i++){ 
    renderers [i].sortingOrder = -1 * i; 
} 

이 코드는 어린이의 순서를 변경하지만 당신이 그 (것)들을 보이지 않게하려는 경우, 각 자녀

관련 문제