본문 바로가기

유니티/Asset

[ Asset - ObiRope ] 08 . Rope / Rod의 사용

[ Actor 생성하기 ]

[ Rope혹은 Rod Actor 의 생성]

물리효과에 반응하는 줄을 생성하기 위해 Obi Rope Actor를 생성하자 .

이때 , Solver와 Updater 가 없다면 자동으로 생성해줄것이다 .

 

생성시 자동으로 다음의 사항을 수행하지만 ,

각자 생성했다면 다음의 사항들이 지켜져야 한다 .

 

  • Solver의 자식으로 Actor (Rope등)가 들어 있어야 한다 .

  • Updater에서 해당 Solver를 가지고 있어야 한다 .

 

[ BluePrint 생성]

BluePrint를 연결해줘야 Actor는 실제로 보여진다 .

우클릭 - Create - Obi - Rope BluePrint를 통해 생성해준다 .

생성된 BluePrint를 Actor에 연결해준다 .

다음과 같이 생성이 완료된다 .

[ Rope와 Rod Actor ]

[ Rope ]

Rope는 Distance (거리) / Bend (굽힘) / Tearing(찢어짐) 제약 조건을 사용하여 입자를 연결하여 구성된다 .

이 제약조건으로 로프는 찢어지거나 런타임에 길이를 변경할 수 있다.


 

 

[ Rod ]

Rod 는 Strech & Shear(늘이기/전단) / Bending&Twist (구부리기/비틀기) / Chain(사슬)제약 조건을 사용하여

지향성 입자를 연결하여 만든다. 

Rope보다 훨씬 더 정교하고 비틀림을 시뮬레이션하고 모양을 유지할 수 있다.

그러나 런타임 시 길이를 변경할 수 없으며 찢어지거나 분할할 수 없다. 

 

Rod 는 스프링, 두꺼운 막대, 안테나 등을 모델링하는 데 이상적이다.


[ Rope와 Rod 비교하기 ]

 

Rod 는 정지 형태를 유지할 수 있지만 Rope는 그렇지 않다.

Rope와 달리 Rod  찢어지거나 동적으로 크기를 조정할 수 없다 . 

 

아래 표는 순서대로 모양유지 / 비틀림 저항 / 동적인 크기 조정 / 찢음 여부를 비교한 표이다 .

 


 

[ Rod와 Rope의 BluePrint의 공통 옵션 ]

  • Thickness : Rope / Rod를 생성하는 데 사용되는 입자의 반경(미터 단위)입니다.주의 ) 해당 값은 건들지않는게 좋다 . 충돌시 위의 값을 줄이면 이상해져서 . BluePrint에서 조절하는게 좋다 .
  • Resolution : 길이 단위당 입자 밀도. 값이 1이면 로프 두께와 동일한 중첩이 있는 입자가 생성된다. 값이 0.5이면 입자가 서로 거의 닿지 않는 방식으로 생성된다. 0.5보다 낮은 값은 입자 사이에 간격을 남겨 충돌 감지 견고성에 좋지 않지만 성능에는 도움이 됩니다. 값이 0이면 제어점당 하나의 입자만 생성된다.

내부적으로 Resultion을 기반으로 로프의 입자양을 계산하는데 사용하는 공식은 다음과 같다.

particle Count = ropeLength / ropeThickness * Resolution

해당 공식을 통해 런타임에 로프를 생성시 다음 공식을 사용하여

로프에 있는 입자의 특정 양을 얻는데 필요한 해상도 계산이 가능하다 .

resolution = particleCount / (ropeLength / ropeThickness).
해상도: 1
해상도: 0.5
해상도: 0.1

 

[ Rod의 옵션 ]

Rod가 초기 모양을 계속 유지하려면 이 옵션을 활성하자. 

비활성화하면 막대가 완전히 직선 모양을 취하게 된다 .


 

[ Rope의 옵션 ]

로프를 찢거나 크기를 조정할 때 사용하도록 할당된 추가 입자이다. 

런타임 시 로프를 찢거나 크기를 조정할 계획이 없다면 이 값을 0으로 설정할 수 있다.

 



 

 

 

 

로프 또는 로드 블루프린트를 편집하려면 로프 또는 로드 액터의 블루프린트 슬롯 에 할당합니다. 그런 다음 경로 편집 버튼을 클릭하여 경로 편집 모드로 들어갑니다.

 

[ 경로 편집하기 ]

[ 옵션  ]

하나의 제어점(작은 흰색 구체)이 선택된 경로 편집 모드에서

두께 핸들(주황색 디스크)과 두 개의 접선 핸들(양쪽이 사각형)이 표시된다 .

로프/막대 청사진의 입자는 여러 제어점을 통과하는 곡선 모양인 경로를 따라 생성된다 . 

경로 편집기에서 제어점을 추가/제거하고, 기존 제어점을 이동/회전/축소하고,

로프 입자에 보간 될 제어점별 속성을 설정할 수 있다 . 


 

[ 경로 모양 확인하기 ]

 

경로를 편집하는 동안 로프/막대 모양의 모양은 즉각적으로 변화한다 .

경로를 편집하는 동안 ObiParticleRenderer 를 사용하여 경로가 입자로 어떻게 변환 되는지

명확하게 확인하는 것이 유용할 수 있다 .

경로를 편집할 때 로프의 청사진을 수정하게 됩니다 . 수정 사항은 동일한 청사진을 공유하는 모든 로프/막대에 적용 됩니다 . 이렇게 하면 워크플로우 속도를 크게 높일 수 있지만 주의하지 않으면 이전 작업을 망칠 수도 있습니다! 기존 청사진을 기반으로 새 청사진을 만들고 싶다면 복제하세요.

 

[ 도구 알아보기 ]

  • 제어점 추가 도구

이 토글을 사용하면 도구가 제어점을 스플라인에 시각적으로 추가할 수 있습니다. 마우스 커서와 스플라인의 가장 가까운 지점 사이에 녹색 점선이 나타납니다. 클릭하면 해당 위치의 곡선에 새 제어점이 삽입됩니다.


  • 제어점 제거 도구

이 토글을 사용하면 도구가 스플라인에서 제어점을 시각적으로 제거할 수 있습니다. 마우스 커서와 스플라인의 가장 가까운 지점 사이에 빨간색 점선이 나타납니다. 클릭하면 곡선에서 가장 가까운 제어점이 삭제됩니다.


  • 경로 열기/닫기

경로는 열려 있거나 (양 끝이 독립적임) 닫혀 있을 수 있습니다

(곡선이 닫힌 경로를 따르며 양 끝이 동일한 위치와 접선을 공유함).


  • 방향 도구(막대만 해당)

이 도구를 사용하면 각 제어점의 방향을 정의할 수 있습니다. 이렇게 하면 로드의 나머지 비틀림을 지정할 수 있습니다.


  • 접선 핸들 전환

접선 핸들을 켜거나 끕니다.


  • 두께 핸들 전환

두께 핸들을 켜거나 끕니다.


  • 제어점 편집

"Shift" 키를 눌러 여러 제어점을 한 번에 선택하거나 "Ctrl" 키를 사용하여 선택 마키를 드래그할 수 있습니다. 변환, 회전 및 스케일 기즈모는 일반 게임 오브젝트와 동일한 방식으로 작동하므로 피벗 및 변환 공간 토글도 마찬가지입니다.

 

[ 늘어나지 않는 로프 만들기 ]

[ 관련된 옵션 ]

Resolution을 줄여준다

Streching  Scale을 줄여준다

Substeps를 높여준다 (반대로 낮추면 늘어질것)

Damping / Sleep Threshold를 높여줌으로 움직임을 줄여 줄 수 있다

 

출처

http://obi.virtualmethodstudio.com/manual/6.3/ropesetup.html

 

 

'유니티 > Asset' 카테고리의 다른 글

[ Asset - ObiRope ] 07 . 최적화 하기  (0) 2023.07.28
[ Asset - ObiRope ] 06 . 제약 유형  (0) 2023.07.25
[ Asset - ObiRope ] 05 . Simulation  (0) 2023.07.25
[ Asset - ObiRope ] 04 . Actor  (0) 2023.07.24
[ Asset - ObiRope ] 03 . Updater  (0) 2023.07.24