Particle system
/ 3 min read
파티클 시스템 구현하기
폭발 만들어보고 싶음 ㅇㅇ
잘 된다면 물리 발표같은걸로 할 수 있을까?
구체화, 실현 된다면 링크 걸기
SDL2로 파티클 스트럭처 만들기
struct Particle { x: f32, y: f32, vel: Vec2}
그리드 단위로 벡터로 바람? 구현하거나 파티클 타입으로 폭발하는거 처럼 보이게
struct ExplotionParticle { origin: Point, tick: f32}
impl Particle { fn move(&mut self) { if tick < 200 { self.vel += randomVectorTowardOriginorwatever; } else if 200 <= tick && tick < 800 { self.vel += randomVectorTowardUporwaever; } else if 800 <= tick && tick < 1300 { // manipulate vector like spinning or like swirl around po=ivot point like blabahsaa } }}
위같은 느낌?
아니면 진짜 폭발해서 바람이 폭발처럼 나오게 하는 방식도 가능하다면 좋을듯 수도코드:
모든 그리드 벡터(바람)에 반복: 벡터의 반대에 있는 가장 가까운 벡터에 일정? 비례? 빼기(바람으로 대기압 낮아진거 표현하려함) // (아니면 각 그리드에 벡터랑 압력 전부 줘도 좋고, 애초에 바람이 압력에 의한거니까 바람을 vector로 표현하는게 아니라 압력을 표현하고 getWind 같은 함수로 그때그때 바람을 측정하는것도 바쁘지 않을듯 // 그런식으로 폴발할때 엄청난 압력을 주면(바닥에 뭔가 고체 물질 성질 추가해서 옆으로 퍼지게) 폭발하는 파티클 입자같은걸 만들 수 있지 않을까
이런거 표현하려고 노력하는 물리엔진이 한둘도 아닌데 내가 너무 optimistic 한걸지도?
ㅁ?ㄹ 어짜피 지금 새벽감성으로 뭔가 하고싶은거 적고있는거니까