.x3d 파일 검사, 편집 및 유효성 검사

.x3d 파일 형식은 3차원 이미지를 표현하기 위한 ISO/IEC 표준으로, XML 기반으로 만들어졌습니다. X3D라고도 불리는 .x3d 파일은 원래 컴퓨터 그래픽을 위한 3차원 이미지 표현 방식으로 개발되었습니다. 시간이 지나면서 이 기술은 가상 현실(VRML), CAD 설계, 건축 시뮬레이션, 3D 프린팅, 의료 및 해부학적 영상, 분자 화학 구조 표현, 인간 애니메이션 등 다양한 분야로 확장되었습니다.

Web3D 컨소시엄은 X3D 표준을 관리하며, XML 스키마에 대한 설명은 여기에서 확인하실 수 있습니다. 현재 버전에는 250개 이상의 XML 요소, 100개 이상의 단순 유형, 70개의 복합 유형, 그리고 40개 이상의 정의된 노드 그룹에 대한 설명이 포함되어 있습니다.

정밀하게 제작된 기계 부품부터 풍부한 질감을 가진 가상 환경까지 정확하게 묘사하려면 상당한 복잡성이 필요합니다. 특히 조명, 질감, 시점 등을 고려해야 합니다. XMLSpy는 세계에서 가장 널리 사용되는 도구 중 하나입니다 모델링, 편집, 변환, 그리고 디버깅 XML 및 JSON 관련 기술을 지원하며, .x3d 파일을 처리할 수 있습니다. XMLSpy는 .x3d 파일을 검토, 교환, 활용 또는 검증해야 하는 모든 사용자를 위한 표준 기반 도구를 제공합니다. 몇 가지 예시를 살펴보겠습니다.

먼저, XMLSpy 도구 메뉴를 사용자 정의하여 ".x3d" 파일에서 3D 이미지를 편리하게 표시할 수 있는 새로운 메뉴 항목을 만들 수 있습니다. 웹사이트 web3d.org의 "X3D 리소스" 페이지에 등록된 두 개의 X3D 플레이어를 설치하여, 각 플레이어에서 결과를 비교해 볼 수 있습니다. 이렇게 하면 다음과 같은 사용자 정의 메뉴 옵션을 만들 수 있습니다

이제 .x3d 파일이 필요합니다. 온라인에서 다양한 예시를 찾아볼 수 있습니다. 미국 국립보건원(NIH)은 자사 웹사이트에 .x3d 파일 라이브러리를 운영하고 있습니다. 이 파일들은 화학 구조 모델, 3D 프린팅 가능한 객체, 그리고 세포 조직 및 생물의 실제 렌더링 이미지 등 다양한 X3D 응용 프로그램을 포함하고 있습니다.

3D 프린터로 출력할 수 있는 형태부터 시작해 보겠습니다. 아래 스크린샷에서 보시는 것처럼, 파일을 열고 "도구" 메뉴를 사용하여 해당 파일을 H3DViewer 앱에서도 열었습니다

아래의 텍스트 표시 영역 아래에 있는 메시지 창을 확인하십시오. XMLSpy는 .x3d 파일을 열 때 자동으로 유효성을 검사합니다. H3D 뷰어에서는 이미지를 클릭하고 드래그하여 회전시켜 더 자세히 볼 수 있습니다

이 제품은 3D 프린터로 출력할 수 있는 마스크용 귀걸이 보호대입니다. 마스크 착용 시 귀 뒤쪽의 불편함을 줄여주도록 설계되었습니다.

처음 스크린샷에서 보셨듯이, 파일의 대부분은 14번째 줄부터 시작되는 좌표 정의로 구성되어 있습니다. 만약 파일을 수정해야 한다고 가정해 봅시다. 예를 들어, 객체의 색상을 변경하고 싶다면, XMLSpy의 그리드 편집기 보기로 전환하는 것이 좋습니다. 그리드 편집기 보기는 XML 문서와 DTD의 계층 구조를 중첩된 컨테이너 세트를 통해 보여주며, 이 컨테이너는 쉽게 확장 및 축소가 가능합니다. 모든 도형 좌표를 포함하는 컨테이너는 잠시 축소해 두고, 다른 문서 기능에 집중하고 도형 값을 실수로 변경하는 것을 방지하겠습니다.

아래 스크린샷은 "Shape" 요소를 더블 클릭했을 때 그리드 편집기에서 발생하는 상황을 보여줍니다

XMLSpy는 팝업 창을 통해 해당 파일의 현재 위치에서 "Group" 요소의 유효한 하위 요소로 정의된 모든 스키마 요소를 나열하는 도움말 기능을 제공합니다. CAD 작업 공간을 위한 프로토타입 .x3d 파일을 만들거나, 1인칭 몰입형 게임의 장면을 수정하는 작업을 수행하는 경우, 이 기능을 통해 유용한 정보를 얻을 수 있습니다.

이 파일에 정의된 객체의 색상을 변경해 보겠습니다. "Material" 요소의 "diffuseColor" 속성 값을 편집하려면 클릭하면 됩니다. 이때 XMLSpy는 XML 스키마에 기반한 기본값을 제공합니다. 사용자는 이 기본값을 그대로 사용하거나, 새로운 값을 직접 입력할 수 있습니다.

XMLSpy에는 편집 과정에서 .x3d 파일을 검증하는 옵션이 포함되어 있습니다. 만약 "3 3 3"을 입력하고 파일을 저장하려고 하면, XMLSpy는 즉시 오류를 감지합니다

이 속성의 값은 각각 1보다 작아야 합니다. 예를 들어, 0.3, 0.2, 0.1과 같은 값을 입력하고 H3D 뷰어에서 이미지를 다시 불러올 수 있습니다

이제 그 물체는 파란색이 아니라 청동색으로 변했습니다.

NIH 웹사이트 및 기타 곳에 있는 다른 파일들은 X3D의 다양한 활용 사례를 보여줍니다. 아래에 제시된 것은 에볼라와 코로나19의 잠재적인 치료제인 렘데시비르의 화학 모델입니다. 이 모델은 "귀 보호대"와는 완전히 다른 방식으로 정의되어 있습니다

만약 용기가 있다면, 인류의 모든 적이라고 불리는 존재와 맞서 싸울 수도 있습니다

.x3d 파일을 JSON 형식으로 변환합니다

Web3D 컨소시엄은 X3D 파일을 JSON 형식으로 저장하는 표준을 거의 완성했으며, 이를 위해 XSL 스타일시트를 공개했습니다 .x3d 파일을 JSON 형식으로 변환합니다. XMLSpy에는 매우 빠른 RaptorXML XSLT 3.0 프로세서가 포함되어 있으며, 이 프로세서를 Web3D XSL 스타일 시트와 함께 사용하여 파일 변환을 시험해 볼 수 있습니다.

먼저, XMLSpy 옵션 대화 상자에서 XSLT 처리 시 사용할 기본 파일 확장자를 변경할 수 있습니다

또한, 편집 과정에서 지속적으로 유효성 검사를 수행해 왔기 때문에 "XML 파일 유효성 검사" 옵션을 해제했습니다.

그런 다음, .x3d 파일을 열고, F10 키를 누르거나, XSL/XQuery 메뉴에서 "XSL 변환"을 선택하십시오.

변환이 완료되면 생성된 JSON 파일이 새 창에 열립니다. 아래 그림은 NIH(미국 국립 보건원)에서 제공하는 마스크 귀걸이 관련 데이터를 XMLSpy 텍스트 보기와 JSON 그리드 편집기 보기로 각각 표시한 것입니다

.x3d 파일을 검토, 편집 또는 검증해야 하는 경우, Grid Editor 및 XMLSpy의 다양한 기능에 대한 더 많은 동영상과 심층 튜토리얼을 제공하는 XMLSpy 데모 페이지를 확인해 보세요. .x3d 파일로 정의된 3D 환경에 몰입할 준비가 되셨다면, XMLSpy의 30일 무료 체험판을 다운로드하여 사용해 보세요.