피직스 개념이...

수학, 물리학 등 게임 프로그래밍의 기반이 되는 이론에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

피직스 개념이...

Post by 비회원 »

피직스에 대한 간단한 개념 질문드립니다.

제가 알기론 디스크립트 정보들을 createActor로 해서 Scene에 담고 그다음에 simulate해주면

자동으로 각 actor의 정보들을 가져와서 실행시키는 것 아닌가요?

그리고 특정 물체에 actor를 만들면 그 물체의 위치 제어값을 따로 계산해서 넣어줘야 하나요? 중력값을 넣으면

적용이 되서 초기 위치에 상관없이 밑으로 계속 떨어지는거 아닌가요?
올로
Posts: 73
Joined: 2005-04-26 15:54

Post by 올로 »

이해하고 계시는 개념은 맞습니다.
하지만 actor의 타입에 따라(혹은 설정에 따라) 중력을 적용받지 않을 수도 있습니다.

actor는 2(+1)가지 타입이 있는데

static 과 dynamic(+kinematic) 입니다.

1. static 타입은 시뮬레이션 속도면에서 이득을 받을 수 있지만, 움직일수 없는 등의 여러가지 제약 사항이 붙어있습니다.

2. dynamic 타입은 일반적인 강체 물리용 actor 입니다.
힘, 충격, 중력 등에 의해 움직여 집니다.

3. kinematic은 dynamic 타입에 kinematic 플래그를 설정한 것으로
일반적인 강체 물리(힘, 충격, 중력)의 영향을 받지 않으며(대신 다른 actor에게 충돌 등의 영향을 줄 수는 있습니다.)
특정 포인트로 이동시킬수 있습니다. 일반적인 dynamic 타입을 특정 위치로 이동시키는 것은
"순간이동"의 개념만 있으므로 의도치 않은 현상을 일으킬 수도 있지만
kinematic의 경우는 특정 위치로 "이동" 시킬 수 있습니다.
이경우에 이동 궤적상의 충돌 처리도 같이 행해집니다. "순간이동"의 경우 이부분이 이뤄지지 않습니다.


혹시 중력을 받지 않아서 질문하신거라면
디스크립터에서 body가 NULL(기본값)이면 static으로 생성되니 체크해보세요.
isDynamic 메소드로 dynamic actor인지 확인해보시기 바랍니다.
혹은 gravity 관련 플래그가 꺼져 있지는 않은지 확인해보세요. (기본값 ON)
비회원

질문자입니다.

Post by 비회원 »

먼저 답변감사드립니다.

혹시 actor를 등록한 물체의 좌표계를 다시 피직스 simulate로 인해 변경된 좌표계 값으로 다시

넣어줘야 하나요?
비회원

해결했습니다

Post by 비회원 »

감사합니다
Locked