Unity 검색

AEC 분야에서 PiXYZ 플러그인을 사용하여 더 빠르게 설계, 구축 및 운용

2019년 1월 30일 산업 분야 | 14 분 소요
공유

Is this article helpful for you?

Thank you for your feedback!

이제 PiXYZ와의 협업을 통해 Unity에서 AEC 프로젝트를 직접 만들 있습니다. 게시물에서는 Unity PiXYZ 플러그인 사용법과 실시간으로 수행 가능한 작업에 대해서 설명합니다.

건축가, 엔지니어 및 건설(AEC) 전문가에게 Unity는 창의적인 프로젝트를 제작해 볼 수 있는 이상적인 플랫폼입니다. 환경을 실사와 가깝게 제작하여 고객이 공간을 상상해 볼 수 있도록 할 수 있고, 배경 지식이나 기술 수준과 관계없이 모든 사람이 동일한 정보를 접할 수 있게 되며, 시간과 비용을 낭비하게 하는 실수를 사전에 차단하여 실제 공사 작업이 시작되기 전에 적절한 결정을 내릴 수 있습니다. 뿐만 아니라 Unity 2018.3에는 개발자의 편의를 위한 기능이 더 많이 추가되었습니다.

아시다시피 유니티는 PiXYZ와 긴밀한 협업 관계를 계속 유지해 왔습니다. 예를 들어 Unity용 PiXYZ 플러그인 및 PiXYZ 스튜디오를 사용하여 이제 IFC BIM 파일을 Unity로 임포트할 수 있습니다. 이 게시물에서는 파일을 임포트하는 방법뿐 아니라 새로운 기능과 개선된 시각화 기능에 대해 설명합니다. 또한 실시간으로 간편하게 조정하는 방법도 보여드립니다.

PiXYZ 제품의 2018.3 버전은 지금 Unity 스토어에서 구매할 수 있습니다.

PiXYZ 처음 사용자를 위한 개요 및 데모

Unity용 PiXYZ 플러그인은 PiXYZ에서 제작한 소프트웨어 제품군의 하나로, CAD 파일 및 빌딩 정보 모델링(BIM) 데이터를 편집, 최적화하여 Unity로 직접 임포트하도록 설계되었습니다.

최근까지 PiXYZ 플러그인은 주로 CAD 모델을 Unity에 통합하는 데 사용되었습니다. 하지만 PiXYZ 2018.2에 소개된 프리뷰와 PiXYZ 2018.3에서 제공된 정식 버전을 통해 이제 IFC(Industry Foundation Class) 형식을 사용하여 BIM 데이터를 임포트할 수 있습니다. 이를 통해 BIM 메타데이터를 충분히 활용할 수 있으며, 다양한 Unity 기능을 사용하여 CAD 모델의 실시간 렌더링을 최적화하고 제작할 수 있습니다.

PiXYZ에 대한 자세한 내용과 라이브 데모를 보려면 작년에 개최된 유나이트 로스앤젤레스에서 제품에 대해 전반적으로 소개한 프레젠테이션을 확인해 보세요. 이 세션 외에도 유니티의 에반젤리즘 콘텐츠팀 책임자인 마이크 가이그(Mike Geig)가 진행하는 짧은 데모 프로젝트도 시청하실 수 있습니다. 이 데모에서 마이크는 데이터를 임포트하고, 지오메트리를 병합하여 스폿 수정을 진행하고, 규칙을 사용하고, 프리팹으로 머티리얼 및 조명을 조정하고, 간단한 포스트 프로세싱을 수행하는 작업을 단계적으로 보여드립니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

Unity로 임포트

이 섹션에서는 주로 사용하는 설계 애플리케이션에서 Unity로 CAD 데이터를 임포트하는 방법을 설명할 수 있도록 .ifc 파일 형식을 사용하여 PiXYZ 플러그인을 통해 CAD 파일을 Unity로 임포트하는 방법을 보여드리겠습니다. 여기에서는 Autodesk Revit에서 익스포트하는 과정에 중점을 두지만, IFC 형식을 사용하면 Civil 3D, Tekla, ArchiCAD와 같이 IFC를 지원하는 모든 프로그램에서 BIM 데이터를 임포트할 수 있습니다.

Unity 에디터에서 PiXYZ를 선택하면 드롭다운 메뉴(아래 첫 번째 이미지 참조)가 펼쳐집니다. 이 블로그 게시물에 나와 있는 모든 기능을 사용하려면 라이선스가 있어야 합니다. PiXYZ 평가판 또는 정식 라이선스 받기 링크를 이용해 다운로드하세요.

 

PiXYZ에 액세스할 수 있게 되면 아래 이미지에 나와 있는 것처럼 PiXYZ > Import Model을 선택하여 CAD 모델을 Unity로 가져올 수 있습니다. Import CAD 창에서는 파라미터를 선택하여 해당 모델의 전체 임포트된 결과를 결정할 수 있습니다.

파라미터 임포트

이제 CAD 모델을 임포트할 때 고려해야 하는 몇 가지 임포트 파라미터를 살펴보겠습니다.

Scale

  • Scale은 Unity로 임포트한 모델의 크기를 결정합니다. 이 예에서는 Autodesk Revit의 측정 단위로 미터가 선택되었습니다.

Z-up

  • Autodesk 제품은 “위쪽 방향으로 Z”를 사용하지만 Unity는 “위쪽 방향으로 Y”를 사용합니다. Z가 위쪽이라고 지정하면 임포트된 모델이 올바른 방향을 유지합니다.

Metadata

  • 활성화하면 모델에 통합된 메타데이터가 Unity에 임포트됩니다. 메타데이터를 저장하는 방법에 대한 자세한 내용은 아래 BIM 메타데이터 섹션에서 확인할 수 있습니다.
  • 참고:이 파라미터를 활성화하지 않으면 규칙 엔진(Rule Engine) 기능 사용을 활성화하는 중요한 BIM 데이터가 Unity로 임포트되지 않습니다.

Create Ch.0 UVs

  • 새로운 기본 UV 세트인 Channel .0을 만듭니다. 이 파라미터가 활성화되어 있어야 Unity에서 텍스처가 제대로 매핑됩니다.

Generate Lightmap UVs

  • Ch.0 생성을 활성화한 경우에만 사용할 수 있습니다.

Override Shader

  • 기본값(None(Shader))으로 두면 PiXYZ 플러그인은 기존 렌더 파이프라인 셰이더를 사용하여 Unity에 임포트된 머티리얼을 만듭니다. 따라서 임포트한 항목에 특정 셰이더를 사용하려면 원하는 셰이더를 이 프로퍼티로 드래그하면 됩니다.

Create Prefab

  • 이 파라미터를 선택하면 프로젝트의 지정된 폴더에 프리팹이 생성됩니다. 또한 이 프리팹 내에서 개선된 새 프리팹 워크플로를 체험할 수 있습니다(Unity 2018.3 이상에서만 지원).
  • 기본적으로 PiXYZ는 “3D Models”라는 폴더를 만들고 그 안에 프리팹을 저장합니다. 프리팹을 포함하는 생성된 폴더는 프로젝트 환경 설정(Edit > Preference > PiXYZ)에서 변경할 수 있습니다.

Live Sync

Live Sync 기능이 활성화되면 현재 프로젝트의 환경 설정에서 여러 파라미터에 액세스할 수 있습니다. “Live Sync Beta” 아래에 다음과 같은 세 가지 모드 업데이트 환경 설정이 제공됩니다.

  • Ask on Change:파일을 덮어쓰거나 편집하는 경우, 변경 사항을 적용할지 묻는 메시지가 표시됩니다.
  • Auto Update:모델이 변경되는 경우, 변경할지 여부를 묻지 않고 모델을 자동으로 업데이트합니다.
  • Manual:재동기화를 직접 수행해야 합니다.
  • 일반적으로 모델의 프리팹을 만들어 두는 것이 좋습니다. 프리팹을 만들면 프로젝트 폴더에 모델의 복사본이 보관될 뿐 아니라 PiXYZ Live Sync 기능도 활성화됩니다.
  • 다음 섹션에서는 Live Sync를 자세히 살펴보겠습니다.

필요한 파라미터를 모두 설정했으면 Import를 선택합니다. 그러면 파일이 현재 씬에 프리팹으로 추가됩니다. Import CAD 창에 관한 자세한 내용은 PiXYZ 기술 자료(영문)를 참조하세요.

Live Sync 자세히 살펴보기

Live Sync를 활성화하면 중소형 모델과 Unity 씬과의 동기화 상태를 유지할 수 있습니다. 이 기능은 임포트한 파일에 적용된 변경 사항을 Unity 프로젝트의 모델에 반영하므로 빠르고 효율적인 방법으로 많은 시간을 절약할 수 있습니다. 또한 Live Sync는 PiXYZ에서 임포트할 수 있는 모든 파일 형식(예: .IFC, .OBJ)과 호환됩니다. 이에 대해 자세히 살펴보겠습니다.

상태 기호

이제 지정된 폴더 내부에 몇 가지 눈에 띄는 변화가 보입니다. 모델/프리팹 아이콘의 왼쪽 상단에 표시되는 상태 기호는 다음과 같이 프리팹의 현재 상태를 나타냅니다.

  • 녹색 체크 표시:프리팹이 파일과 동기화되었으며 모델이 최신 상태입니다.
  • 노란색 화살표:프리팹이 파일과 동기화되지 않았으며 모델을 재동기화해야 합니다.
  • 빨간색 X:모델이 없습니다.

동기화 설정

Live Sync Settings는 모델/프리팹 아이콘의 오른쪽 상단에 있는 버튼을 클릭하여 확인할 수 있습니다.

그러면 머신의 모델 파일 경로 등의 정보가 포함된 팝업 창이 표시됩니다. 이 창에는 규칙 엔진에서 사용하기 위해 만든 에셋을 지정할 수 있는 필드 두 개도 포함되어 있습니다.

Preset 및 Rules 상호작용 필드 사용에 대한 자세한 내용은 아래의 규칙 엔진 섹션을 참조하세요.

BIM 메타데이터 처리

프로젝트에 모델(여기서는 BIM 데이터가 포함된 IFC)을 임포트하면, 설명한 것처럼 프로젝트(Project) 폴더와 계층(Hierarchy) 창에서 프리팹을 찾을 수 있습니다. 계층 창에서 프리팹을 확장(ALT 키를 누른 상태에서 클릭하면 계층에서 프리팹 오른쪽에 있는 드롭다운 화살표가 모든 하위 항목 확장)하면 임포트된 모델의 모든 메시가 빈 게임 오브젝트의 자식이 됩니다.

메시 자체에는 BIM 데이터가 포함되어 있지 않으며, 메시 렌더러 컴포넌트와 Revit에서 임포트한 머티리얼만 들어 있습니다. 즉, BIM 데이터를 가지고 있는 건 빈 게임 오브젝트입니다.

비어 있는 부모 게임 오브젝트와 상호작용하는 경우 인스펙터(Inspector)에는 Autodesk Revit 또는 기타 BIM 소프트웨어 패키지에서 익스포트한 BIM 데이터가 포함된 테이블이 표시됩니다. 이 BIM 데이터는 Autodesk Revit의 BIM 데이터에 해당합니다. 예를 들어 “/Reference”는 Autodesk Revit에서 오브젝트의 Type Properties 이름입니다.

Type Properties, Family”(Revit)    = “/Name”(Unity)

Type Properties, Type”(Revit)       = “/Reference”(Unity)

그런 다음 씬의 임포트된 오브젝트에 대한 규칙 내에서 이 데이터를 사용할 수 있습니다.

툴박스의 다양한 툴 활용

Unity 2018.3에 도입된 PiXYZ 툴박스는 효율적인 방식으로 지오메트리의 폴리곤 해상도를 크게 늘려 최적화하는 프로세스를 제공합니다. 씬 창에서 마우스 오른쪽 버튼을 클릭하면 씬에서 현재 선택된 오브젝트에 툴박스의 툴을 적용할 수 있습니다. 툴박스를 사용하면 RuleEngine 규칙 세트를 사용하지 않고 오브젝트를 간편하게 조작할 수 있습니다.

참고: 툴박스로 수행한 작업은 실행 취소할 수 없습니다.

또한, 카메라 및 광원 이미터를 비롯하여 씬에 있는 모든 게임 오브젝트에 툴박스를 사용할 수 있습니다. 수동 툴박스에 액세스하려면 씬 창 또는 계층에서 선택한 오브젝트를 마우스 오른쪽 버튼으로 클릭합니다.

각각의 툴박스 툴 사용에 관한 자세한 내용은 PiXYZ 기술 자료를 참조하세요.

PiXYZ 규칙 엔진의 규칙 준수

툴박스의 수동 프로세스와는 달리, 규칙 엔진은 규칙 세트 적용 프로세스를 자동화하여 임포트 중에 또는 에디터 내에서 모델의 결과를 사용자 정의된 환경 설정을 통해 자동으로 결정합니다. 규칙을 실행하면 커스텀 규칙에 따라 순서대로 적용됩니다.

또한 Unity에서는 규칙을 만들어 규칙의 기능을 명시할 수 있으며, 규칙이 적용되면 선택된 모델에 대해 해당 기능이 실행됩니다. 여기에서는 Revit의 BIM 데이터가 들어 있는 IFC가 해당됩니다. 예를 들어 규칙을 통해 모델의 머티리얼을 대체하고, 모델을 대체하고, 기존 내용을 보강할 수도 있습니다. 가장 중요한 점은 이 모든 작업이 한 번의 클릭으로 수행된다는 사실입니다. 아래에서 단계별로 자세히 살펴보겠습니다.

규칙 엔진 사용

새로운 규칙 엔진 세트를 만들려면 Create > PiXYZ > RuleEngine Rule Set를 선택하거나

PiXYZ > Rule Engine > Create New Rule Set를 선택합니다.

지정된 폴더에 새 규칙 세트가 생성된 후 해당 규칙 세트를 클릭하면 인스펙터에서 새 규칙을 구성할 수 있게 됩니다. 더하기(+) 아이콘을 클릭하면 규칙의 기반이 생성됩니다.

규칙을 시작할 때마다 규칙에 포함할 항목을 지정해야 합니다. 더하기 아이콘을 클릭하고 Get을 선택하면 다음의 세 가지 옵션이 제공됩니다.

  • All GameObjects:씬에 모든 게임 오브젝트(광원 이미터, 카메라 등)를 포함합니다.
  • Imported Models:임포트한 모델을 모두 씬에 통합합니다.
  • Latest Imported Model:가장 최근에 임포트한 모델을 씬에 포함합니다.

사용자는 이제 규칙 내 툴박스 작업에 대한 전체 액세스 권한이 있으므로 규칙을 더 확장할 수 있습니다. 이렇게 하면 Unity 프로젝트가 실시간 커머셜 아키텍처 시각화를 위한 플랫폼 역할을 할 수 있게 됩니다. 규칙은 프로젝트의 기반으로 간주되어 다양한 모델에 재사용할 수 있습니다.

Autodesk Revit 또는 BIM 소프트웨어 패키지에 설정된 프리셋 명명 규칙은 Unity 내에서 설정된 규칙과 동기화되므로, 이를 활용하면 규칙을 한 번만 실행하여 시각화를 손쉽게 구축할 수 있습니다.

또한 커스텀 스크립트를 PiXYZ 툴박스에 통합하고 이를 규칙에서 사용할 수 있습니다.

규칙에서 사용할 각 작업에 대한 세부 내용은 PiXYZ 기술 자료를 참조하세요.

임포트 설정 에셋

규칙 세트 생성 이외에도 임포트 설정 에셋을 구현하면 다양한 임포트 환경 설정이 제공되며, 이 모든 설정은 에셋 내에 유지됩니다. 에셋에는 Post-Processing 및 Preset 선택 상자를 제외하면 Import CAD 창에 제공되는 것과 동일한 파라미터가 포함되어 있습니다.

임포트 설정 및 규칙 에셋 모두 다음 두 가지 방법으로 사용할 수 있습니다.

  • Import CAD 창에서 프리셋으로 적용되는 경우 임포트 옵션의 주요 프리셋(Preset) 및 규칙(Rule)으로 사용
  • Live Sync 사용 시 임포트한 모델의 재동기화를 위한 프리셋 및 규칙으로 사용

머티리얼 규칙 준수

규칙 엔진에 대해 자세히 알아보았으므로 이제 임포트한 머티리얼을 Unity 머티리얼로 대체하는 규칙을 만들어 보겠습니다. 다음 두 가지 방법으로 만들 수 있습니다.

머티리얼 대체 규칙 #1

새로운 RuleEngine 규칙 세트를 만들려면 Create > PiXYZ > RuleEngine Rule Set를 선택합니다.

그런 다음, 시작 노드를 추가하여 규칙의 영향을 받는 항목을 결정합니다. 더하기 아이콘을 클릭하고 Get을 선택한 후 다음을 선택합니다.

 

All GameObjects

또는

Imported Models

또는

Latest Imported Model

 

Autodesk Revit의 경우 명명 규칙은 오브젝트의 Type Properties 내에서 설정되었습니다. 오브젝트의 유형 이름은 IFC에서 “/Reference”로 Unity에 익스포트되는 커스텀 이름으로 대체되었습니다.

그런 다음 프로젝트의 관련 BIM 데이터에 액세스하려면 데이터를 필터링해야 합니다. 더하기 아이콘을 클릭한 다음 Filter On Property를 선택합니다.

Property Name에는 필터링할 데이터 유형의 이름을 입력합니다. “BIM 메타데이터 처리” 섹션에서 설명한 것처럼 Type Properties, Type 이름은 Autodesk Revit의 커스텀 이름으로 대체되었으며 Unity에 “/Reference”로 임포트됩니다.

Property Value에는 커스텀 이름 또는 프로젝트의 해당 오브젝트 유형에 고유한 커스텀 이름의 단어를 입력합니다. 예를 들어 내부 창에 대해 임포트한 머티리얼을 Unity 머티리얼로 대체합니다.

설정된 명명 규칙으로 인해 “Interior-Window”는 모델 내 투명 창 이름에만 표시됩니다. 그러면 Interior_Window가 Property 값으로 사용됩니다. 이 예제에 사용된 이름은 “Btn_02_Interior_Window_01”입니다.

이제 규칙을 통해 프로젝트에서 모든 BIM 데이터를 필터링하고 Property Name “Reference”에서 “Interior_Window”가 포함된 이름을 찾습니다.

현재 이 규칙은 BIM 데이터를 저장할 때 계층 내의 빈 게임 오브젝트만을 찾습니다. 따라서 더하기 아이콘을 클릭하고 Get > Children을 클릭한 후 “Recursive”를 활성화해야 수량에 관계없이 모든 자식 메시가 포함됩니다.

마지막으로 더하기 아이콘을 클릭하고 Set > Material을 선택합니다.

오른쪽 끝에 있는 선택 상자 버튼을 클릭하거나 새 머티리얼을 상자로 끌어와서 Unity 머티리얼로 설정합니다.

인스펙터 하단에서 Run을 클릭하여 RuleEngine 규칙 세트의 모든 규칙을 적용합니다.

참고: 규칙은 위에서 아래로 순차적으로 적용됩니다.

이 규칙은 머티리얼 대체 목적 이외에도 다른 프로세스에 사용할 수 있도록 구조화되었습니다. 이제 규칙이 정의된 BIM 데이터 유형이 있는 임포트된 오브젝트를 호출하며 다른 규칙을 적용하여 기능을 확장할 수 있습니다.

머티리얼 대체 규칙 #2

시작 노드를 추가하여 규칙의 영향을 받는 항목을 결정합니다.

더하기 아이콘을 클릭한 다음 Modify > Switch Materials를 선택합니다.

오른쪽 끝에 있는 점 세 개 아이콘을 클릭하여 Switch Materials를 확장합니다. 규칙에 대한 여러 옵션이 제공되는 드롭다운 메뉴가 표시됩니다.

  • Add Selected Materials:현재 씬에서 선택한 머티리얼을 추가합니다.
  • Fill With All Materials In Scene: 현재 씬에 있는 모든 머티리얼을 가져옵니다

“Fill With All Materials In Scene”을 선택하면 규칙 엔진이 모든 머티리얼을 가져와서 이를 규칙 내 테이블에 저장합니다. 이 방법을 통해 빈 Selection 상자에 Unity 머티리얼을 배치하기만 하면 머티리얼을 효율적으로 대체할 수 있습니다.

마지막으로, 최종 생성된 규칙을 실행하여 씬 내의 머티리얼을 대체하기만 하면 됩니다.

향후 일정

지금까지 BIM 데이터를 임포트해보고, 필수 파라미터를 설정하고, Live Sync, 툴박스, 규칙 엔진에 대해 살펴보고, 마지막으로 머티리얼 규칙을 대체하는 방법에 대해 알아보면서 2018.3에서 업데이트된 PiXYZ 기능에 대해 자세히 알아보았습니다. PiXYZ 플러그인을 사용하여 Revit 데이터를 Unity로 임포트하는 과정이 도움이 되었기를 바랍니다. 이 기능은 임포트 프로세스를 크게 개선하고 많은 시간을 절약하기 위해 Unity와 PiXYZ가 매우 긴밀히 협력한 결과입니다.

작년 유나이트 로스앤젤레스에서 발표된PiXYZ 프레젠테이션은 이러한 기능에 대해 자세히 알아볼 수 있는 유용한 자료입니다. 시청해 보시길 다시 한 번 권해드립니다. 임포트 방법, 스폿 수정을 수행하는 방법, 포스트 프로세싱 일부를 수행하는 방법을 안내하는 마이크 가이그의 프로젝트도 확인해 보세요.

유니티 블로그를 자주 방문하는 분이라면 Revit을 Unity로 직접 임포트하는 계획에 대해 알려드렸던 이전 게시물을 확인하셨을 수도 있습니다. Autodesk University에서 있었던 AEC 기조 연설에 나오는 발표 내용을 확인해 보세요. 2분 22초부터 확인하시면 됩니다. 올해 중에 이 새로운 기능에 대한 추가 소식이 있을 예정이니 많은 기대 부탁드립니다.

유니티는 항상 고객의 의견을 경청하고 있습니다. 아이디어나 요청 사항이 있으면 아래의 코멘트 섹션에 게시해 주시기 바랍니다. 유니티에 직접 연락하거나 평가판을 사용해 보려면 여기로 문의해 주세요. 지금 바로 제품을 사용해 보려면 PiXYZ를 구입할 수 있는 스토어를 방문하시기 바랍니다.

마지막으로, 제 Twitter 계정(@KieranColenutt)에서 소개하는 Unity 관련 팁과 향후 AEC 콘텐츠도 확인해 보세요.

2019년 1월 30일 산업 분야 | 14 분 소요

Is this article helpful for you?

Thank you for your feedback!