2021.10.10 - [Game AI] - Game AI - Combining Steering Behaviors (1)
Steering Pipeline
Steering Pipeline은 가중치있는 혼합(weighted blending)보다는 조금 더 복잡하지만 완벽하지는 않은 방법 중 하나이다. 적당히 빠르며 나쁘지않은 성능을 제공할 수 있다. 따라서 많은 숫자의 캐릭터를 컨트롤 할 때 유용하게 쓰일 수 있다. 또한 다른 의사결정(decision-making) 알고리즘을 사용하지 않은 협력 중재(cooperative arbitration)방식의 접근법 중 하나이다.
파이프라인에는 4가지 단계가 존재한다.
- Targeter : 이동의 목표를 제시함
- Decomposer : 목표에 도달하기 위한 중간 목표를 제시함.
- Contraint : 캐릭터가 이동하는 경로를 제한함.
- Actuator : 캐릭터가 물리적으로 이동 가능한지를 검사함.
Targeters
- 캐릭터의 궁극적인 이동 목표를 제시한다.(도망치는 경우라면 도망칠 곳을 제시)
- 타겟에는 위치뿐 아니라 방향, 속도, 회전이 포함될 수 있다. 이때 각각의 요소를 채널이라고 부른다. (위치 채널, 방향 채널 등) 한 Targeter가 여러 채널을 설정할 수 있지만, 여러 Targeter가 같은 채널을 설정할 수는 없다. (채널당 최대 1개의 targeter만 매치될 수 있음)
- 예를 들어, 대상을 쫓는 동작의 경우 대상의 위치를 쫓는 targeter와 이동방향으로 캐릭터가 바라보는 방향을 설정하는 targeter가 존재할 수 있다.
Decomposers
- 목표에 도달하기 위한 자연스러운 경로를 하기 위해 사용된다.
- 부 목표(sub-goal)을 반환하며 반환된 부 목표는 다음 Decomposer로 넘어가며 다듬어진다.
- 큰 그림을 볼 필요 없다.
Constraints
- 제한사항은 장애물과 같은 것을 의미한다.
- 캐릭터가 목표나 부 목표에 도달하기 위한 경로를 제한한다.
- 캐릭터가 제약을 위반하면 위반을 피하기 위한 방법을 제시한다.
- 한 제약을 피하는 방법이 다른 제약을 위반할 수 있기 때문에 루프를 돌면서 모든 경우를 확인한다. 교착(deadlock)상태에 빠진 경우 정해진 동작을 수행한다. (보통 Wander를 수행)
Actuator
- 다른 단계와 달리, 캐릭터당 하나의 Actuator만 존재한다.
- 부 목표까지 가는 경로를 제시한다.
- 캐릭터의 물리적인 속성을 알고 있다.
- 어떤 채널이 우선권을 가지는지 혹은 어떤 채널이 무시되어야 하는지 정한다.
- 예를 들어 아래 그림과 같이 부 목표에 속도가 존재한다면 속도를 만족시킬 수 있는 경로를 제공한다.
참고 : Ian Millington, AI for GAMES 3rd edition, CRC press, [108~120p]
'Game AI' 카테고리의 다른 글
의사 결정 - State machines (2) | 2021.12.27 |
---|---|
의사 결정 - Decision Tree (0) | 2021.10.21 |
Game AI - Combining Steering Behaviors (1) (0) | 2021.10.10 |
Game AI - Steering Behaviors (3) (1) | 2021.10.03 |
Game AI - Steering Behaviors (2) (1) | 2021.08.07 |