520 likes | 783 Views
Autonomous characters. 2005.10. Computer Animated Characters. Toy Story (Pixar/Disney). Antz (Dreamworks). A Bug’s Life (Pixar/Disney). Tomb Raider 3 (Eidos Interactive). The Legend of Zelda (Nintendo). Final Fantasy VIII (SquareOne). Autonomous Agents. Definition :
E N D
Autonomous characters 2005.10
Computer Animated Characters Toy Story (Pixar/Disney) Antz (Dreamworks) A Bug’s Life (Pixar/Disney) Tomb Raider 3 (Eidos Interactive) The Legend of Zelda (Nintendo) Final Fantasy VIII (SquareOne)
Autonomous Agents Definition: “An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.” Franklin & Graesser, 1996 “Is it an Agent, or just a Program?” Proc. of 3rd Int. Workshop on Agent Theories
Animated Graphic Agent Basic definition: Animated character whose motion does not need to be explicitly defined by a user. Ultimate Goal: Fully-autonomous animated agents able to sense, act, and interact in changing virtual environments ? Other commonly-used terms: Digital Actor, Virtual Human
Goals vs. Motions Autonomous Goal Generation: Algorithm to decide what the character should do next (specifies high-level goal) Autonomous Motion Generation: Algorithm to generate underlying motion given a high-level goal
Example: Moving an Object Transfer Reach Return Grab Release
Virtual Clothes (MIRALAB / Univ. of Geneva) Two Classes of Motion • Primary (Active) Motion: gross body movements, facial animation • Secondary (Passive) Motion: clothes, skin, hair, env. effects Endgame (Stanford) Facial animation (Geri’s Game / Pixar)
Autonomy vs. Interactivity Completely Autonomous Urban / Factory Simulation Video Game Adversaries Historical Narratives Virtual Tour Guides Digital Actors Autonomy Semi-Autonomous Characters Key-frame Animation Systems Web Avatars User-controlled Off-line Real-time Interactivity
Playing Chess 1997 Geri’s Game (Pixar) 1994 ENDGAME (Stanford) 1999 Interactive Chess (Stanford)
OZ project (CMU) Marilyn (EPFL/Miralab) Synthetic Characters (MIT) Thalmann, et. Al. Bates, et. Al. Blumberg, et. Al. Artificial Fish (U. Toronto) Tu / Terzopoulos Motion Generation Techniques Scripting Kahn ‘79, Ridsdale ‘87, Haumann & Parent ‘88, Wilhelms ‘90, Strassmann ‘91, Bates, et al. ‘92, Perlin & Goldberg ‘96 Reactive Behaviors Brooks ‘85, Reynolds ‘87, Tu & Terzopoulos ‘94, Reich, et al. ‘94, Blumberg & Galyean ‘95 Kinematic Warping Bruderlin & Calvert ‘89, Witkin & Popovich ‘95, Unuma, et al. ‘95, Gliecher ‘98
Jack (U Penn) Human Dynamics (GaTech) ENDGAME (Stanford) HFAP (Microsoft) Koga, et. Al. Cohen, et. Al. Hodgkins, et. Al. Badler, et. Al. Motion Generation Techniques Physically-Based Simulation Armstrong & Green ‘85, Hahn ‘88, Baraff ‘89, McKenna & Zeltzer ‘90, Raibert & Hodgins ‘91, Mirtich ‘95, Ngo & Marks ‘93, Sims ‘94, Metaxas, et al. ‘97 Spacetime Constraints Isaacs & Cohen ‘87, Witkin & Kass ‘88, Rose, et al. ‘96, Gleicher ‘98, Popovic & Witkin ‘99 Motion Planning Lengyel, et at. ‘90, Ching & Badler ‘92, Koga, et al. ‘94, Bandi & Thalmann ‘97, Hsu & Cohen ‘98
Motion Planning for Digital Actors Manipulation Sensory-based locomotion
Applications • Videogames • Movies • Ergonomics • Training • Web page animation • Slide shows • E-commerce
Types of control system • Movement Scripts • Finite State Machines • Hierarchical State Machines • Fuzzy State Machines • Behavioral Anmation • Pathfinding Techniques • Planners • Neural Networks
Movement Scripts • 각 캐릭터의 애니메이션 파일 제작 • 상황에 따라 적합한 애니메이션 파일 설정 • 스크립트로 편집
FSM • 유한한 개수의 상태들로 구성된 하나의 간단한 기계 • 상태 –하나의 조건 (예) 문이 열린 상태, 문이 닫힌 상태, 문이 잠긴 상태, 문이 잠기지 않은 상태 • 하나의 입력을 받고 그에 의거해서 현재 상태로부터 다른 어떤 상태로 전이(transition)하는 식으로 작동 • 어떤 상태를 현재 상태로 만들 것인지 판단하는 간단한 (또는 복잡한) 상태 전이 함수
FSM (예) RPG 게임의 어떤 먼스터의 감정
HFSM 일련의 객체가 여러 레벨에 걸쳐 결합된 구조
게임에서 FuSM을 사용하는 이유 • FuSM이 퍼지 논리를 구현하기 쉬운 방법 • 게임 세계와 게임 안의 객체들 사이의 관계를 나타내는데 쓰이는 추상 개념들의 표현에 좀 더 깊이를 더할 수 있음 => 게임 플레이 향상 가능 • 좀 더 흥미로운 NPC의 반응 만들어냄 • NPC의 행동 예측 불가능하게 됨 • 게임을 여러 번 반복해서 즐길 수 있음 • 사용 예 • NPC나 에이전트의 생명력 또는 HP • 레이싱 게임에서 Ai가 제어하는 자동차의 가속 또는 제동 제어 과정 (가속, 감속, 제동, 주행 제어 과정)
Behavioral Animation • 플로킹 (flocking 또는 swarming, herding) • 1987년 SIGGRAPH에 제출된 Craig Reynolds의 “Flocks, Herds, and Schools : A Distributed Behavioral Model”이라는 논문에서 처음 등장한 기법 • 자동화된 에이전트(boid라고 함)들의 집단이 새떼나 물고기떼, 또는 벌떼와 비슷한 집단 행동을 보이도록 만들기 위한 규칙 제시 => 조타 행동 (steering behavior) • TU : realistic fish • 상용 적용 사례 : Batman Returns, The Lion King ….
Pathfinding Techniques • 필요성 • 유닛이 게임 세계의 한 위치에서 다른 위치로 이동하기 위해 경로를 찾아야 한다. • 장애물을 피하고 막다른 골목에 빠지지 않아야 한다. • 통과 비용이 서로 다른 지형을 인식하고 가장 효율적인 경로를 찾아야 한다. • A* • 인접한 상태들을 조사해 나가면서 시작 상태로부터 목표에 이르는 가장 싼 비용의 경로를 찾는 알고리즘 ( 아직 조사하지 않은 상태들 중 가장 유망한 상태를 조사하는 과정을 반복 ) • “가장 유망한” 상태 – 그 위치를 지나서 목표에 도달하는 경로의 비용이 가장 싼 위치 • 현재 상태에 인접한 상태들 중 TotalCost(X)가 가장 낮은 상태를 찾아서 그 상태로 이동 ( TotalCost(X) = CostFromStart(X) + CostToGoal(X) )
Planners • Classic Planners – STRIPS (예) SOAR planner : quake • Planners • Sense • Plan • Act
Neural Networks • Perceptrons • Multilayered Forward Feed Networks • Back Propagation
People and previous work on the subject • Craig Reynold and the Behavioral Animation • Blumberg’s research group • Tu • Demetri Terzopoulos • Perlin • Steve Grand • John Laird • Lars Liden
조타 행동(steering behavior) • 분리 (Separation) • 주변 보이드들과 충돌하지 않도록 방향을 돌린다 • 정렬 (Alignment) • 주변 보이드들과 같은 방향을 가리키도록 한다 • 응집 (Cohesion) • 주변 보이드들과의 평균 위치쪽으로 방향을 돌린다 • 회피 (Avoidance) • 지역•장애물이나 적들에 부딪히지 않도록 방향을 조정한다
분리 (Separation) • 보이드가 주변의 다른 보이들과 적당한 거리를 유지하도록 하는 것 • 응집규칙만 있다면 보이드들은 서로 부딪히게 되는데, 그것을 방지하는 것이 분리 규칙 • 무리의 각 보이드마다 주변 보이들과의 거리를 판단하고 적당한 거리를 유지할 수 있도록 방향을 돌리는 방식으로 이 규칙을 구현함
정렬 (Alignment) • 보이드가 주변의 다른 개체들과 동일한 방향(또는 속도)을 유지하도록 하는 것 • 이 규칙에 의해 보이드들이 모인 무리가 마치 하나의 보이드처럼 움직이게 됨 • 이 글에서는 … • 보이드의 방향과 속도를 주변 보이드들의 평균적인 속도와 방향으로 조정함으로써 이 규칙을 구현함
응집 (Cohesion) • 보이드들을 하나의 무리로써 모이게 하는 역할 • 주변 보이드들과의 평균 위치로 갈 수 있도록 보이드의 방향과 속도를 조정함으로써 이 규칙 구현
회피 (Avoidance) • 보이드가 장애물과 부딪히지 않도록 하기 위한 것 • 보이드가 어느 정도의 거리를 내다 보고 장애물이 존재하면 그것을 피할 수 있는 쪽으로 방향을 조정함으로써 구현 • 이 규칙은 장애물뿐만 아니라 어떠한 천적에 해당하는 에이전트(토끼의 경우 늑대, 비둘기 경우 매)가 있을 때에도 적용
상태 없는 알고리즘 • 각각의 보이드는 무리에 대한 어떠한 정보(무리가 어디로 가는 지 등)도 가지지 않는다는 점 • 보이드가 어떠한 상태 정보도 가지지 않는다는 점에서 플로킹은 ‘상태없는(stateless)’알고리즘 • 각각의 보이드는 매 순간마다 자신의 주변을 다시 평가할 뿐, 무리에 대한 정보는 아예 가지고 있지 않음 • 플로킹 이외의 접근 방식을 이용한 무리 행동 알고리즘에 비해 메모리 요구량이 대단히 적음 • 임기 응변적인 행동 (emergent behavior) • 무리의 보이드들은 무리가 어디로 가는 지에 대해서는 전혀 알지 못하지만, 모든 보이드들은 하나의 무리로서 움직이고, 장애물과 적들을 피하며, 다른 보이드들과 보조를 맞춰서 유동적으로 이동하게 됨
게임에서의 응용 • 플로킹 • 유닛들의 집단 이동을 위한 도구 • 게이머에게 좀 더 현실감 있는 게임 환경을 제공하는 수단 • 많은 상용 게임에서 이미 사용 • Unreal(Epic)과 Half-Life(Sierra)는 먼스터들이나 또는 좀 덜 위험한 생물들(물고기나 새)의 움직임에 플로킹을 적용함 • Enemy Nations(Windward Studio)는 3D 환경 안에서의 유닛 진형 유지나 이동에 수정된 플로킹 알고리즘 적용 • RTS 게임이나 RPG에서 동물들의 무리를 움직일 때 간단한 스크립팅보다는 플로킹을 사용하는 것이 훨씬 더 현실감 있는 결과를 얻을 수 있음 • 1인칭 슈팅 게임에서, 던젼 안의 먼스터들이 혼자 떨어져 있을 때에는 플레이어를 피하다가 무리를 이루면 플레이어를 공격하게 만드는 데에도 사용
Flocks in Film • 1987: Stanley and Stella in: Breaking the Ice, (short) Director: Larry Malone, Producer: Symbolics, Inc. • 1988: Behave, (short) Produced and directed by Rebecca Allen • 1989: The Little Death, (short) Director: Matt Elson, Producer: Symbolics, Inc. • 1992: Batman Returns, (feature) Director: Tim Burton, Producer: Warner Brothers • 1993: Cliffhanger, (feature) Director: Renny Harlin, Producer: Carolco. • 1994: The Lion King, (feature) Director: Allers / Minkoff, Producer: Disney.
Flocks in Film • 1996: From Dusk Till Dawn, (feature) Director: Robert Rodriguez, Producer: Miramax • 1996: The Hunchback of Notre Dame, (feature) Director: Trousdale / Wise, Producer: Disney. • 1997: Hercules, (feature) Director: Clements / Musker, Producer: Disney. • 1997: Spawn, (feature) Director: Dipp₫, Producer: Disney. • 1997: Starship Troopers, (feature) Director: Verhoeven, Producer: Tristar Pictures. • 1998: Mulan, (feature) Director: Bancroft/Cook, Producer: Disney.
Flocks in Film • 1998: Antz, (feature) Director: Darnell/Guterman/Johnson, Producer: DreamWorks/PDI. • 1998: A Bugs Life, (feature) Director: Lasseter/Stanton, Producer: Disney/Pixar. • 1998: The Prince of Egypt, (feature) Director: Chapman/Hickner/Wells, Producer: DreamWorks. • 1999: Star Wars: Episode I--The Phantom Menace, (feature) Director: Lucas, Producer: Lucasfilm. • 2000: Lord of the Rings: the Fellowship of the Ring (feature) Director: Jackson, Producer: New Line Cinema.
Tu & Demetri Terzopoulos • Physical Fish Model • Animate vision - a paradigm which prescribes the use of artificial animals as autonomous virtual robots for active vision research
Qualities of Fish Animat • Motor system • Perception system • Behavior system • Form and Appearance
Motor System • Comprises the fish biomechanical model, including muscle actuators and a set of motor controllers (MCs)
Perception System • Model limitations as well as abilities • Perceptual attention mechanism - allows animat to act in a task-specific way
Behavior System • Mediates between the perception system and the motor system of the fish
Navigation • Once targets are located and can be tracked, navigation is trivial. • When left-right vision angles deviate by more than 30 degrees from center, tell body to turn left/right. • When up-down vision angles deviate by more than 5 degrees, tell body to push up/down.