오늘의 하이라이트
- 강체 시뮬레이션에 사용할 객체를 조달하는 방법(맞춤 조달)
지난 시간의 하이라이트
- Geometry Spreadsheet를 이해하고 Object Merge에서 원하는 데이터에 액세스
- 부품 변환
‘그릇’
- RBD 패킹된 객체
우리가 배우고 싶은 것
- RBD Packed Object에서 사용하려는 객체를 로드하는 방법
(일반적인 솔버 사용법을 알아야 합니다.
)
일반 솔버를 사용한 시간 경과에 따른 객체의 모양
솔버 작업의 핵심
- 이전 프레임의 결과를 기반으로 솔버에서 사이클이 시작되고 이 사이클의 결과가 솔버의 결과로 사용됩니다.
솔버가 해야 할 일 1)
15프레임에 포인트가 나타나도록 해보세요.
- 솔버의 시작 프레임까지 prev_frame에는 내용이 없습니다.
- 시작 프레임에 도달하면 Prev_frame은 솔버에 대한 첫 번째 입력으로 들어오는 데이터입니다.
- 시작 프레임 솔버의 결과는 prev_frame으로 솔버 내부의 사이클을 출력한 결과입니다.
이제 프레임 15에 도달했을 때 점이 나타나게 하려면 어떻게 해야 합니까? 어떻게 해야 하나요?
15프레임이라고 합시다.
Prev_frame의 콘텐츠는 14개 프레임의 솔버 결과입니다.
14번째 프레임까지 내용이 없었기 때문에 15번째 프레임의 prev_frame에도 아무것도 없습니다.
연결하려는 추가로 추가된 점은 다음과 같으므로 병합을 사용하여 점을 연결합니다.
우리가 원하는 것은 포인트가 프레임 15에 생성되는 것이기 때문입니다.
위 이미지의 내용은 솔버의 규칙이 아니어야 합니다.
위의 내용이 규칙이 되면 시작 프레임부터 모든 프레임의 주기마다 도트가 생성되기 때문입니다.
시작 프레임에서 솔버의 결과는 add로 더해지는 점입니다.
(현재 Prev_frame에는 콘텐츠가 없습니다.
)
다음 프레임에서는 시작 프레임의 결과로 얻은 포인트가 Prev_frame의 내용에 들어가고, 이 포인트에 또 다른 포인트가 추가되어 결과적으로 두 개의 포인트를 얻게 된다.
다음 프레임에서는 위의 두 점이 Prev_frame의 내용으로 들어가고 결과적으로 1점이 더 추가되어 3개의 점이 얻어진다.
이것은 원하는 결과가 아닙니다(프레임 15에 점이 추가됨).
프레임 24에 다른 점을 추가하려면 어떻게 해야 합니까?
시간이 지남에 따라 시계 반대 방향으로 생성되는 상자를 만들어 봅시다.
이 상자를 프레임 20에 만들려면 어떻게 해야 합니까?
이제 상자에 이름을 지정합니다.
테이블을 보면 프레임 20에서 필드에 s@name 속성이 포함되어 있습니다.
무언가를 개발합시다.
고유한 이름을 가지려면 상자가 생성될 프레임의 번호를 이름 끝에 추가하십시오.
이제 개체 연결 규칙을 솔버로 변경해 보겠습니다.
20프레임에서만 상자를 만드는 대신 4프레임마다 한 번씩 상자를 만듭니다.
객체는 원하는 시간에 솔버에 합류할 수 있습니다.
이번에는 다른 위치를 시도해 보겠습니다.
병합 시 Copy to Points로 위치를 변경할 수 있습니다.
이제 색상을 더 어둡게 만들어 보겠습니다.
상자가 나타나는 방식인 이 조정은 강체에서 오브젝트를 소싱할 때 사용되는 핵심 기술입니다.
- 단순화된 측면도 있지만, 이 기술만 자유롭게 적용할 수 있다면 강체를 다루는 능력이 훨씬 더 풍부해질 것입니다.
방금 만든 설정을 변경해 보겠습니다.
- 도핑네트워크라면…? 이 뉘앙스로 솔버에서 작업하고, dop 네트워크 외부에 상자와 상자가 부착되는 지점을 미리 만들고, 객체 병합을 통해 필요한 정보를 얻는 것으로 설명하겠습니다.
이제 이 설정은 솔버를 사용하여 개체가 나타나도록 하는 것입니다.
- 상자가 나타나는 시기에 대한 규칙은 스위치 노드에 의해 해결됩니다.
- 솔버(포장된 상자) 외부에 어떤 물체가 나타나야 하는지 미리 준비했습니다.
- 이 개체는 개체 병합을 사용하여 솔버로 가져왔습니다.
- 이 개체는 개체 병합을 사용하여 솔버로 가져왔습니다.
- 준비된 오브젝트가 나타날 위치는 솔버 외부에 미리 포인트의 위치 정보가 생성되어 있습니다.
dop 네트워크에서 강체 솔버를 사용하여 위의 설정을 지정해 봅시다.
Rigid Body Solver의 고유한 부분은 소싱을 위한 노드가 없다는 것입니다.
강체 솔버에는 팝 솔버/연기 솔버와 같은 “소스 사용” 노드가 없습니다.
우리는 당신을 위해 이 부품을 개별적으로 제조합니다.
기본적으로 지금까지 수행한 강체 시뮬레이션 설정에서는 dop 네트워크 외부에서 생성된 객체의 경로를 RBD Packed Object에 입력하여 시뮬레이션을 진행하였다.
오늘날의 방법을 사용하면 객체의 경로를 RBD로 채워진 객체에 쓸 필요가 없습니다.
- 이는 솔버를 사용하여 개체를 그릇에 “직접” 배치하기 때문입니다.
위 노드를 RBD Packed Object에 객체를 업로드하는 소스 배포 노드로 사용할 계획입니다.
SOP 네트워크 노드 / SOP 솔버 노드
- 두 개의 노드를 함께 연결하면 개체가 나타납니다.
- 단 하나의 SOP 솔버 노드로 해결이 가능합니다.
- 뭔가 불편한 느낌이 있어서 SOP 네트워크와 함께 사용하기로 했습니다.
- SOP solver는 외부에서 사용하는 solver와 동일하므로 출력 결과는 1이다.
이 부분이 아쉬워서 SOP Network로 사용하고 있습니다.
- 뭔가 불편한 느낌이 있어서 SOP 네트워크와 함께 사용하기로 했습니다.
솔버 노드 활성화
- 개체를 로드하는 프로세스가 수행되는 컨테이너를 결정하는 노드
- 상황에 따라 여러 RBD Pacekd Object 노드가 있을 수 있습니다.
- 이 시점에서 이 노드는 객체를 로드하는 프로세스를 수행할 선박을 결정하는 데 사용됩니다.
- 상황에 따라 여러 RBD Pacekd Object 노드가 있을 수 있습니다.
- 또 다른 역할은 연결된 SOP 솔버가 작동하는지 여부를 결정하는 것입니다.
먼저 SOP Network와 SOP Solver로 객체를 불러오는 작업을 해봅시다.
강체 솔버에 대한 세 번째 입력: 사후 솔버
먼저 현재 필요하지 않은 노드를 삭제합니다.
dop_geometry: 일반 솔버에서 Prev_frame 노드와 동일하다고 볼 수 있습니다.
20프레임으로 생성되는 박스를 설정해 보았습니다.
위의 샷 시뮬레이션을 실행하면 20번째 프레임에 상자가 생성되어 중력의 영향을 받아 아래로 떨어집니다.
시뮬레이션을 수행하기 위해 SOP Solver를 사용하지 않고 20프레임 상자와 40프레임 플라토닉 솔리드를 로드해야 하는 경우 어떻게 해야 합니까?
RBD Packed Object의 파라미터를 보면 Creation Frame이 있습니다.
초기 값은 아래 그림과 같습니다.
그렇게 쓰여져 있는데, 이 부분들을 각각 20프레임과 40프레임이라고 표기하면 20프레임이라고 표시된 쉘에 들어있는 객체는 20프레임에서 시뮬레이션되고, 40프레임 쉘이 들어있는 쉘에 들어있는 객체는, 시뮬레이션된 40프레임으로 시뮬레이션됩니다.
그렇다면 4프레임마다 상자를 만들어야 한다면 어떻게 될까요?
반복 작업이 기분이 좋으면 RBD Packed Object 노드를 원하는 만큼 복사하고 Creation Frame을 4프레임씩 늘려 변경할 수 있습니다.
- 이렇게 많은 수의 쉘을 만드는 것은 합리적인 방법이 아닙니다(불편함).
- 예를 들어, 그릇 40개 중 40개를 만드는 것은 말이 되지 않습니다.
따라서 SOP 솔버로 그릇에 물체를 올려놓는 과정(소싱)이 필요하다.
4프레임마다 한 번씩 상자를 만들고 시뮬레이션해 봅시다.
현재는 그릇이 하나밖에 없기 때문에 그릇에 물건을 추가하는 것은 큰 문제가 아닙니다.
그러나 그릇이 2개 이상일 경우 우리가 추가하는 그릇이 어느 그릇인지 알려주는 부분이 없습니다.
위와 같이 두 개의 셸이 있는 경우(각 셸의 이름은 A와 B임) SOP 솔버는 각 셸을 순환하며 상자가 추가됩니다(A와 B에도 SOP 솔버의 내용이 있음). 도중에 실행.)
원하는 객체를 원하는 컨테이너에 담기 위해서는 이중 생성이 아닌 추가 작업이 필요하다.
작업은 SOP 솔버가 아닌 SOP 네트워크에서 수행됩니다.
SOP 네트워크 내의 Object Merge에서 dop 네트워크 데이터를 로드하는 방법을 사용합니다.
새 상자를 만들고 업로드하려는 위치
그릇의 기하학
이 노드는 개체 병합에 의해 SOP 네트워크에서 가져옵니다.
SOP Solver의 dop_geometry 노드라고 생각하시면 됩니다.
실행은 즉각적인 결과를 가져오지 않습니다.
SOP Network에서 설정을 했기 때문입니다.
SOP Network에서 준비한 시스템은 솔버처럼 운용할 수 있습니다.
참고로 SOP 솔버에는 내용이 없어도 됩니다.
지오메트리 테이블에 콘텐츠를 로드하지 않기 때문에 sim 뒤에 ‘:’ 대신 ‘/’를 사용하세요.
현재 우리는 지오메트리 데이터를 보울 A로 가져오고 새 상자에 추가하여 데이터를 가져오고 업데이트하고 있습니다.
이를 우리는 SOP 네트워크 개체 병합이라고 합니다.
다음과 같이 A그릇 작업의 뉘앙스를 단단하게 스며들게 하는 방법이 있습니다.
Enable Solver로 작성되었습니다.
Enable Object를 보면 *, A가 쓰여 있다.
현재는 A 포탄만 있고, 포탄이 여러 개일 경우 포탄의 이름을 알려주기 때문이다.
그 중에서 개체를 놓을 쉘을 결정할 수 있습니다.
SOP 네트워크에서 A의 쉘의 기하학 정보를 가져와서 생성하더라도 Enable Objects에 B를 입력하면 생성된 상자가 A의 쉘 기하학이 아닌 B의 기하학에 추가됩니다.
이번에는 Shell B에 Platonic Solid를 올려 봅시다.
위의 사진은 처음 보는 저에게 새로운 것입니다.
기능으로
- 강체를 소싱 형태로 바꿉니다.
- DOP 네트워크 내에서 SOP 솔버를 사용합니다.
- Geometry Spreadsheet에서 특정 정보를 얻어서 사용하세요.
위의 방법은 객체를 강체에 간단하고 다양하게 붙이는 가장 단순하고 논리적인 방법입니다.
제한과 관련하여 동일한 기술이 사용됩니다.
예를 들어 보겠습니다.
규칙)
새 상자가 지면 위에 생성됩니다(4프레임마다 한 번씩).
생성된 상자는 나타나는 대로 튀어오릅니다.
(@V)
점프할 때 약간의 회전도 추가됩니다(@w).
생성된 상자의 크기는 임의입니다.
한 가지 유의할 점은 강체 솔버를 혼동하지 않도록 각 상자의 이름이 고유해야 한다는 것입니다.
두 번째 예
총알비도 만들어줘!
!
음… 뭔가 빠진 것 같은 느낌이…
총알의 비를 맞았다.
. 프록시 데이터는 하드 데이터로 변할 수 없다… 이름을 붙여야 할 것 같은데 머리가 과부하 @_@
고무장난감을 상자로 쳐서 강의를 멈추고 먼저 진행하다가 갑자기 상자에 이상증상이 나타나서 거의 좌절 모드에 들어갈 뻔 했습니다.
일단 연결되면 잘 작동합니다 … 하
주말에 이것저것 알아보고 포트폴리오 구상하면서.. 아.. 음.. 하반기 전에 매력적인 팝폴 만들어도 될까요…? 작은 끈, 끈 없음…
결국 연습 대 연습!
!
!