### 휴크로스 각 모듈별 기능정의 ###

1. Web3D Main Page

개발툴/언어 : Python~~~????

데이터베이스 : PostgreSQL

기능 : # 3DViewer(Unity WebGL) Embeded.

=> 아래 각 기능 버튼의 클릭에 따른 3D Viewer와의 양방향 통신은 javascript를 통해 인터페이싱한다.

# 3D오브젝트 DB관리.

# 3D오브젝트 미리보기 및 선택버튼 .

# 선택된 3D오브젝트의 Submesh 부분/전체 선택 버튼.

=> submesh정보(갯수)는 Web3DViewer에서 Web으로 전달함.

=> 부분선택은 상/하 화살표버튼을 사용하며, 전체선택버튼이 눌렸을경우는 전체영역이 선택됨.

# fabric DB관리. (각 fabric의 물성데이터 포함).

=> update 시나리오는 업체와 논의필요.

# fabric 미리보기 및 선택버튼.

=> 선택된 fabric의 물성데이터 디스플레이.

# 3D오브젝트 Zoom In/Out (+, -버튼).

=> 마우스 휠을 이용한 Zoom In/Out은 Web3DViewer에서 자체동작하므로 버튼이 필요없음.

# 3D오브젝트 360도 무한회전(3D오브젝트 로컬시점 Y축 기준) 버튼.

=> 전방향 자유회전(마우스 드래그)은 Web3DViewer에서 자체동작하므로 버튼이 필요없음.

# 리셋기능 (3D오브젝트의 기본 크기, Zoom, 각도로 초기화).

# 전체화면 전환.

# sample animation. (물성확인용 샘플영상).

=> 업체와 추가 협의 필요.

2. Web3DViewer

개발툴/언어 : Unity(WebGL Build), C#(Visual Studio 2022)

기능 : # 선택된 3D 오브젝트 로딩.

# 3D오브젝트의 선택된 Submesh 영역표출.

# fabric 매핑 (선택된 3D오브젝트의 선택된 submesh에 매핑).

# Zoom In/Out.

# 전방향 자유회전(마우스 드래그) 및 360도 무한회전(3D오브젝트 로컬시점 Y축 기준).

# 리셋 (기본 크기, Zoom, 각도로 초기화).

# 전체화면전환에 따른 3D오브젝트 리사이즈 기능

3. 3D Object

# 종류별 50개 제작

=> 종류와 갯수는 업체와 추가 협의 필요.

4. fabric

업체 제공 샘플을 기반으로 제작예정. 300개.

*** 제작된 3D 웹페이지는 일반 PC에서만 안정적인 동작을 보장함(크롬, 웨일, 엣지)

*** 웹페이지라 모바일기기에서도 동작을 하나,

네트워크연결상태(5G, LTE, WiFi등)나 로딩할 3D 오브젝트의 용량등에 따라

웹페이지 로딩 및 동작속도가 현저하게 느려질 수 있음.