차이

이 문서의 선택한 이전 버전과 현재 버전 사이의 차이를 보여줍니다.

차이 보기로 연결

gearsofwar2:gearobjectpool [2011/01/14 15:18]
z3moon
gearsofwar2:gearobjectpool [2012/03/02 22:59] (현재)
z3moon
줄 1: 줄 1:
-====== 개요 ======+====== GearObjectPool ======
 GoW2 에서는 사용되는 효과를 효율적으로 사용하기 위한 클래스이다. GoW2 에서는 사용되는 효과를 효율적으로 사용하기 위한 클래스이다.
  
줄 8: 줄 8:
 때문에 이 루틴을 적극적으로 활용하는 것이 프레임 향상에 도움이 되겠다. 때문에 이 루틴을 적극적으로 활용하는 것이 프레임 향상에 도움이 되겠다.
  
-====== 구성 ======+===== 구성 =====
 GearObjectPool 이 캐싱해 놓는 대상은 다음과 같다. GearObjectPool 이 캐싱해 놓는 대상은 다음과 같다.
   * KActorSpawnable   * KActorSpawnable
줄 26: 줄 26:
 {{http://farm6.static.flickr.com/5162/5348341259_7b05ab6d9b_o.jpg}} {{http://farm6.static.flickr.com/5162/5348341259_7b05ab6d9b_o.jpg}}
  
-===== Emitter vs ParticleSystemComponent =====+==== Emitter vs ParticleSystemComponent ====
 위의 구성 중에 Emitter 를 캐싱해 두는 녀석이 있는데 이 녀석은 내부적으로 두가지를 캐시해 둔다. 위의 구성 중에 Emitter 를 캐싱해 두는 녀석이 있는데 이 녀석은 내부적으로 두가지를 캐시해 둔다.
  
 **Emitter** 와 **ParticleSystemComponent (이하 PSC)** 이다. 이 둘은 같은 기능을 하면서 실질적으로는 다른데 이점을 글로 정리해 둔다. **Emitter** 와 **ParticleSystemComponent (이하 PSC)** 이다. 이 둘은 같은 기능을 하면서 실질적으로는 다른데 이점을 글로 정리해 둔다.
  
-==== PSC ====+=== PSC ===
   * 파티클 입자 운동을 하는 기본 구성   * 파티클 입자 운동을 하는 기본 구성
   * 혼자서는 보여질 수 없는 개체인 Component 이다. Actor 에 Attach 되는 것을 목적으로 함.   * 혼자서는 보여질 수 없는 개체인 Component 이다. Actor 에 Attach 되는 것을 목적으로 함.
  
-==== Emitter ====+=== Emitter ===
   * 내부적으로 PSC 를 가지고 있다.   * 내부적으로 PSC 를 가지고 있다.
   * 맵 내부에 존재할 수 있는 Actor 이다. PSC 를 위한 특화된 Actor 라고 생각하면 된다.   * 맵 내부에 존재할 수 있는 Actor 이다. PSC 를 위한 특화된 Actor 라고 생각하면 된다.
  
-==== 정리 ====+=== 정리 ===
 간단히 말해 Emitter 는 PSC 까지 포함하고 있다고 생각하면 된다. 간단히 말해 Emitter 는 PSC 까지 포함하고 있다고 생각하면 된다.
  
 GearObjectPool 에서 캐시해둔 Emitter 를 얻어올 땐 위치와 회전값까지 지정하지만 PSC 는 그냥 객체만 얻어온다. 얻어온 후 그것을 어떠한 Actor 에게 붙이는 지는 순전히 프로그래머의 몫이다. GearObjectPool 에서 캐시해둔 Emitter 를 얻어올 땐 위치와 회전값까지 지정하지만 PSC 는 그냥 객체만 얻어온다. 얻어온 후 그것을 어떠한 Actor 에게 붙이는 지는 순전히 프로그래머의 몫이다.
  
-====== 흐름 ======+===== 흐름 =====
 GearObjectPool 이 다루는 객체들을 거의 비슷하게 관리한다. GearObjectPool 이 다루는 객체들을 거의 비슷하게 관리한다.
   - 초기에 다량의 객체들을 배열로 잡고 미리 할당해둔다.   - 초기에 다량의 객체들을 배열로 잡고 미리 할당해둔다.
줄 57: 줄 57:
   - 가장 오래전에 랜더링된 놈을 찾지 못했다면((이 경우는 모든 Decal 이 현재 랜더링되고 있거나 BSP 위에 남겨진 Decal 이라는 의미)) 가장 오래전에 스폰된 놈을 찾아서 재활용한다.   - 가장 오래전에 랜더링된 놈을 찾지 못했다면((이 경우는 모든 Decal 이 현재 랜더링되고 있거나 BSP 위에 남겨진 Decal 이라는 의미)) 가장 오래전에 스폰된 놈을 찾아서 재활용한다.
  
-====== 참조 ====== +===== 참조 ===== 
-GoW2 소스+  * GoW2 소스
  
 {{tag>개발 프로그래밍 엔진 언리얼엔진 이펙트 최적화}} {{tag>개발 프로그래밍 엔진 언리얼엔진 이펙트 최적화}}