2014-12-28 5 views
0

저는 Unity 4.6을 사용하여 2D 게임을 개발하고 있습니다. 장면에 많은 GameObjects (카메라의 시야에서 벗어남)가 성능에 상당한 영향을 미치는지 알고 싶습니다. 예를 들어 스크롤 가능한 이름 목록 (예 : 1000 개)을 만드는 것이 효율적입니까? (각각 GameObject이고 텍스트, 버튼 등이 있습니다.) 지정된 영역 (예 : 그 중 10 개는 동시에 볼 수 있음)에서 마스크합니다.씬 (렌더링되지 않은)에 많은 게임 GameObject를 추가하면 성능이 비효율적입니까? [Unity]

미리 감사드립니다.

답변

1

개체에 보이는 구성 요소가 있는지 여부에 따라 달라집니다. 그렇게하면 엔진이 '카메라 외부'인 경우에도 엔진이 그릴 것입니다. 게임 객체 자체는 매우 가볍습니다. 타일 기반 게임은 수천 개의 메모리를 가질 수 있습니다. 카메라 외부의 장면에 많은 그림을 그리려면 계획의 스프라이트 가시성을 토글해야합니다. 이것은 SpriteManager가 들어오는 곳입니다. Sprite가 카메라의 사각형에 있고 Sprite가 사용 불가능한 스프라이트에 있는지 확인합니다. 조금 복잡한 경우 좋은 여기에 반 offical 한 exmaple 있습니다 :

http://wiki.unity3d.com/index.php?title=SpriteManager

+0

이 (가) (SpriteRenderer 같은) 유니티의 2D 기능 내장 않음이 관리? 또는 SpriteRenderer가 카메라에서 벗어난 후에 비활성화해야합니까? 최근에 Unity 4.6에 추가 된 새로운 GUI 시스템의 UI 요소는 어떻습니까? –

+0

현재 엔진은 계속 스프라이트를 카메라에서 그립니다. UI 요소는 일반적으로 카메라 뷰 내에서 정의되므로 변경되지 않았습니다. Unity가이 행동을 바꿀 계획인지는 모르겠다. 많은 3D 게임은 카메라 객체를 끌어내는 이점이 있지만, 2D 타일 기반 게임은 그다지 많지 않다. 어쩌면 유니티 5.0+ – ChargerIIC