3장 자동적으로 움직이는 게임 에이전트 생성법
TRANSCRIPT
How to Create Autonomously Moving Game Agents
아꿈사 : http://cafe.naver.com/architect1김태우 : [email protected]
INDEX
• Autonomous Agent
• Vehicle Model
• Steering Behavior
Autonomous Agent
자동적 에이전트– 자신만의 예정된 일을 추구하면서
자신의 환경을 감지하고 , 시간에 따라 그러한 환경에 작용하며 ,그래서 미래에 감지할 것에 영향을 미치는 ,그러한 환경 안에 또는 그 일부분으로서 위치하고 있는 시스템이다 .
목적지향적이며 , 시간에 따라 환경과 상호작용하는 시스템이다 .
– 작동하기 시작하면 , 프로그래머의 간섭 없이 단지 자신을 돌볼 뿐이다 .
자동 에이전트의 움직임
Vehicle Model
운반기 모델– 점질량을가지는 기본적인 운반기를 기술하는
데이터를 캡슐화하고 있다 .• 한 편으로는 , 매우 간편하고 계산적으로 적은
물리 - 기반 모델– 점질량은 속도 ( 선형 가속도 ) 를 가지지만 ,
관성 모멘트 ( 회전 가속도 ) 는 없다 .
• 다른 편으로는 , 점질량은 실세계에 존재하지 않으므로 , 강력한 물리 모델이 될 수 없다 .
– 질량을 가지는 어떤 물리 모델이든 반지름을 가져야 하므로 관성 모멘트를 가진다 .
– 이 지나치게 간소화된 비 - 물리 운반기 모델은 꽤 편하고 , 일반성의 손실 없이 여겨 진다 .• 언제나 더 타당하고 , 더 현실적인
물리 기반 운반기 모델을 대신할 수 있다 .
운반기의 물리적 현상 갱신하기 – 조종힘 계산 . Calculate() 은 모든 운반기의
활성화된 조종 행동들을 합계하여 총 조종힘을 반환
– 조종힘을 가속도로 변환
– 가속도로 속도를 갱신
– 운반기의 위치를 새로운 속도로 갱신
– 방향은 속도에 따라 정렬되어야 하므로 , 정규화된 속도 벡터와 동등함을 유지하면서 갱신
– 운반기의 속도가 임계값 이상이어야만 계산
BaseGameEntity
MovingEntity
SteeringBehaviors
GameWorld
Vehicle1
*
Steering Behavior
Seek and Flee
SEEK
FLEE
Arrive
Persue and Evade
PERSUE
EVADE
Wander
rate
Wander Direction
교재 P.110 참조 : 그림 3.5
Obstacle Avoidance
교재 P.112 참조 : 그림 3.7 / 3.8
Collision Threat
Collision Box
Wall Following
Hide
Path Following
Offset Persuit
Follow One AnotherFollow Leader
References• Steering Behaviors For Autonomous
Characters– http://www.red3d.com/cwr/steer
• OpenSteer– http://opensteer.sourceforge.net/doc.html
Lisence