Constraint Network dynamics node

이 dop은 현재 Bullet solver와 wire solver에서만 지원된다고 함.(16.5 기준)

이 노드는.. 같이 붙어있도록 강제된 RBD 오브젝트들을 정의해준다..
어떤 오브젝트들이 붙어야되는지 sop 지오메트리가 구체화 된다..(그러려면 dop에서 sop으로 지오메트리를 추출해줘야 함.
아! 그래서 새책에서 자꾸 sop으로 추출해준다고 햇구낭.,. 근데 이 추출이란게 dop net 안에서 작업하고 geometry context로
나와서 dopnet1 노드에 object merge - object 항목에 오브젝트의 갯수랑 그 이름(과 데이타)를 입력해주는 방식이엇음.)


??? 근데 geometry context에서 dopnet 노드 바로 위에 attribute create 연결해주고 거따가 
constraint_name하고 constraint_type을 입력해주는데 왜 attribcreate가 dopnet 위에 잇는거냐, dopnet 밑에 연결하면 안되는거임?


destruction을 만들 때, constraint network 노드랑 glue constraint relationship(ConRelGlue)노드를 같이 써줘야 함.
왜냐면 현재로선(16.5에서는) glue constraint로 붙여준 부분만이 Bullet Solver에 의해 뿌서질 수 있거든..
(glue를 해주는 이유:
geometry 레벨에서 fracture noise 적용 다 해준 sop을 만들고 나서 dop에 중력을 추가하면
object가 떨어지겟지? 근데 그냥 떨어지면 안되니까 rbd fracture object로 깨짐을 만들어주게 됨.
근데 그 상태로만 떨구면 얘네가 바닥에 닿기도 전에 파편 노이즈 적용된대로 떨어지는 순간부터 쪼개지게 됨.
그런 현상을 막고 지면에 충돌할 때 부서짐이 발생하도록 떨어지는 동안 파편들을 붙여(glue)줘야하는 것임.)

그래서 attrtibute create에 어트리뷰트를 두 개 만들고, constraint_name과 constraint_type을 만들어주고,
constraint_name의 string 부분에 ConRelGlue라고 써주는 것임. 
attribute create 노드는 기본적으로 다른 어트리뷰트를 가져오는 애니까 나는 dop net 안에서 constraint_name/type 이라는
어트리뷰트를 각각 가져온거고, name은 말 그대로 name 이니까 어떤 어트리뷰트를 가져올건지 이름 써준거임. 
바닥에 떨어지기 전 까지 붙어있어야 하는 오브젝트를 가져와야 하니까 ConRelGlue를 가져온거고.


??? 근데 type에 왜 all이라고 쓴 건지는 잘 모르겠다.. 쪼개지는 파편 모두를 가져와야 하니까 all이라고 쓴건가?
어차피 name에서 glue 얘 가져와서 다 가져와진.. 아 dop net에서 가져온 glue는 glue된 물체 자체가 아니고
glue를 하게 하는 속성을(어트리뷰트를) sop으로 추출한건가보다. 
뽀개질 물체 자체는 geometry context에 이미 있으니 object를 가져와야 하는 쪽은 오히려 dopnet 안이구나. 그래서 rbd fracture object나
rbd object로 sop에서 물체를 dop으로 가져오는 거엿슴. dop에서 가져오는건 sop에 dop을 적용시켜야 하니 dop 안의 attribute만 가져오는거고..

constraint_type원어

제약 조건에 영향을 미치는 여부를 지정 positionrotation또는all자유도. 이 속성이 없거나 유효하지 않은 값이있는 경우 기본값이됩니다 position.



힙파일 안에 메모해둔 것.
1. rbdfracturedobject just extracts object from sop to dop.
2. glueconstructrelationship is just making glue node.(in this point, i dont know which objects are put togethered.)
3. i can give some glue on the object using constraintnetwork node. it is like kind of merge node. i just 'merged' object and glue function!
4. finally, i assign rigidbodysolver so that make solver's movement.

/// 

sop solver를 이용해서 constraint network의 지오메트리에서 프리머티브를 없애주어 뽀개지게 할 수 잇다.
linear constraints - force 와 distance 프리머티브 어트리뷰트
angular constraints - torque 와 angle 프리머티브 어트리뷰트
glue constraints - impact 프리머티브 어트리뷰트
를 각각 이용하여 뽀개지게 할 수 잇다. 


connect adjacent pieces.
: making connection between adjacent pieces's center points. 
근디 커넥션타입에서 adjacent pieces from points 하고 """ from surface points 하고 뭔 차이지?



노드 주소
http://127.0.0.1:48626/nodes/dop/constraintnetwork


ground plane이 렌더링이 안된다. 
geometry context에서 dopnet1 노드의 object 항목에 object 수 2개로 늘린담에
하나는 ground 쓰니깐 ground plane이 뜨기는 떴다. 근데 두번째 오브젝트 항목에 이름 뭘로 써도 오징어가 안뜬다...
testgeometry_squab1/ squab1 / rbdfracturedobject1 .. 등등 노드 이름 바꿔서도 해봤는데 안된당..
그래서 걍 geometry context로 돌아가서 grid 만든담에 merge 해줬는데 그래도 안보인다!!!!!!!!!!! 뭐야!!! 대체 이유가 뭐지1!!!!!!!!!!

→이거 dop net 안에 ground plane 에러난 것 같은데 dopnet1에 object merge를 * 라고 써놓으면 에러난거까지 같이 불러와져서그랫음
글고 rbdfracturedobject로 piece by piece로 나눈 것이기 때문에 이름을 딴걸로 가져오면 안되고 piece* 이렇게 써야지 쪼개진 조각들 다 불러올
수가 있음! 


글고 이거 쪼개진 안쪽면에 컬러값 다르게 주니까 빨간 금같이 보이는데
이거 무슨 공의경계도 아니고 안쪼개졌을 때는 선 안보이게 하는 방법이 없을까?

└ 왜 그런지 알아냈음. color의 class가 point로 되어있어서 그랬던 거였음.
    class를 Detail로 하니까 껍데기도 뻘개졌고, primitive나 vertex로 하니까 실금 사라짐!

-------

박스같은 거 안으로 담겨져서 뽀개지게끔 하고 싶은데





aa flow noise

나는 10년 된 와콤 뱀부 타블렛 사용중인데 너무 오래 된 모델이라 

더이상 와콤 공식 사이트에서 드라이버 지원을 하지 않는 것 같았다.

데스크탑을 새로 맞춰서 드라이버를 다시 설치해야 하는데...

찾아보니 드라이버 씨디가 남아있었다. 근데 조립컴이라 컴터 맞출 때 

odd를 옵션에 넣지 않았더니 씨디를 사용할 수가 없었음..

그래서 파일로 압축하여 예전 노트북에서 데탑으로 파일을 옮겼는데

나처럼 와콤 구형 모델인 뱀부 CTH-460 타블렛을 사용하는 사람들 중에 

드라이버가 필요한 분들이 있을 지 모르니..파일을 공유합니다. 

혹시라도 검색으로 블로그 방문하시게 된 분들 중 필요하신 분이 계시다면 모쪼록 잘 사용하시길 바랍니다.

파일 크기가 10메가바이트가 넘나보니 본문에 첨부는 못하고 링크를 첨부합니다.

바이러스 없으니까 안심하셔도 됩니다~


다운로드 링크

https://drive.google.com/file/d/14vejGIbe7Luj5ta1ex97LvnFz_WKyYd2/view?usp=sharing

냉무

+ Recent posts