안녕하세요
물고기 움직임을 구현중인데요
흠 물고기 각각의 움직임은 그런데로 나왔는데
이 물고기의 그룹 움직임이 많이 어색하네요..
Flocking을 적용시켜 보았는데요 모든 물고기가 일정한 방향, 속도로 움직이니까 로보트 같고..
아쿠아리얼2를 보면 물고기가 그룹으로 움직이되, 그룹안에서 자유롭운 움직임으로 자연스럽게 구현이 되어있는데요 이 움직임을 어떻게 구현해야 할지 잘 모르겠습니다
처음에는 리더물고기를 두고 일정한 반지름으로 바운드를 준뒤 바운드를 벗어나면 리더 물고기에게 다가가고 일정한 거리가 대면(리더물고기에게) 랜덤으로 포지션을 바운드 안쪽으로 찍고 움직이게 해놓았는데 이건뭐...;;
구글링을 해보아도 참고할만한 알고리즘은 못 찾겠네요..
참고할만한 알고리즘등을 알고계신분은 도움 바랍니다 감사합니다
물고기 집단(그룹) 움직임..
Moderator: 류광
-
- Posts: 225
- Joined: 2005-02-25 11:33
- Location: (주)위메이드엔터테인먼트 엔진개발팀
- Contact:
음..
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 를 따라다니다 보면 괜찮은 자료가 많은 것 같네요.
http://www.red3d.com/cwr/boids/
http://www.vergenet.net/~conrad/boids/pseudocode.html
http://www.geocities.com/pterandon/boids.html
위의 세 개 link 인데요.... 해당 page 들의 link 를 따라다니다 보면 괜찮은 자료가 많은 것 같네요.
-
- Posts: 45
- Joined: 2009-03-23 17:21
알고리즘이라고 특별하진 않은데...
대충 1번 타겟은 일정한 패스에 따라 움직이게 해 놓고...
각 물고기 마다 1번 타겟 근처에 1번타겟을 중심으로 움직이는(x,y,z로 각각 주기가 랜덤하게 다른 sin곡선으로 움직임) 타겟을 하나씩 만들어서
그 타겟을 쫓아가게 만들었군요... 속도는 랜덤... 적당한 시간(약2초-4초.. 랜덤) 마다 한번씩 바꾸게...
너무 멀리 떨어 졌을때만 속도를 조금 빠르게...
너무 가까우면 살짝 속도를 느리게...
이 정도로만 구현 해 놓았는데.. 뭐... 맘에는 안들지만 대충 돌아갑니다.. ^^
각 물고기 마다 1번 타겟 근처에 1번타겟을 중심으로 움직이는(x,y,z로 각각 주기가 랜덤하게 다른 sin곡선으로 움직임) 타겟을 하나씩 만들어서
그 타겟을 쫓아가게 만들었군요... 속도는 랜덤... 적당한 시간(약2초-4초.. 랜덤) 마다 한번씩 바꾸게...
너무 멀리 떨어 졌을때만 속도를 조금 빠르게...
너무 가까우면 살짝 속도를 느리게...
이 정도로만 구현 해 놓았는데.. 뭐... 맘에는 안들지만 대충 돌아갑니다.. ^^
정영구