본 매뉴얼은 InsighTwin내에서 표시되는 항목 또는 기능을 커스터마이징 하기 위한 Customization.json의 설정 방법에 대한 매뉴얼입니다.
모든 항목은 "user" 이름을 가진 중괄호 안에 입력합니다.

Customization.json은 프로젝트 폴더/streamingAssets/Data에 위치해야 됩니다.
그룹의 이름 또는 카메라 그룹의 이름을 설정합니다.
그룹의 이름을 설정합니다. Group 0~6 순서대로 이름을 설정할 수 있습니다.
설정한 GroupName은 "층 그룹 표시"의 그룹 이름에 표시됩니다.
Customization.json에서 그룹명을 입력하는 항목에서 GroupName을 그룹명으로 설정하거나, "G0"~"G6"로도 설정 가능합니다.
해당 값을 "G+숫자" 형식으로 설정하면 오작동의 원인이 될 수 있습니다.
GroupName 항목이 없을 경우 "층 그룹 표시"의 그룹 이름이 "G0"~"G6"으로 표시됩니다.


카메라 그룹의 이름을 설정합니다. 카메라 그룹 1~4번 순서대로 이름을 설정할 수 있습니다. 카메라 데이터 중에서 해당하는 카메라 그룹은 아래와 같습니다.
| 카메라 데이터 | |
|---|---|
| No | 카메라 그룹 |
| 1 - 50 | 1 |
| 51 - 100 | 2 |
| 101 - 150 | 3 |
| 151 - 200 | 4 |
설정한 CameraGroup은 "카메라"에 반영되어 표시됩니다.
CameraGroup 항목이 없을 경우 "카메라"에서 "Page1"~"Page4"으로 표시됩니다.
("카메라"에서 카메라 그룹을 표시하려면 해당하는 카메라 데이터가 1개 이상이어야 하며, Camera Group 2~4는 개발자 모드일 때 표시됩니다.)


EasyView를 설정하여 원클릭으로 표시되는 층을 변경하는 버튼을 설정하고 생성합니다.
EasyView를 설정하여 상단 메뉴 좌측에 원클릭으로 층을 설정하는 버튼을 생성할 수 있습니다.
형식은 단일의 층을 설정하는 경우에는 "[버튼이름]=[층]"이며,
복수의 층을 설정하는 경우에는 "[버튼이름]=[층]+[층]"으로 층 인덱스 사이에 '+'를 붙여서 입력합니다.
[층]은 "층 그룹 표시"에서 보이는 층 이름을 입력합니다. ("F1"~"F7"도 가능)
생성된 버튼 클릭 시, [층]에 해당하는 층은 표시되며, 나머지 층은 비표시합니다.
예외적으로 "ALL"(전체 층 표시)와 "TRANS"(일부 반투명 표시)가 있습니다. 이 두가지는 [버튼 이름] 형식으로 이름을 고정하여 입력합니다.
"ALL": 버튼 클릭 시, 모든 층과 그룹을 표시하는 버튼을 생성합니다.
"TRANS": 버튼 클릭 시, 3-2 TransFloorInEasyView, 3-3 TransGroupInEasyView
에서 설정한 설정 값을 적용하여 층과 그룹을 표시/반투명화 시킬 수 있습니다.
EasyView 항목이 없을 경우 버튼이 생성되지 않습니다.


**3-1**에서 "TRANS"로 설정한 버튼에서 클릭했을 때 반투명화 시킬 층을 설정합니다.
단일 또는 복수의 층을 설정할 수 있으며, "층 그룹 표시"에서 보이는 층 이름을 입력합니다. ("F1"~"F7"도 가능)
값에 해당하는 층은 표시 되며, 해당하지 않는 층은 비표시됩니다.
TransFloorInEasyView 항목이 없는 경우 모든 층이 표시 상태가 됩니다.
**3-1**에서 "TRANS"로 설정한 버튼에서 클릭했을 때 반투명화 시킬 그룹을 설정합니다.
단일 또는 복수의 그룹을 설정할 수 있으며, **2-1**번에서 설정한 GroupName의 값으로 설정합니다. ("G0"~"G6"도 가능)
값에 해당하는 그룹은 표시 되며, 해당하지 않는 그룹은 비표시됩니다.
TransGroupInEasyView 항목이 없는 경우 모든 그룹이 표시 상태가 됩니다.


캐릭터 모드에서 문과 같은 오브젝트를 원활하게 지나가기 위해 그룹별로 오브젝트를 반투명화 할 수 있습니다.
캐릭터 모드 진입 시, 반투명화 시킬 그룹을 설정합니다.
복수 또는 단일의 그룹을 설정할 수 있으며, **2-1**번에서 설정한 GroupName의 값으로 설정합니다. ("G0"~"G6"도 가능)
값에 해당하는 그룹은 반투명 표시되며, 해당하지 않는 그룹은 불투명 표시됩니다.
TransGroupInCharacter 항목이 없을 경우 캐릭터 모드에서 모든 그룹의 오브젝트가 표시 상태가 됩니다.
설정 예시 : "TransGroupInCharacter": ["문/기둥"],

캐릭터 모드에서 비표시할 그룹을 설정합니다.
복수 또는 단일의 그룹을 설정할 수 있으며, **2-1**번에서 설정한 GroupName의 값으로 설정합니다. ("G0"~"G6"도 가능)
값에 해당하는 그룹은 표시되며, 해당하지 않는 그룹은 비표시됩니다.
HideGroupInCharacter 항목이 없을 경우 캐릭터 모드에서 모든 그룹의 오브젝트가 표시 상태가 됩니다.
캐릭터 모드에서 비표시할 층을 설정합니다.
단일 또는 복수의 층을 설정할 수 있으며, "층 그룹 표시"에서 보이는 층 이름을 입력합니다. ("F1"~"F7"도 가능)
값에 해당하는 층은 표시되며, 해당하지 않는 층은 비표시됩니다.
HideFloorInCharacter 항목이 없는 경우 모든 층이 표시 상태가 됩니다.
캐릭터 모드에서 미니맵을 표시할 때, 층을 그룹화하여 표시합니다.
단일 또는 복수의 층을 설정할 수 있으며, "층 그룹 표시"에서 보이는 층 이름을 입력합니다. ("F1"~"F7"도 가능)
Ex) "MinimapFloorGroup" : ["F1, F2, F3", "F4, F5"] 와 같이 설정할 경우, 캐릭터가 1층, 2층, 3층에 있을 때, 해당 층들을 동시에 표시합니다. 4층, 5층에 있을 때, 해당 층들을 동시에 표시합니다.
층별 대피경로에서 표시되는 층 토글 목록을 설정하여 필요한 층만 표시하거나, 평면도 상태에서 오브젝트의 표시 여부를 그룹별로 설정할 수 있습니다.
"층별 대피경로"에서 표시할 층 토글을 설정할 수 있습니다.
단일 또는 복수의 층을 설정할 수 있으며, "층 그룹 표시"에서 보이는 층 이름을 입력합니다. ("F1"~"F7"도 가능)
값에 해당하는 층의 토글은 표시 되며, 해당하지 않는 층은 비표시됩니다.
VisibleFloorInRouteView 항목이 없을 경우 모든 층의 토글이 표시됩니다.
"VisibleFloorInRouteView": ["1층", "2층"],

층별 대피경로에서 층 토글을 클릭한 뒤 보여지는 평면도에서 오브젝트의 표시 여부를 그룹별로 설정할 수 있습니다.
단일 또는 복수의 그룹을 설정할 수 있으며, **2-1**번에서 설정한 GroupName의 값으로 설정합니다. ("G0"~"G6"도 가능)
값에 해당하는 그룹(안전관련 그룹 제외)은 평면도 상태에서 표시됩니다.
VisibleGroupInRouteView 항목이 없을 경우 평면도에서 안전관련 그룹만 표시됩니다.


카메라의 줌인/줌아웃 속도를 조절하는 범위 변경, 뷰포인트 표시 여부를 설정할 수 있습니다.
카메라의 줌인/줌아웃의 속도가 공장 범위 내에선 천천히, 공장 범위 외에선 빠르게 적용되는 기능이 있는데, 그 범위를 실제 공장 크기와 다르게 적용하고 싶을 때 변경합니다.
값은 가로, 높이, 세로 순으로 값을 입력합니다. 0으로 입력할 경우, 그 값은 실제 공장 크기의 값이 적용됩니다.
설정 예시 : "ActualFactorySize": [35.6, 0, 35.1],

ActualFactorySize 항목이 없을 경우 실제 공장 크기가 적용됩니다.
뷰포인트 기능 사용 여부 및 항목에 대한 표시를 설정합니다.
UseViewPoint의 유효한 값은 0,1,2입니다.
UseViewPoint 항목이 없을 경우 0이 적용됩니다.
씬플레이 데이터를 통해 직접 카메라와 층, 그룹을 설정하지 않고 보다 간편하게 버튼을 클릭하여 공장의 특정 뷰를 보기 위한 기능입니다.
유효한 값에 따른 적용 결과는 아래 표와 같습니다.
| UseViewPoint | 뷰포인트 항목 표시 여부 | 카메라 버튼 표시 여부 (카메라 데이터가 있는 경우) |
|---|---|---|
| 뷰포인트 기능 사용 안 함 (상단메뉴의 뷰포인트 버튼 표시 안 함) |
항상 표시 | |
| 씬플레이 데이터 중 뷰포인트로 설정된 항목 표시 | 개발자 모드일 때 표시 | |
| 씬플레이 데이터 전부 표시 | 개발자 모드일 때 표시 |


UseViewPoint를 0으로 설정한 경우, 뷰포인트 기능을 비활성화하여 상단 메뉴에서 뷰포인트 버튼을 비표시합니다.
상단 메뉴에서 카메라 버튼이 카메라 데이터가 있는 경우 개발자 모드와 상관없이 표시됩니다.


UseViewPoint를 1로 설정한 경우, 씬플레이 데이터 중 뷰포인트로 설정된 항목이 "뷰포인트" 에 번호로 구성된 버튼으로 표시됩니다.
상단 메뉴에서 카메라 버튼이 카메라 데이터가 있는 경우, 개발자 모드일때만 표시됩니다.


UseViewPoint를 2로 설정한 경우, 모든 씬플레이 데이터가 "뷰포인트"에 번호로 구성된 버튼으로 표시되며, 씬플레이 데이터들이 뷰포인트로 설정되어 있지 않아도 뷰포인트 기능을 사용하고자 할 때 이 값으로 설정합니다.
상단 메뉴에서 카메라 버튼이 카메라 데이터가 있는 경우, 개발자 모드일때만 표시됩니다.
화면에 표시되는 항목들을 설정합니다.
단색 배경을 사용할 때 색상을 설정합니다. R,G,B 값 순서대로 0~255 범위를 가진 값들로 구성됩니다.
7-2에서 설정한 UsePostProcessing의 값에 따라 색감의 차이가 발생할 수 있습니다.
BackgroundRGB 항목이 없을 경우 유니티 기본 배경이 적용됩니다.


유니티에서 지원하는 Post-Processing 기능을 On/Off 할 수 있습니다.
해당 값이 true일 경우 On, false인 경우 Off 됩니다.
UsePostProcessing 항목이 없을 경우 true가 적용됩니다.
false로 설정할 경우, 저사양 기기에서 프레임 향상에 도움이 될 수 있습니다.
기존에 렌더링된 씬에 렌더링 효과를 더하는 작업을 뜻하며, 현재 InsighTwin에선 화면의 색감 조정, Anti-Aliasing, Bloom(광학 효과)을 사용하고 있습니다

상단 메뉴 우측에 표시되는 시간에 대한 포맷을 설정합니다.
유효한 값은 None, Date, Time, DateTime, Custom 총 5개입니다.
TimeFormat 항목이 없을 경우 DateTime이 적용됩니다.
시간을 표시하지 않습니다.

시간을 "연-월-일" 포맷으로 표시합니다.

시간을 "시:분" 포맷으로 표시합니다. 시는 12시간제로 표시됩니다.

시간을 "연-월-일 시:분"을 표시합니다. 시는 12시간제로 표시됩니다.

시간 포맷을 직접 입력합니다. 포맷에 대한 설명은 링크를 참조하시길 바랍니다.

각 오브젝트에 적용된 Material의 Metallic과 Glossiness 값을 설정합니다.
분류 기준은 Name, Worker, Type, Group으로 총 4개이며, 적용 우선 순위는 Name > Worker > Type > Group 순입니다.
표면의 금속성 정도를 수치화한 값 (허용 범위 : 0~1)
값이 높을수록 표면이 금속처럼 표현됩니다. 표면이 더 금속 같을수록 환경을 더 많이 반사하고 표면의 알베도 컬러가 덜 보입니다
표면의 광택감 정도를 수치화한 값 (허용 범위 : 0~1)
값이 높을수록 빛이 표면에서 더 많이 반사됩니다.)
이름으로 오브젝트를 분류하여 Metallic, Glossiness 값을 적용합니다. "Name"에 적용시킬 오브젝트의 이름을 입력하고, "Metallic", "Glossiness"에 각각 적용할 값를 입력합니다.
"Metallic" 또는 "Glossiness" 항목을 입력하지 않으면 입력하지 않은 항목에 대해 오브젝트의 Material이 가지고 있는 원래 값이 적용됩니다.
우선 순위가 가장 높은 분류이며, Material에 설정되어 있는 Metallic 값 또는 _MetallicGlossMap 텍스처가 있더라도 이를 무시하고 해당 값을 적용합니다.

작업자에 해당하는 오브젝트에 Metallic, Glossiness 값을 적용합니다. "Metallic", "Glossiness"에 각각 적용할 값을 입력합니다.
작업자 판별 기준은 오브젝트의 이름에 "worker"가 포함되어 있거나 Animator 컴포넌트가 있으면 작업자로 간주합니다.
적용하려는 오브젝트의 Material에 Metallic 값이 설정되어 있거나, _MetallicGlossMap 텍스처가 있으면 해당 항목이 적용되지 않습니다.

Type으로 오브젝트를 분류하여 Metallic, Glossiness 값을 적용합니다. "Type"에 적용시킬 오브젝트의 이름을 입력하고, "Metallic", "Glossiness"에 각각 적용할 값을 입력합니다.
적용하려는 오브젝트의 Material에 Metallic 값이 설정되어 있거나, _MetallicGlossMap 텍스처가 있으면 해당 항목이 적용되지 않습니다.

Group으로 오브젝트를 분류하여 Metallic, Glossiness 값을 적용합니다. "Group"에 적용시킬 오브젝트의 이름을 입력하고, "Metallic", "Glossiness"에 각각 적용할 값을 입력합니다.


"Group" 값 적용 시, 2-1번에서 설정한 GroupName 값으로 입력하거나, "G0"~"G6" 형식으로 입력합니다.
우선 순위가 가장 낮은 분류이며, 적용하려는 오브젝트의 Material에 Metallic 값이 설정되어 있거나, _MetallicGlossMap 텍스처가 있으면 해당 항목이 적용되지 않습니다.

프로그램 내에서 사용되는 조명 밝기를 설정합니다.
메인 조명의 밝기를 설정합니다. 값이 높을수록 밝기가 밝아집니다.
기본 값은 1입니다.
보조 조명1의 밝기를 설정합니다. 값이 높을수록 밝기가 밝아지며, 0으로 설정 시, 보조 조명1을 사용하지 않습니다.
기본 값은 0입니다.
보조 조명2의 밝기를 설정합니다. 값이 높을수록 밝기가 밝아지며, 0으로 설정 시, 보조 조명2을 사용하지 않습니다.
기본 값은 0입니다.
메인 조명의 색상을 설정합니다. 크기 3의 숫자 배열의 값을 입력합니다.
기본 값은 [255, 255, 255] 입니다.
화면에 표시되는 항목들을 설정합니다.
Default.json에서 UseInsighTwin 모드를 활성화할 경우 상단 메뉴 중앙에 표시되는 항목을 설정합니다.
ModeData에서 설정하는 데이터들은 배열로 구성되어 있으며,
모든 데이터들의 배열의 크기가 동일해야 됩니다.
InsighTwin 모드 드롭다운에 표시할 항목을 설정합니다.
8-1-1 Title에서 설정된 InsighTwin 모드 드롭다운에 표시할 항목의 폰트 색상을 설정합니다.
"Safety" 텍스트를 입력하여 동일한 인덱스를 가진
8-1-1 Title에서 설정된 InsighTwin 모드 드롭다운 항목 선택 시, 안전 관련 항목들을 표시합니다.
8-1-1 Title에서 설정된 InsighTwin 모드 드롭다운 항목 선택 시, 표시할 말풍선 데이터베이스를 설정합니다.
문자열로 입력하여야 되며, 다수의 데이터베이스를 표시할 경우, 쉼표(,)로 표시할 말풍선 데이터베이스를 구분합니다.
| 숫자 | 표시할 말풍선 데이터베이스 |
|---|---|
| 0 | MachineStatus |
| 1 이상(N) | MachineBoard(N) |
설정 예시는 아래의 그림과 같습니다.

위와 같이 설정했을 경우 반영되는 화면은 아래와 같습니다.
