Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

언리얼에서 특정컴포넌트의 포지션과 회전이 변경되었을때 모든자식 컴포넌트의 콜리젼을 포함하여 충돌하는지 알아야 합니다. #23

Closed
kbmhansungb opened this issue Jul 26, 2022 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@kbmhansungb
Copy link
Owner

kbmhansungb commented Jul 26, 2022

언리얼에서 특정컴포넌트의 포지션과 회전이 변경되었을때 모든자식 컴포넌트의 콜리젼을 포함하여 충돌하는지 알아야 합니다.

삽질끝에 내린결론은 자신을 포함한 모든 자식컴포넌트에서 프리미티브 컴포넌트인경우 월드의 컴포넌트 스윕으로 검사하는 것입니다. (필요한 이그노어 설정 후)

여기서 제가 궁금한것은

조금더 편한 방법이 있는가?
충돌값을 가지고 자연스럽게 위치가 수정된 결과를 얻는 방법은? 예로 책상위에 종이를 손가락으로 누르고 움직일때 종이가 물체에 저항되어 로테이션이 변경되는 것을 예로 들 수 있습니다.
공부할 목적으로 피직스 컨스트레인을 사용하지 않고 만들고 있었습니다.

추가적으로 피직스 컨스트레인의 코드 작동을 설명한 내용이 있는지 궁금합니다.

Originally posted by @kbmhansungb in #3 (comment)

@kbmhansungb
Copy link
Owner Author

kbmhansungb commented Jul 27, 2022

질문에 대한 답변

[그나저나] [오전 12:29] 유니티밖에 모르지만 답변이 없어서 달아봅니다.

유니티에서는 자식객체 콜리전에 충돌이 있을경우에도 부모객체에서 이벤트 발생으로 처리 가능합니다. 언리얼도 비슷할것이라 생각됩니다. 콜리전 옵션의 문제는 아닐런지요.

상하 하이라키단으로 올려받는 충돌 이벤트를 사용하지 않고 자식객체의 특정 부위에 맞았는지를 각각 알고 싶은 신 거라면 어쩔수 없이 트리탐색이나 콜리전 컴퍼넌트 리스트를 준비하여 놓고 일일히 비교해야 할것 같습니다.

2, 3번의 경우는 피직스 컨스트레인을 어떻게 사용하는지에 대한 레퍼런스는 많으나. 피직스 컨스트레인이 어떻게 만들어졌고 구성되어 있는지에 대한 문서를 찾기 어려울 것이라 생각됩니다.

물리엔진을 만드는 과정에서 충돌체 강체 역학 같은거 파다보면 전공서적 한 두권으로 안 끝날것 같아요.

2의 예제만 하더라도. 가짜물리엔진에서는 종이의 중심점과 손이 짚은 위치의 거리로 영향력을 계산해서 영향력 만큼 종이를 움직이고 종이의 중앙 지점이 손가락에 끌려가도록 위치 및 로테이션 변경을 하면되지만

어느정도 수준이상의 물리 엔진이라면 종이특성(정지마찰력, 이동마찰력, 무게, 탄성) 바닥특성(상동) 손가락특성(상동) 을 기본 변수로 하여 강체 설정하고 무게중심에 따라 힘이 작용하는 방향을 계산하고 할것 같습니다.

@kbmhansungb kbmhansungb added enhancement New feature or request help wanted Extra attention is needed labels Jul 27, 2022
kbmhansungb added a commit that referenced this issue Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant