프로그래밍(58)
-
NGUI 스크롤 느려지는 현상 (재사용리스트를 사용하지 않고 기능 개선)
NGUI로 스크롤 을 구현하다보면 Grid를 사용하는 것이 일반적인데, 아이템이 많아지면 느려지는것을 자주 보게 된다. 아이템이 많아지니까 느려지는것은 어찌보면 당연한 일이다. 하지만 그대로 사용할수없으니 해결을 해야지 ㅜ 그래서 나온것이 재사용 리스트를 사용하는 것이다. 보여지는 아이템과 스페어 아이템을 미리만들어놓고 위치와 내용을 바꿔가며 사용하는 재사용 리스트!! 를 만드는 방법은 이미 다른 블로그에도 많이 소개하고 있으니 패스!! 재사용리스트로 제대로 구조를 잡아가며 만들생각을 하신분은 아마도 이 내용을 검색하지 않았을 것이다. 이미 NGUI 구조로 스크롤을 만들었는데, 사용하다보니 아이템이 많은경우가 생기고, 그럴때 느리더라 하는 경우일 것이다. 어쩃든 시간은 급하고 빨리 처리는 해야하는 급박한..
2016.01.14 -
프리팹 의 복사 수정 ( copy - modify )
유니티에서 프리팹은 상당히 유용하다 같은개체의 오브젝트를 여러개 찍어낼때라던가, 프로젝트 내 특정씬의 오브젝트를 다른 프로젝트로 이동시킬때.. (기존의 프로젝트를 조금만 가공하여 새로운 프로젝트를 만들려고 할때 의외로 많이 쓰인다..) 프리팹을 익스포트하고 임포트 시키는 방법으로... 그리고 이 이동 기능을 이용해서 여러명이 협력 작업을 할 수 있다. (같은 프로젝트로 동시에 다른 작업 후 가공한 오브젝트만 익스포트해서 한군데서 합친다..SVN작업은 같은씬을 동시에 고치면 충돌이 일어난다) 프로젝트의 프리팹을 다른 프로젝트에서 가공해서 기존프리팹은 그대로 두고 새로운 프리팹을 추가하고 싶다 그런데 이렇게 이동을 하다보면 원치않는 결과가 생길때가 있다. 기존의 프리팹은 그대로두고 다른 프로젝트에서 가공한 ..
2015.10.16 -
StopCoroutine() 의 활용 2 - Coroutine continue failure
앞서 정리한 스탑코루틴의 활용 1의 내용으로 개념을 잡고 넘어가자. 코루틴 호출은 script.StartCoroutine() 으로 호출하게 되어있고, 앞부분을 생략하고 StartCoroutine()으로 호출하면 자동적으로 콜링한 스크립트에서 제어하는 코루틴으로 호출되도록 되어있다. 즉 StartCoroutine( ~~~ ) 를 포함하여 코루틴을 호출하면 이 코루틴은 자신을 콜링한 스크립트가 달려있는 게임오브젝트에 할당되는 것이다. 이것이 적용되어 해당 게임오브젝트를 disable시키면, 그 게임오브젝트에 할당되어 돌아가던 모든 코루틴은 정지된다. (StopAllCoroutine의 효과) 위의 그림을 참고하자. 위 그림은 이런 상황을 거친 결과다 Scr Main=== start() { StartCorout..
2015.10.14 -
Unity에서 Prefab 연결끊기
프리팹은 상당히 유용하면서도 가끔씩 귀찮다 특히 더이상 프리팹으로 활용하고 싶지 않을때 기존 오브젝트에 걸려있는 링크가 신경쓰일때가 있다. 또는 프리팹을 삭제하여 빨갛게 미싱난 상태의 오브젝트가 꼴보기 싫을때... 1) 프리팹을 삭제해 연결이 끊어져 빨갛게 미상난 경우 ==>유니티 상단 게임오브젝트 목록에서 break Prefab Instance 를 클릭한다 ==>클릭하면 셀렉트버튼이 남아있지만 다른오브젝트 찍고 돌아와보면 없어져있다. 해결. 2) 프리팹은 살려두고 프리팹 연결만 끊고싶을때 ( 여러개의 프리팹중 하나만 연결을 끊고싶을때) ==>연결을 끊고 싶은 프리팹오브젝트 대상을 프로젝트로 드래그해서 새로운 프리팹 개체로 만든다. ==>새로운 개체로 만든 프리팹 삭제하면 빨갛게 미싱이 난다. ==>1번..
2015.08.25 -
GetComponentsInChildren<>() 자식오브젝트에서 활성/비활성 컴포넌트 찾기
GetComponentsInChildren() 를 이용하여 부모에 속한 모든하위 오브젝트들에 있는 T 컴포넌트를 찾아올수 있다. 그런데 여기서 비활성화 되어있는 오브젝트는 건너뛰는 것이 디폴트 설정 되어있다. GetComponentsInChildren(bool disenableObjFind = false) 처럼 되어 있는듯... 그래서... 하위오브젝트중 꺼져있는 것도 포함하여 모두 검색하려면 빈 괄호 안에 true를 넣어주면 된다. GetComponentsInChildren(true); 이 옵션은 유니티 FInd류의 함수들 은 공통사항인것 같다. =================15.09.07 추가==================== 이름으로 비활성 게임오브젝트를 찾는 하드파인드.. static publ..
2015.07.10