NVIDIA Flexfor Unity 사용

9177 단어 Unity

개요


이 글은 Unity #2 Advent Calendar 18일째 되는 글이다.
NVIDIA Flexfor Unity를 터치해 보았습니다. 그것에 대해 간단하게 요약해 보겠습니다.

NVIDIA Flex란


우선NVIDIA Flex은 유체, 연체, 천 등의 운동을 실시간으로 모의하는 중간부품이다.
https://developer.nvidia.com/flex#

또한 NVIDIA FleX for Unity는 NVIDIA Flex를 Unity 동작으로 만드는 플러그인입니다.
(2018/12/18 현재 1.0 베타)
https://assetstore.unity.com/packages/tools/physics/nvidia-flex-for-unity-1-0-beta-120425

NVIDIA Flex 사용


이번에는 NVIDIA Flexfor Unity를 사용해 이런 것을 만들어 보았습니다.
소프트 및 유체를 표시하려면 NVIDIA Flexfor Unity를 사용하십시오.계란 송편과 와플을 흔들다.pic.twitter.com/yeXP4PQBBQ2018년 12월 18일

NVIDIA Flex를 통해 음식 모형과 물 흐름 이동br/>
위 영상을 보시면 햄버거, 와플 등이 연체 운동이라는 걸 아실 거라고 생각합니다.p>

음식의 모형은 AssetStore에서 다운로드한 후 사용br/>
https://assetstore.unity.com/packages/3d/props/food/3d-bakery-object-17167


다각형 모델을 플로피(플로피)로 표시


에서, 나는 Flex로 다각형 모형을 연체로 보여 보려고 한다.


AssetStore 다운로드NVIDIA Flex에서 가져오기
음식 모형3D Bakery Object을 다운로드하고 가져온 후 항목은 다음과 같다.br/>
(다음에 만들 파일을 배치할 위치로 프로젝트에 FlexBakery라는 폴더가 추가되었습니다.)


우선 Flex로 시뮬레이션을 하려면 FlexContainer라는 자산이 필요하기 때문에 이것을 생성합니다p>

Create > Flex > Flex Container

컨테이너를 생성합니다.


※ 해당 용기에 플렉스 개체를 등록하면 개체 간의 동작을 시뮬레이션할 수 있습니다.sup id="fnref1"> 1


다음은 햄버거 모형을 연체로 꺼낼게


Create > Flex > Flex Soft Asset

소프트웨어 자산 생성


자산의 이름은 SoftAssetHamberger로 배치br/>


햄버거 모형(FBX)은 다음 폴더에 있습니다.br/>
Scole Factor 값을 0.05 크기로 조정합니다.br/>


다음 SoftAsset검사기에서 Hamberger를 보고, Boundary Mesh에

햄버거 FBX의 그물 모양을 끌어다 놓기 (FBX의 밑바닥)br/>
그 다음에 다각형 망상물은 Flex로 시뮬레이션한 입자로 구성된 모형으로 변환하여 검사기에 나타낸다br/>


다음, 햄버거의 모형을 표현하기 위해

Create > Create Empty로 장면에 GameObject 추가 (여기 이름은 Hamberger)
GameObject에 Add Component로 FlexSoftActor 구성 요소 추가br/>
그리고 컨테이너가 있는 곳에는 용기의 자산(Flex Contaainer)을, 소프트어셋이 있는 곳에는 햄버거의 소프트의 자산(Soft Asset Hamberger)을 지정한다.br/>
DrawParticles 확인란을 ON으로 설정하면 장면에 입자의 모델이 표시됩니다.br/>


햄버거의 다각형 모형을 연체로 표시하기 위해

햄버거의 GameObject에 FlexSoftSkinning과 SkinneedMeshRender 구성 요소를 추가합니다.p>

Skinned Mesh Render 구성 요소 Mesh에서 햄버거의 다각형 망상물을

Materials가 햄버거 모형을 지정하는 소재p>

(이렇게 되면 햄버거의 다각형 모형이 나타나고 FlexSoftActor 구성 요소의 Draw Particles가 닫힙니다)


이 상태에서 Unity 편집기에서 플레이 버튼을 눌러 실행하면 햄버거가 바닥에 떨어져 튕기는 모습을 볼 수 있다p>

다른 음식의 모형도 같은 순서에 따라 추가br/>
※ FlexContainer를 2개 이상 만들지 마십시오. 동일한 FlexContainer를 각각의 FlexSoftActor 검사자로 지정하십시오.br/>


그나저나 FlexSoft Asset의 Cluster Stiffness(강도, 변형이 잘 되지 않는 정도)의 값에 따라 연체의 부드러움을 바꿀 수 있기 때문에
음식 모형의 종류에 따라 이 파라미터를 조정해 보면 더욱 보기 좋을 것이다p>

유체 표시


수도꼭지에서 물이 나오는 것 같아서 유체를 카메라에 넣고 봐요.


우선 유체 입자의 출처 만들기br/>
Create > Flex > Flex Source Asset

자산을 생성합니다.


검사기에서 FlexSourceAsset을 보고 Surface Mesh 오른쪽에 있는 ○ 단추를 누르고 입자의 원본으로 사용할 격자를 선택하십시오br/>
여기서 Quad 모양의 메쉬를 선택합니다.br/>


그리고 Mesh Tesselation의 값은 입자가 생성하는 점의 수를 증가시킬 수 있습니다.br/>
Max Particles는 이 메쉬에서 생성되는 최대 입자 수입니다.


여기에서 각 매개 변수의 값(비례자의 값)을 장면에 맞추어 적당히 조정합니다br/>


장면에 GameObject 추가, FlexSourceActor 구성 요소 및 FlexFuidRender 구성 요소 추가br/>
그리고 Container의 위치에서 각각 FlexContainer의 자산을 지정하고,Soft Asset의 위치에서 FlexSource Asset을 지정한다.br/>


FlexSourceActor 구성 요소의 Flid 확인란을 ON으로 설정br/>
이 매개 변수를 ON으로 설정하면 입자가 유체로 생성됩니다.


또한, 스타트스피드는 입자의 초기 속도를 나타내고, 라이프타임은 입자가 발생하고 사라지는 시간(초)을 나타낸다.br/>
여기는 장면에 따라 각 파라미터를 조절하는 거예요.br/>


장면에 유체의 원본을 설정했기 때문에Unity 편집기에서 실행하면

이 영상처럼 유체로 연체 모형을 찌르는 동작을 만들 수 있다br/>




最後に


이번에 NVIDIA Flexfor Unity를 사용해 연체와 유체의 동작을 간단하게 보여줄 수 있어서 매우 기쁩니다.br/>
베타 버전 때문인지 처리가 상당히 무거웠지만, 앞으로의 버전 업그레이드를 기대하고 있습니다.p>

参考にした記事


https://www.youtube.com/watch?v=Fp1SMb3SWoo

https://www.youtube.com/watch?v=2IOXPnbHuvo

https://www.youtube.com/watch?v=VelIt1v0CAY

http://www.asset-sale.net/entry/NVIDIA_FleX_for_Unity_%281_0_BETA%29







  1. (주석) Flex의 용기는 정확히 말하면 Flex로 위치를 계산한 입자 용기입니다.플렉스는 강성, 연체, 유체, 천 등 모든 입자로 구성된 모형으로 구성되어 있으며, 시뮬레이션은 모두 입자의 위치를 통해 계산된다.연체의 운동은 연체를 구성하는 입자의 모형에서 입자의 상호작용을 계산하여 피부망상물에 반영한다. 




좋은 웹페이지 즐겨찾기