물고기 집단(그룹) 움직임..

게임의 인공지능에 관한 포럼입니다.

Moderator: 류광

Locked
cl4848
Posts: 2
Joined: 2009-04-17 14:15

물고기 집단(그룹) 움직임..

Post by cl4848 »

안녕하세요
물고기 움직임을 구현중인데요
흠 물고기 각각의 움직임은 그런데로 나왔는데
이 물고기의 그룹 움직임이 많이 어색하네요..

Flocking을 적용시켜 보았는데요 모든 물고기가 일정한 방향, 속도로 움직이니까 로보트 같고..
아쿠아리얼2를 보면 물고기가 그룹으로 움직이되, 그룹안에서 자유롭운 움직임으로 자연스럽게 구현이 되어있는데요 이 움직임을 어떻게 구현해야 할지 잘 모르겠습니다

처음에는 리더물고기를 두고 일정한 반지름으로 바운드를 준뒤 바운드를 벗어나면 리더 물고기에게 다가가고 일정한 거리가 대면(리더물고기에게) 랜덤으로 포지션을 바운드 안쪽으로 찍고 움직이게 해놓았는데 이건뭐...;;
구글링을 해보아도 참고할만한 알고리즘은 못 찾겠네요..

참고할만한 알고리즘등을 알고계신분은 도움 바랍니다 감사합니다
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

음..

Post by lifeisforu »

googling 해서 boid algorithm 으로 찾아보시면 몇 개 나오네요.

http://www.red3d.com/cwr/boids/
http://www.vergenet.net/~conrad/boids/pseudocode.html
http://www.geocities.com/pterandon/boids.html

위의 세 개 link 인데요.... 해당 page 들의 link 를 따라다니다 보면 괜찮은 자료가 많은 것 같네요.
maru09
Posts: 45
Joined: 2009-03-23 17:21

알고리즘이라고 특별하진 않은데...

Post by maru09 »

대충 1번 타겟은 일정한 패스에 따라 움직이게 해 놓고...

각 물고기 마다 1번 타겟 근처에 1번타겟을 중심으로 움직이는(x,y,z로 각각 주기가 랜덤하게 다른 sin곡선으로 움직임) 타겟을 하나씩 만들어서

그 타겟을 쫓아가게 만들었군요... 속도는 랜덤... 적당한 시간(약2초-4초.. 랜덤) 마다 한번씩 바꾸게...

너무 멀리 떨어 졌을때만 속도를 조금 빠르게...

너무 가까우면 살짝 속도를 느리게...

이 정도로만 구현 해 놓았는데.. 뭐... 맘에는 안들지만 대충 돌아갑니다.. ^^
정영구
비회원

Post by 비회원 »

플러킹은 주변 객체들과의 응집, 분리, 정렬 세단계의 과정을 거쳐서 나옵니다.

이 세가지 조타 행동을 결합한 Steer벡터를 방향에 더해주면 그럴듯한 움직임이 나옵니다.
Locked