눈, 비 파티클 제어 알고리듬 질문 드립니다.

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

Moderator: 류광

Locked
비회원

눈, 비 파티클 제어 알고리듬 질문 드립니다.

Post by 비회원 »

눈이 전방에 일정 면적에 1000 개가 내리고 있습니다.

카메라가 전진 이동할 경우 1000 개는 유지하고 카메라 뒤로 밀린 파티클을 감지하여
가는 방향 멀리 쪽으로 파티클을 옮겨줄려고 합니다.

카메라를 좌로 획~ 틀을 경우
우측으로 밀려난 파티클을 좌측으로 다시 나오게끔 순간 이동 시켜줄려고 합니다.

어떤 알고리듬을 쓰면 좋을까요 ?

실제로 해보니 별로이고 관리도 힘들고 버그도 많이 납니다.

경험자 분들의 좋은 아이디어 부탁드립니다.

% 구현하기 쉬운 거 위주로 알려주세요 ㅎㅎ
쌀밥
Posts: 1058
Joined: 2003-02-02 20:23
Location: THQ Inc.
Contact:

Post by 쌀밥 »

파티클은 기본적으로 4가지 기능으로 구현됩니다.
1. 생성
2. 이동
3. 변화
4. 소멸

말씀하신 부분은 2번 "이동" 부분에서 해결할수 있을것 같습니다. 매 frame 마다 카메라가 이동하는 것을 확일할때, z 나 x 좌표 값을 view frustum 의 near 와 far 혹은 left, right 밖으로 나간 파티클을 찾아서 갱신해주면 되겠네요.

modulation 연산으로 어떻게 되지 않을까 싶은데, 어떤 부분에서 버그가 난다는 건지 모르니 자세하게 답을 달수가 없군요...
I want to live in korea, making programs, but...
http://wrice.egloos.com
비회원

Post by 비회원 »

일단 쉽게 해놓긴 했습니다.

파티클을 카메라 보는 방향을 따라 좌우로 랜덤하게 죽 생성해놓고
바닥에 떨어져서 생명이 소진한 눈 입자를 다시 카메라 보는 범위 내에서 랜덤 생성시켜버렸네요.

그렇게 하니까
카메라 이동을 하던 회전을 하던
다시 카메라 뷰 안에 랜덤 생성하니까 결국 다 채워지긴 하더군요.

그러나 갑자기 돌리면 돌린 쪽이 순간적으로 약간 허전하긴 하다는 .. OTL
Bahamut
Posts: 45
Joined: 2006-05-21 20:32

Post by Bahamut »

글세요,
파티클을 카메라 주변에 생성시켜주는게 앞쪽으로 찍다가 프러스텀 체크해서 이동시키는 비용보다 적게들지 않을까요?

전 대체로 파티클은 생성후 스스로 갱신/소멸하고, 에미터만 가지고 조작하는 식으로 했었는데요...
왜 항상 출발선에서 나아가지 못할까...
Locked