Isaac Sim
Nvidia
어우... 1월1일 부터 쓰던 글이 있는데... 오류가 너무 많아서 ㅋㅋㅋㅋㅋㅋㅋㅋ 처음부터 해야할 것 같다...
우선 유니티랑 Articulation Body에 대한 개념이 다르고 Mass 잡는게 Collider shape에 재질을 고려하여 automatic 연산을 하기 때문에 머리가 깨질 것 같음... 연말부터 이것만 했는데 어떻게 파면 팔수록 오류만 더 나온다. 개인 공부하다가 생긴 문제 정리하는 글임
CAD Scale 문제
정말 계속 Scale 문제가 발생한다. 이전 글에서 STEP로 받아오자~ 했는데 그 이유가 1년전 웨비나에서 OBJ가 가장 좋다고 했지만 파트명이 다 깨짐. 근데 Articulation Body는 파트간 Joint 설정을 해줘야 함. ? => 하나하나 클릭해야 함.
누군가는 파트명을 옴니버스 안에서 바꾸면 되지 않냐? 라고 이야기 할 수 있지만 Layer 개념 때문에 수정이 안됨 대체 왜 Layer를 해당 CAD로 옮기고 Authoring 해도 안되는지 모르겠음.
아무튼 기본 Scale 1 값일 때 omniverse 에서 사용하는 default unit 맞추는 것 까지는 무난하게 했다. 하지만 몇가지 문제가 발생했는데....
Child transform 문제
아오... 윗 파트의 움직임이 이상해서 대체 뭐지 했다가 요상한 것을 봐버렸다.
40391meter? 46049meter...? 어질어질 하다. 40km 46km 공중에 떠있다니 이게 말이 되는 이야기 인가.... 내가 크레인의 크기를 잘못 알고 있나?
근데 높이도 안맞는다... 봉 하나 만들어서 길이 재봤는데 안맞음... 이거는 Ubuntu 버전에서는 맞았는데 윈도우에서는 또 안맞네.... 이 글 보시면 절대 윈도우에서 옴니버스 하는거 다시 생각해보세요... 프레임 방어도 하나도 안됨 차이가 심함
아무튼 이 문제로 콜라이더가 충돌이 튕겨져 나가는데 일정하지 않게 튀는 현상이 발생했음. 부품이 그렇게 작아서 mass 값이 작지도 않고 그렇다고 물성치 값이 크지도 않은데 왜? 라고 생각했을 떄 답은 하나다. 40391cm(step니까) 를 meter로 받아와서.... 이거 몇가지 가설 세워놓고 확인했는데 이게 맞는 것 같음.
Joint Tree
이게 유니티나 CAD 조인트 트리를 생각하면 안됨... CAD 모델링 할 때 같은 부품을 복사 붙여넣기 하는데 (이거는 좋은 습관임 옴니버스에도 같은 파트의 부품은 Instances화 해서 한번에 불러오더라)
캐드에서 Component에 body가 2개일 경우 또는 동일 형상일 경우 ㅋ.ㅋ 옴니버스에 해당 부품을 3개로 불러옴.
(기존 2개의 부품 1, 왼쪽 1, 오른쪽 1) 근데 뭐 여기까지는 지워주면 되니까~ 생각 할 수 있는데 그게 문제가 아니다. 무조건 Base_Part와 같이 고정 틀에 여러 바디를 엮는걸 매우매우 지양해야 함.
안그러면 Fixed Joint를 2개 잡아야 하는데 이게 함수 내에서 양쪽에서 계속 호출 하는 것 같음
왜 그렇게 생각했냐면 부품이 춤을 추더라
주로 이 경우 양쪽에서 계속 위치를 맞추려고 하니까 왔다리 갔다리 하는 것 같은데... 공차가 있는 설계도 아니고 이해하기가 어려웠음.
결론
Blender Connector로 간다.... 여기서 안되면 도망가ㅏㅏㅏㅏ
댓글