3D물체를 움직이면 캐릭터에 가까운 지형은 활성화 멀리있는 지형은 비활성화 하도록 풀링을 해보았다.
땅을 생성하면 자동적으로 랜덤으로 땅위 바위와 나무들이 랜덤으로 위치한다.
처음에는 지형이 가지고 있는 스크립트에서 캐릭터와의 거리를 체크해주려고 했는데 오브젝트가 꺼져있을때 체크가 불가능하기 때문에 지형이 생성될 때 위치를 관리하고 있다가 그 거리를 캐릭터와 비교 하도록 했다.
m_lipool : 풀링에 들어온 오브젝트
m_liActive : 활성화 된 오브젝트
유니티 실행하면 초기에 땅을 생성하는 함수이다. 생성과 동시에 리스트에 지형오브젝트의 위치를 추가해준다.
캐릭터와 멀리있는 지형에 있는 오브젝트를 비 활성화 해주기 위한 함수이다.
m_liTemp는 멀리있는 지형을 비 활성화 해주기 위한 리스트이다. PlanSet스크립트를 통해 멀리있으면 m_liTemp에 담아 두고 꺼주도록 한다. m_liActive에는 삭제해주고 다시 m_liPool에 넣어둔다.
무한이 로딩되는 맵에 사용하도록 하면 좋을 듯하다.
'삽질&복습(연습장)' 카테고리의 다른 글
유니티) 백그라운드 시간 흐름 테스트 (Unscaled Time, FixedDeltaTime, RealTime) (0) | 2020.07.30 |
---|---|
ExtensionMethod 활용하기_테이블 데이터 (0) | 2019.05.30 |
복습)C#,유니티 제네릭 (0) | 2019.05.04 |
삽질) 물리연산의 체크사항, 레이캐스트 (0) | 2019.05.02 |
복습) C# 델리게이트 (0) | 2019.01.29 |