- 모든 컨트롤러 에디터를 IMGUI → UI Toolkit(UXML/USS)으로 전환 (Camera, Item, Event, Avatar, System, StreamDeck, OptiTrack, Facial) - StreamingleCommon.uss 공통 테마 + 개별 에디터 USS 스타일시트 - SystemController 서브매니저 분리 (OptiTrack, Facial, Recording, Screenshot 등) - 런타임 컨트롤 패널 (ESC 토글, 좌측 오버레이, 150% 스케일) - 웹 대시보드 서버 (StreamingleDashboardServer) + 리타게팅 통합 - 설정 도구(StreamingleControllerSetupTool) UXML 재작성 + 원클릭 설정 - SimplePoseTransfer UXML 에디터 추가 - 전체 UXML 한글화 + NanumGothic 폰트 적용 - Streamingle.Debug → Streamingle.Debugging 네임스페이스 변경 (Debug.Log 충돌 해결) - 불필요 코드 제거 (rawkey.cs, RetargetingHTTPServer, OptitrackSkeletonAnimator 등) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
188 lines
3.2 KiB
Plaintext
188 lines
3.2 KiB
Plaintext
/* Streamingle Facial Receiver Editor Styles */
|
|
|
|
/* ---- Title Bar ---- */
|
|
|
|
.facial-title-bar {
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background-color: rgba(0, 0, 0, 0.35);
|
|
border-radius: 6px;
|
|
padding: 8px 12px;
|
|
margin-bottom: 6px;
|
|
min-height: 32px;
|
|
}
|
|
|
|
.facial-title-text {
|
|
-unity-font-style: bold;
|
|
font-size: 14px;
|
|
color: #93c5fd;
|
|
}
|
|
|
|
.facial-status-container {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
display: none;
|
|
}
|
|
|
|
.facial-status-container--visible {
|
|
display: flex;
|
|
}
|
|
|
|
.facial-status-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 4px;
|
|
background-color: #22c55e;
|
|
margin-right: 6px;
|
|
}
|
|
|
|
.facial-status-label {
|
|
font-size: 10px;
|
|
-unity-font-style: bold;
|
|
color: #22c55e;
|
|
}
|
|
|
|
/* ---- Auto Find ---- */
|
|
|
|
.facial-auto-find-row {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
margin-top: 4px;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.facial-auto-find-btn {
|
|
background-color: rgba(99, 102, 241, 0.25);
|
|
color: #a5b4fc;
|
|
border-radius: 4px;
|
|
border-width: 1px;
|
|
border-color: rgba(99, 102, 241, 0.4);
|
|
padding: 3px 10px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.facial-auto-find-btn:hover {
|
|
background-color: rgba(99, 102, 241, 0.4);
|
|
}
|
|
|
|
.facial-auto-find-result {
|
|
font-size: 11px;
|
|
color: #94a3b8;
|
|
margin-left: 8px;
|
|
}
|
|
|
|
/* ---- Port Hot-Swap ---- */
|
|
|
|
.facial-active-port-row {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.facial-port-label {
|
|
font-size: 11px;
|
|
color: #94a3b8;
|
|
min-width: 70px;
|
|
}
|
|
|
|
.facial-port-value {
|
|
-unity-font-style: bold;
|
|
font-size: 12px;
|
|
color: #22c55e;
|
|
}
|
|
|
|
.facial-port-buttons {
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.facial-port-btn {
|
|
flex-grow: 1;
|
|
min-width: 60px;
|
|
height: 32px;
|
|
margin: 2px;
|
|
border-radius: 4px;
|
|
border-width: 0;
|
|
-unity-font-style: bold;
|
|
font-size: 12px;
|
|
-unity-text-align: middle-center;
|
|
background-color: rgba(255, 255, 255, 0.08);
|
|
color: #d4d4d4;
|
|
}
|
|
|
|
.facial-port-btn:hover {
|
|
background-color: rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
.facial-port-btn--active {
|
|
background-color: #22c55e;
|
|
color: white;
|
|
}
|
|
|
|
.facial-port-btn--active:hover {
|
|
background-color: #16a34a;
|
|
}
|
|
|
|
/* ---- Data Filtering ---- */
|
|
|
|
#filteringFields {
|
|
padding-left: 16px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
#filteringFields--hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* ---- Facial Intensity ---- */
|
|
|
|
.facial-separator {
|
|
height: 1px;
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
margin-top: 6px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
/* ---- BlendShape Override Drawer ---- */
|
|
|
|
.blendshape-override-row {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
padding: 2px 0;
|
|
}
|
|
|
|
.blendshape-override-dropdown {
|
|
flex-grow: 55;
|
|
flex-basis: 0;
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.blendshape-override-slider {
|
|
flex-grow: 35;
|
|
flex-basis: 0;
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.blendshape-override-value {
|
|
flex-grow: 10;
|
|
flex-basis: 0;
|
|
-unity-text-align: middle-right;
|
|
-unity-font-style: bold;
|
|
font-size: 11px;
|
|
min-width: 36px;
|
|
}
|
|
|
|
.blendshape-value--low {
|
|
color: #f87171;
|
|
}
|
|
|
|
.blendshape-value--normal {
|
|
color: #9ca3af;
|
|
}
|
|
|
|
.blendshape-value--high {
|
|
color: #60a5fa;
|
|
}
|