#아드리

[DEMO] PiXYZ Plug-in Residence Demo 본문

Unity /PiXYZ

[DEMO] PiXYZ Plug-in Residence Demo

아두리두리 2019. 1. 2. 16:02



Residence - PiXYZ Import DEMO


NOTE: 사용되는 몇 개의 기능이 2018.3에서는 지원하지 않아, 이 프로젝트는 유니티 2018.2 버전으로 실행 하였습니다.  예를들어 이 프로젝트는 Substance 메테리얼을 사용하는데 1월 말까지 기능이 업데이트 되지 않아 사용 할 수 없습니다. 


이 프로젝트에서는  Revit data(IFC), BIM data를 PiXYZ Plug-in을 통해 가져오는 방법과 새로운 기능 Rule Engine과 Tool box를 설명 합니다. 


PiXYZ Plugin for Unity download 

User Manual 

API Documentation 

Youtube Playlist

Blog ( DEMO Video)







PiXYZ Plug-In Download



PiXYZ Plug-in을 깔게되면, 위에 Tool 윈도우 창에 PiXYZ Tab이 생기게 됩니다. 

Revit파일을 IFC로 Export 후 IFC 파일을 유니티로Import해 보겠습니다.

* skybox를 노을진 배경으로 미리 지정해 놓았습니다. (Window-> Light Setting -> Skybox Material) 




Import IFC File / Setting 




우선 파일 경로가 맞는지 확인해야 합니다. Revit 파일이 없고 IFC파일만 있으시다면 데모에서 보여드릴 기능들은 사용하실 수 없을 수도 있습니다. (경로를 찾을 수 없어 Live Sync가 되기 어렵습니다). 혹시나 파일을 잘 불러드리기 힘들다면 Revit에 들어가서 다시 IFC 파일로 Export해서 사용해 보시길 권해 드립니다.


Revit 파일에서 meter로 작업하였기 때문에 scale을 그대로 0.001로 나두겠습니다. Unity와 Autodesk는 다른 axis 를 사용합니다. Revit에서는 Z-up으로 사용하기 때문에 체크를 하겠습니다. *유니티는 Y-up 


Hierarchy를 정리하고 싶으시다면 Tree Processing을 통해 정리 하실 수 있지만, 미리 정리해서 들어오는걸 권장드립니다. Metadata들은 그대로 유지해서 가져오겠습니다.


이 데모에서는 사용하지 않겠지만, Quality에서 LOD를 생성하실 수 있습니다. 이 모델은 많은 폴리건이 사용되지 않아 Mesh Quality는 Maximum으로 Setting하겠습니다. 폴리건 숫자를 줄여야 한다면 low level quality로 설정해 주세요. 


UV를 생성해 주겠습니다. UV를 생성하지 않으면 Texture가 이상하게 적용될 수 있으니 유의해 주세요. 현재 플러그인에서 생성해주는 UV map은 자동으로 생성해 주기때문에 손으로 Manually 펴주는것 보다 정확성은 떨어집니다. 이 점 고려해 주시길 바랍니다. *2019년도 Roadmap에 Manual UV map이 개발 될 예정입니다. 


만약 Revit에서 사용한 메테리얼을 그대로 사용하시거나, 사용하시는 Material이 유니티 Material과 같은 이름이라면 Use Materials In Resources를 체크해 주시면 되지만, 이 데모에서 Rule Engine으로 메테리얼을 적용해 볼 것이라 체크 하지 않겠습니다. 


마지막으로 Prefab을 만들어주겠습니다. 이렇게 Setting을 하고 Import해 보겠습니다. 


Note: Prefab을 만들 경우 Modify를 했을 때 Error가 생길 수 있습니다. 프리팹을 변경하고 싶을 시 Instance를 Unpack해 주세요. 




제가 불러들여온 IFC Model 입니다. Inspector를 보시면 Metadata를 그대로 가져 온 것을 확인 하실 수 있습니다.

이제 Rule Engine을 사용해서 Material과 lighting 등 을 적용해 보겠습니다. 




Tool Box



Plug-in이 생기면서 Toolbox가 생겼습니다. 오브젝트를 Merge도 할 수 있고  UV를 생성할 수 도 있고, 폴리건 숫자를 줄여주는 Decimate등 여러가지 기능이 추가 되었습니다. 하나씩 무엇을 하는지 알아보시면 많은 도움이 될 것 같습니다.  *툴 박스는 Scene에서 마우스 우클릭 시 보이게 됩니다. 




Rule Engine 생성


먼저 모델을 Scene의 Center에 놓아 보겠습니다. 


Rule Engine을 생성하는 방법:

PiXYZ (window 창) -> RuleEngine -> Create New Rule Set

or 마우스 우클릭 -> Create -> PiXYZ -> RuleEngine Rule Set 






+ 사인을 누르면 새로운 Rule을 지정 할 수 있습니다. 위 그림은 모델을 Center로 가져오는 Rule입니다. 간단히 설명 드리자면 마지막으로 import된 모델을 가져와, Origin을 Center로 바꾸고 Position을 0으로 맞췄습니다. 



이번엔 나무들을 좀 더 나무 같은 다른 모델로 대체 해 보겠습니다. 룰 엔진을 새로 만들고 Replace Trees라고 하겠습니다. 그리고 + 을 눌러 새로운 룰을 시작해 보겠습니다. 1)마지막으로 IMPORT 된 모델 가져오기 (Get > Latest Imported Model) 2) 그리고 필터를 걸어 Property Name에 reference라는 단어를 가지고 있고 property value에 aspen이라는 단어가 있는 것들을 3) Birch_8 (나무)로 바꾸고,  4) Randomize를 해서 좀더 나무들이 자연스럽게 놓여있게 하겠습니다.


Note: Property Name/Value는 원래의 나무 Metadata에서 가져옵니다. 



다음에는 Material들을 한번 변경해 보겠습니다. 지붕이나 바닥과 같이 크게 나눌 수 있는 Material은 따로 분리해 놓았습니다. Property Name과 Reference Value를 찾아 Material를 바꿔 보겟습니다.

 



나머지 Material들은 색 Code별로 구분해 놓아 바로 변경해 보도록 하겠습니다. 제가 보여 둔 예시대로 이름을 구분해 놓지 않아도, 각 회사/학교에서 쓰시는 색 code별로 정해서 쓰시면 워크플로우가 효과적으로 개선 될 것입니다.



다음에는 Light을 더해보겠습니다. 프로퍼티 값을 찾아 Light을 Child로 더 하겠습니다. 이 예시에서는 Point Light을 사용하였습니다. 




여기까지 하였을때 Scene의 모습입니다. 룰을 하나하나 만들 수 도 있지만 제가 한 모든 단계를 한 룰로 만들어 한번에 적용 할 수도 있습니다. 




Video로 빠르게 보기 



여기까지 Revit Data를 PiXYZ Plug-in을 사용해 Unity로 가져오는 방법을 다루어 보았습니다. 이 방법으로 하면 좀 더 빠르고 쉽게 data를 유니티로 가져와 다른 Interactive한 application을 만들 수 있습니다. 하지만, 3ds Max나 Maya같이 아직은 수동으로 UV를 필 수 없어 Model을 가져오게 되면 Material 적용 시 원하시는 모습이 아닐 수는 있습니다 (자동으로 펴주어 빠르기는 하나 섬세함이 떨어 집니다). PiXYZ 로드맵에 좀 더 UV를 잘 필 수 있게 하는 기능이 생긴다고 하니 빠른 시일내에 좀더 나아진 UV 작업을 할 수 있을것 같습니다. 혹시 질문이 있으시다면 댓글을 달아주세요. 


 

   



   

반응형

'Unity > PiXYZ' 카테고리의 다른 글

[DEMO] From CAD to Unity_ PiXYZ!  (7) 2018.08.28
Comments