본문 바로가기

유니티/Asset

(8)
[ 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에 연결해준다 . 다음과 같이 생성이 완료된다..
[ Asset - ObiRope ] 07 . 최적화 하기 [ 성능 향상하기 ] [ Burst 활성 여부 및 작업 디버거 및 안전 검사 비활성화 ] Obi Solver의 Backend가 Burst 인지 확인한다 . 비활성화시 코드가 벡터화 되지 않으므로 대부분의 수학연산비용이 눈에 띄게 증가하기 때문이다 . Jobs Debugger를 비활성화 한다 . 활성화시 Obi 코드 전체에 검사가 추가되어 속도가 느려지기 때문이다 . Leak Detection을 off 해준다 . 위와 같은 이유로 꺼준다 . [ 최대한 적은수의 SubSteps와 반복의 사용 ] SubSteps 는 Obi의 주요 품질/성능 트레이드오프이다 .(하나가 증가하면 하나는 감소하는 구조) 시뮬레이션의 시간 해상도(즉, 시뮬레이션이 업데이트되는 빈도)를 설정할 수 있습니다. 각 SubSteps 에서 ..
[ Asset - ObiRope ] 06 . 제약 유형 [ 제약 유형 ] [ 제약 유형 ] 충돌 제약 충돌 제약 조건은 입자를 충돌체 외부에 유지 하려고 합니다 . 높은 반복 횟수는 입자당 여러 충돌이 있을 때 더 강력한 충돌 감지를 생성합니다. 입자 충돌 제약 충돌 제약 조건과 동일하지만 입자 간에 충돌이 발생하는 경우입니다. 거리 제약 각 거리 제약 조건은 두 입자를 서로 고정된 거리에 유지하려고 합니다. 이들은 천과 로프의 탄력성을 담당합니다 . 반복 횟수가 많으면 더 높은 강성에 도달할 수 있으므로 로프/옷감의 신축성이 떨어집니다. 핀 제약 핀 제약 조건은 입자 와 rigidbody 에 힘을 가하여 상대적인 위치를 유지하도록 합니다. 이들은 동적 첨부 파일 에 의해 생성되고 사용됩니다 . 높은 반복 횟수는 핀 위치에서 드리프트의 양을 줄여 부착물을 더..
[ Asset - ObiRope ] 05 . Simulation [ Simulation ] [ simulation in obi ] Obi는 모든 물리적 시뮬레이션을 입자 (Particle) 및 제약 조건(constraints)의 집합으로 모델링한다 . 즉 , 입자는 자유롭게 움직이는 물질 덩어리이며 제약 조건은 입자의 동작을 제어하는 ​​규칙이다 . 각 제약 조건은 입자 집합과 (선택적으로) "외부" 세계에 대한 정보(충돌기, 강체, 바람, 기압 등)를 입력으로 받는다. 그런 다음 특정 조건을 충족하도록 입자의 위치를 ​​수정한다. 예를 들어, 거리 제약 조건을 통해 두 입자를 서로 특정 거리 내에 유지하려고 하거나, 충돌 제약 조건을 통해 입자가 충돌체 내부로 들어갈 수 없도록 하거나, 공기 역학적 제약조건을 통해 입자를 주변의 공기 흐름과 일치하는 위치에 배치 할..
[ Asset - ObiRope ] 04 . Actor [ Obi Actor ] [ Obi Actor ] Actor는 천 조각, 밧줄, 유체 방사체 또는 소프트 바디등으로 나뉜다. 모든 Actor는 BluePrint를 입력으로 받는다. Actor는 BluePrint에 포함된 정보(입자 및 제약 조건)를 인스턴스화하여 Solver 가 시뮬레이션할 수 있도록 한다. 여러 Actor에서 동일한 BluePrint를 재사용할 수 있다. Actor를 시뮬레이션에 포함시키려면 Solver의 자식 이어야 한다. 런타임에 Actor 부모를 새 Solver로 바꾸 거나 원하는 경우 현재 Solver의 계층 구조에서 제거할 수 있다 . 시뮬레이션을 시작하고 실행하는 데 필요한 단계는 만들려는Actor 유형에 관계없이 매우 유사하다. 적절한 유형의 BluePrint 를 생성한다 ..
[ Asset - ObiRope ] 03 . Updater [ Obi Updater ] [ Obi Updater ] ObiUpdater는 실행 중 특정 지점에서 하나 이상의 솔버 시뮬레이션을 진행하는 구성 요소이다 . FixedUpdate() 중 나머지 물리학과 동기화하여 Solver 시뮬레이션을 업데이트하기를 할 수도 있다. 혹은 골격 애니메이션 후 또는 LateUpdate() 중에 물리를 업데이트 할 수 있다 . 시뮬레이션을 업데이트하는 시기와 방법을 완전히 제어하기 위해 자체 업데이트 구성 요소를 작성할 수도 있다. 일반적으로 Scene에는 하나의 Updater만 있는게 좋다 . 만약 여러 Updater가 있어야 한다면 적어도 동일한 Solver를 참조하는 것은 피해야 한다 . 또한 Updater 에서 참조하지 않는다면 Solver의 시뮬레이션은 업데이트 ..
[ Asset - ObiRope ] 02 . Obi Solver [ Obi Solver ] [ Obi Solver ] 입자 물리학을 시뮬레이션하고 제약 조건을 적용하는 역할을 한다. Solver 는 다음 3가지 사항을 기억해야 힌다 . Scene의 모든 GameObject에 추가할 수 있으며 동일한 장면에서 동시에 작동하는 둘 이상의 솔버가 있을 수 있다 . 모든 Actor는 업데이트 및 렌더링을 위해 Solver의 자식으로 존재해야 한다 . 각 Solver는 다른 Solver와 완전히 독립적이다. 따라서 다른 Solver에 의해 업데이트되는 Actor는 서로 상호 작용/충돌하지 않는다. 동일한 Solver의 Actor만 서로 반응한다. Solver는 항상 로컬 공간 에서 시뮬레이션을 수행한다 . 즉, 솔버를 변환, 회전 또는 스케일링하면 시뮬레이션이 전체적으로 엄격..
[ 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 | 물리..