NOTE/Unity41 [Unity] 오브젝트 풀링 참고 소스 (펌) 출처 : http://minhyeokism.tistory.com/23 모바일 프로젝트에서 필수적인 요소인 오브젝트 풀링. 총에서 총알이 나가는 예제를 활용하여 만든 소스가 잘되어 있는 것 같아 적어놓자. 풀링할 객체는 PoolableObject 클래스를 상속받아 사용하면 된다. ObjectPool.cs의 - ObjStack : 비활성화 된 object들을 담고있는 Stack(풀) - ObjList : 활성화 된 object들을 담고있는 List(참조용) // ObjectPool.cs using UnityEngine; using System.Collections; using System.Collections.Generic; public class ObjectPool where T : PoolableObje.. 2016. 10. 4. [Unity] Mobile & Input 2 개인적으로 api랑 이것 저것 보면서 정리한 글 [Input에 대한 Unity Scripting api url]https://docs.unity3d.com/kr/current/ScriptReference/Input.html [Input]- 모바일 장치의 멀티터치 / 가속도계 데이터에 접근을 하는 경우 이 클래스 사용- Update에서 관찰 [Input.acceleration]- 가속도 읽어서 변형에 적용시켜보기 public class ExampleClass : MonoBehaviour { public float speed = 10.0F; void Update() { Vector3 dir = Vector3.zero; dir.x = -Input.acceleration.y; dir.z = Input.accel.. 2016. 9. 30. [Unity] Mobile & Input Unity 홈페이지의 강좌를 정리한 내용입니다. [Touch] - Input 클래스를 사용하고, 여러 터치가 들어오면 Array로 처리된다. - myTouch.deltaPosition은 Vector2의 Last Frame과 First Frame으로 터치의 무빙도 입력받을 수 있다. using UnityEngine; using System.Collections; public class TouchTest : MonoBehaviour { void Update () { Touch myTouch = Input.GetTouch(0); Touch[] myTouches = Input.touches; for(int i = 0; i < Input.touchCount; i++) { //Do something with the.. 2016. 9. 29. [Unity] 짧은 개념 정리 [sealed]- 봉인클래스 즉, 상속을 할 수 없게 만든다.- 메소드에 선언하면, 상속은 할 수 있어도 상속된 클래스에서 메소드를 오버라이드 못하게 막을 수도 있다. [lock]- critical section 처럼 문 블록을 임계 영역으로 표시하는 것.- 즉 한번에 한 스레드만 임계 영역의 처리를 할 수 있는 것. class Account { decimal balance; private Object thisLock = new Object(); public void Withdraw(decimal amount) { lock (thisLock) { if (amount > balance) { throw new Exception("Insufficient funds"); } balance -= amount; }.. 2016. 9. 29. [Unity] 힙 메모리 최적화와 오브젝트 풀링 (펌) 출처 : http://teddy.tistory.com/메모리 힙영역프로그램이 돌아가면서 생성되는 값들은 값들은 메모리의 힙영역에 할당된다. 이것을 동적 메모리 할당이라 부른다. 게임을 예로들면 캐릭터를 새로 생성으로 인한 값 생성, 네트워크 작업을 통해 일정한 데이타를 받아 배열을 생성하거나 등등.. 많은 부분에 동적이 메모리 할당이 일어난다. 이러한 메모리 할당 요청이 발생하면 힙 메모리를 관리하는 관리자가 필요한 만큼의 영역을 힙에 예약한다. 예약된 영역은 다른 값이 할당될 수 없는 곳이된다. 예약된 곳은 핸들러나 포인터를 반환하여 값을 할당하는 등의 접근이 가능하게 된다. 누수 현상(memory leak)오류로 인한 영역을 가리키는 포인터 반환이 안된경우, 또는 영역의 예약이 잘못 된경우, 등으로 .. 2016. 9. 27. [Unity] C# 스크립팅 마스터하기 BOOK 요약정리2 [이벤트] - 이벤트 주도적인 설계로 리팩토링하여 Ammo나 Health와 같은 프로퍼티가 Update 함수 안에서 검사되지 않고 값 할당만을 허용 - 새로운 값이 할당될 때 적절한 이벤트가 발생. - 이벤트 주도적인 설계는 성능 최적화 및 청결한 코드 유지가 가능해진다. Update 함수가 값을 검사하는 코드 등의 부담을 줄이고, 특정 값에 따라 반응하는 이벤트를 이용해 적절한 시점에만 이벤트가 불리운다. [이벤트 관리] - EventManager 클래스를 통해 오브젝트가 특정 이벤트를 수신할 수 있도록 한다. - EventListener : 자신이 발생시킨 이벤트를 포함한 어떤 이벤트가 발생하면 알기를 원하는 모든 오브젝트를 리스너라고 부른다. - EventPoster : 다른 모든 리스너가 알 수 .. 2016. 9. 27. 이전 1 ··· 3 4 5 6 7 다음