본문 바로가기

유니티/Asset

[ Asset - ObiRope ] 01 . SetUp과 기본 구조

[ Introduction ]

[ obi 에 관하여 ]

Obi 는 Unity용 Particle 기반 물리 플러그인 모음이다.  Obi의 모든 것은  Particle 이라고 하는 작은 구체로 만들어진다 .

Particle은 제약 조건을 사용하여 서로 상호 작용하고 다른 객체에 영향을 미치고 영향을 받을 수 있다 . 

모든 Obi Asset은 동일한 물리 프레임워크를 사용하고 동일한 아키텍처 디자인을 공유한다.

 

Obi에서 제공하는 Asset에는 밧줄 / 옷감 /유체등이 존재한다 .

이중 밧줄(Obi Rope)를 사용해 볼 것이다 .


[ Set Up ]

[ 임포트 하기 ]

https://assetstore.unity.com/packages/tools/physics/obi-rope-55579

 

Obi Rope | 물리엔진 | Unity Asset Store

Get the Obi Rope package from Virtual Method and speed up your game development process. Find this & other 물리엔진 options on the Unity Asset Store.

assetstore.unity.com

에셋 스토어에서 37 $에 구매 가능하다 .

임포트 하면 다음과 같이 들어온다 . 전체 폴더를 옮길 수는 있지만 내용을 수정해서는 안된다 .

구성은 다음과 같다 .

  • Editor : Unity 편집기 내에서 Obi를 실행할 때만 사용되는 Editor 스크립트 및 도구가 포함되어 있다.
  • Plugins : 여러 플랫폼(.dll, .bundle, .so 등)에 대해 Obi에서 사용하는 미리 컴파일된 라이브러리가 포함되어 있다.    ( Oni 백엔드  )
  • Resources : 런타임에 사용되는 리소스(주로 Material 및 셰이더)를 포함한다.
  • Samples : 샘플 장면, 리소스 및 스크립트가 포함되어 있다. 필요없다면 제거해주는 것이 안전하다 .
  • Scripts : 런타임 시 사용되는 스크립트 및 도구를 포함한다.

 

 

[ 백엔드 ]

백엔드 (Burst / Oni )는 Solver가 시뮬레이션의 실행을 위해 사용하는 물리엔진이다 .

위와 같이 두가지 백엔드를 사용 가능하지만 , Oni보다는 레거시 백엔드이기에 도큐먼트는 Burst를 추천했다 .


 

 

 

[ 백엔드 - Burst ]

Obi 5.6 이후 기본 백엔드이다 .모바일 환경에서 특히 성능을 발휘한다 .

Oni와 마찬가지로 완전히 CPU 기반이며 멀티스레딩과 SIMD를 많이 사용한다 .

진행전 Obi 에서 사용하는 핵심 물리 엔진 Burst 백엔드를 설치해야 한다 .

Solver에서 다음의 Unity 패키지가 있어야 Burst 백엔드를 사용 가능하다고 한다 .

Package Manager에서 검색하여 설치해주자 .

  • Burst 1.3.3 이상
  • Collections 0.8.0-preview  5 이상
  • Mathematics 1.0.1 이상
  • Jobs 0.2.9-preview.15 이상

이때 , Collections와 Jobs와 같은 Preview Packages는 직접 다운로드가 필요하다 .

Add package from git UPL을 클릭 , com.unity.collections, 혹은 com.unity.jobs를 설치해준다 .

 

또한 정상적인 성능을 위해 Jobs - Burst - Enable Compilation을 활성화 해준다 .

Jobs - Leak Detection을 Off로 비활성화 해준다 .


 

 

[ 구조 ]

[ 구조 ]

다음은 두 Solver가 있는 장면을 보여주는 다이어그램이다.

첫번째 Solver는 3개의 천 Actor를 시뮬레이션하고 다른 하나의 Solver는 2개의  로프Actor를 시뮬레이션한다.

 

이처럼 Obi01.Obi Solver / 02.Obi Updater / 03.ObiActorBlutPrint / 04.ObiActor 로 구성되어 있다 .

각 구성에 대해 살펴보자 .


 

[ 01 . Obi Solver ]

Obi Solver 물리 시뮬레이션을 수행하는 구성 요소이다 . 

Solver 는 중력, 관성 스케일등의 전역 시뮬레이션 매개변수모든 제약 조건에 대한 전역 매개변수를 노출한다 .

 

각 솔버는 계층 구조에서 찾은 모든 하위 Actor 를 시뮬레이션한다

이를 위해 여러 백엔드를 사용할 수 있다 (Obi 5.5 이상만 해당).


 

[ 02 . Obi  Updater ]

Obi Updater 하나 이상의 Solver 의 시뮬레이션을 발전시켜

Unity의 자체 물리 엔진과 동기화를 유지하는 구성 요소이다.

 

일반적인 사용 사례를 다루기 위해 여러 유형의 Updater가 Obi에 포함되어 있지만 시

뮬레이션 업데이트 주기를 정밀하게 제어해야 하는 경우 직접 작성할 수 있다.


 

[ 03. Obi ActorBlueprint ]

Obi Actor BluePrint많은 Particle과 제약 조건을 저장하는 Asset이다. 

자체적으로 시뮬레이션이나 렌더링을 수행하지 않는다. 

 

텍스처나 오디오 파일과 다르지 않은 데이터 컨테이너 일 뿐이다 .

Obi Actor BluePrint는 메시(ObiCloth 및 ObiSoftbody), 곡선(ObiRope) 또는 material 정의(ObiFluid)에서 생성된다.

즉 , 현재 Actor의 양상 (모양등)을 저장한다 .


 

[ 04. Obi Actor ]

Obi ActorSolver 내에서 BluePrint를 인스턴스화하는 구성 요소이다. 

모든 Actor는 solver 의 자식 이다 . 여러 Actor가 동일한  BluePrint를 공유할 수 있으며

가능한 한 동일한 BluePrint를 재사용하는 것이 좋다. 

액터의 예로는 rope, a flag, a bouncy jelly, or a water emitter가 있다 .

 

정리하자면 , Obi Updater가 있는 상태에서 Obi Solver의 자식에 있는 Obi Actor

Obi blueprint의 데이터를 받아 밧줄,옷감등을 구현한다


 

 

 

출처

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

 

Obi Physics for Unity - Big Picture

This is the manual for Obi 6.3. If you're looking for the 4.x manual, go here. Support for Obi 4.X has ceased on April 1st 2021, coinciding with the end of Unity 2018.4 LTS. No support requests will be attended for 4.X. If you're using 4.X it's recommended

obi.virtualmethodstudio.com

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

[ 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
[ Asset - ObiRope ] 02 . Obi Solver  (0) 2023.07.24