질문답변

제목[re]U3dObjectBarrier 적용 Mesh 내 하위 객체 선택 시 U3dSelect 하이라이트 미작동2026-04-07 11:30
카테고리GeOnDT for JS
작성자

안녕하세요. 디지털 트윈팀 한연호 대리입니다. 

 

문의주신 내용 확인했습니다.

 

말씀 주신 현상은 현재 U3dObjectBarrier의 동작 구조의 특성 으로 발생하는 현상입니다.

현재 U3dObjectBarrier는 내부적으로 단일 후처리(OutlinePass 기반)로 동작하고 있으며, 단일 Outline 처리 방식의 구조적 한계로 발생합니다.

이후 버전에서는 단일 Outline 처리 방식이 아닌 복합 Outline처리 방식으로 변경될 예정입니다.


1) U3dObjectBarrier의 외부 객체 외곽선 효과 + 내부 객체 구조 + 외곽선(Barrier/Outline) 효과 미출력

  • 현상

    • 외부 객체에 외곽선 효과 적용 후, 내부 객체에 동일 효과 적용 시 외곽선이 보이지 않는 현상
    • 내부 외곽선 효과를 먼저 생성 후 출력 여부 확인, 외부 객체에 대한 효과를 이후에 생성 시 해당 현상 동일하게 발생

 

  • 원인 방향
    • OutlinePass(또는 유사 Outline 방식)는 다음과 같은 방식으로 동작합니다.

    • 선택된 객체의 depth / normal 정보를 기반으로 외곽선 생성
    • 내부 객체는 부모 객체의 depth에 의해 가려지는 구조 (occlusion 발생)

이로 인해 :

외부 객체 선택 시 → 외곽선 정상 출력

내부 객체 선택 시 → depth에 가려져 외곽선 미출력

 

즉, 선택은 정상적으로 이루어지지만 렌더링 단계에서 외곽선이 표현되지 않는 상태입니다. 

 

 

 

  • 조치 계획

    • 해당 이슈 개선을 위해 아래와 같은 방향으로 수정이 진행될 예정입니다.

      • 기존 단일 OutlinePass 구조를 최대 3개까지 확장
      • U3dObjectBarrier에 외곽선 우선순위 속성(renderOrder 개념) 추가
    • renderOrder 값 범위: 1 ~ 3

      • 3: 가장 외부 외곽선 (최상위)
      • 1: 내부 객체 외곽선 (하위)
    • 미입력 시 기본값은 3으로 적용

      이를 통해 내부/외부 객체 간 외곽선 표현 우선순위를 제어할 수 있도록 다음 배포에 반영하여 개선할 예정입니다.

 

  • 임시 대응 방안 (현재 배포 버전 기준)

    현 구조에서는 아래와 같은 방식으로 시각적 구분을 보완할 수 있습니다.

    1) 외부 객체 투명도 및 색상 조정 방식
    • 외부 객체에 외곽선 효과가 적용된 상태에서 내부 객체의 강조 표현이 필요한 경우,  외부 객체의 투명도를 낮추어 내부 객체의 가시성을 확보
    • 내부 객체에 강조 색상을 적용하여 선택 상태를 시각적으로 구분
      • 예시 방향 :

      • 외부 객체에 대해 opacity 값을 0.5 ~ 0.8 수준으로 조정
      • 내부 객체에 대해서 color 값을 설정하여 강조 색상 적용

해당 방식은 외곽선 대신 “반투명 + 색상 강조”를 통해 선택 상태를 표현하는 방법으로,
내부 객체가 가려지는 문제를 완화할 수 있습니다.

 

[ 예시 적용 화면 ]

mb-file.php?path=2026%2F04%2F07%2FF585_image.png

 

 

[ 예시 참조 코드 - tutorial-official/componentControlAtIndoor.html ] 

mb-file.php?path=2026%2F04%2F07%2FF587_image.png

 - U3dComponentPosition / U3dComponentInstancedPosition 의 setColor / setOpacity를 사용하여 색상 / 투명도를 설정할 수 있습니다.

 

해당 수정 사항은 현재 기능 개발을 진행 중에 있으며, 개발 완료 이후 안정화 작업을 거쳐 다음 주 초(4월 3주차) 배포에 반영될 예정입니다.
정확한 일정은 확정되는 대로 별도 안내드리겠습니다.

 

관련 내용에 대해서 질문 사항 있으시면 답변 부탁드리겠습니다. 

감사합니다.

좋은 하루 되세요.