3.1 키네틱 조명제어시스템 기초적인 움직임 및 조명제어 구현
1) 조명기구의 물리적 이동 구현
조명기구가 3차원적으로 움직이는 조명제어시스템을 Unreal Engine 내에 설계하고 구현하였다. 이 시스템은 조명기구가 특정 물체나 플레이어의
움직임을 따라 X, Y, Z 축을 따라 이동할 수 있다.
이를 달성하기 위해 플레이어와 Spot Light를 Blueprint 내의 컴포넌트에 배치하였다. 시뮬레이션 중에는 광원인 Spot Light의 조명
효과는 볼 수 있지만, 광원의 위치가 정확히 어디에 있는지 명확하지 않다. 조명의 움직임을 시각적으로 확인하기 위해 플레이어 머리 위에 조명을 배치하였다.
플레이어와 조명을 함께 배치하면 플레이어의 움직임에 따라 조명이 함께 움직인다. 플레이어 움직임을 제어하는 키는 프로젝트 세팅에서 할당하고 이러한
키를 사용하여 노드를 작성하였다. 예를 들어 ‘W’ 키를 누르면 플레이어와 조명이 앞으로 이동하고 ‘S’ 키를 누르면 뒤로 이동한다.
조명이 움직이는 것을 쉽게 확인할 수 있도록 천장에 격자무늬 형태로 레일을 설치하였다. 마지막으로 앞서 작성했던 플레이어와 조명 Blueprint를
배치하였다. Unreal Engine 내 조명기구의 물리적 이동 제작 과정을 Table 3에 나타내었다. 그리고 이와 같은 모델링 과정을 통해 로봇청소기처럼 바닥에서도 조명기구가 자유롭게 이동하는 모습이 구현될 수 있다. 레일이 벽에 설치된
경우에도 조명기구의 이동 모습이 벽 표면을 따라 수직·수평으로 이동되도록 구현될 수 있다.
Fig. 1은 Unreal Engine 내 조명제어 제작 과정에 따라 조명의 물리적인 움직임을 설계한 조명제어시스템의 시뮬레이션 결과이다. 앞서 언급한 것처럼
플레이어의 움직임에 따라 조명이 함께 움직인다. (a)는 플레이어가 ‘W’ 키를 눌러 앞으로 이동함에 따라 조명이 플레이어의 움직임을 따라가는 모습이다.
(b)는 ‘D’ 키를 눌러 오른쪽으로 이동함에 따라 조명이 함께 움직이는 모습이다.
Fig. 1. simulate the physical movement of lighting fixtures in Unreal Engine
Table 3. Create and simulate the physical movement of lighting fixtures in Unreal
Engine
2) 조명기구의 각도 및 회전 구현
조명기구의 각도와 회전을 제어하는 조명제어시스템의 구현이 가능하다. 조명기구의 각도와 회전 제어의 목표는 특정 물체에 닿거나 플레이어의 움직임에 따라
조명기구의 관절이 회전되는 시스템을 구현하는 것이다.
이를 달성하기 위해 Blueprint를 사용하여 조명기구와 버튼을 구성하고 조명기구의 각도와 회전의 제어가 가능하도록 설계되었다. Blueprint는
Unreal Engine 프로그램의 비주얼 스크립팅 시스템으로 노드 기반 인터페이스를 사용하여 여러 요소를 만드는 시스템이다. 조명제어시스템은 여러
관절로 구성된 계층 구조로 각 부분은 특정 각도와 회전 값에 따라 움직이도록 설계되었다. 조명기구의 구조는 아래에서부터 위쪽으로 “Base – Bottom
– Joint1 – Arm – Joint2 – Light”의 순서로 구성되어 있어 하위 수준 구성 요소는 상위 수준 구성 요소와 동기화되어 이동한다.
예를 들어, Joint2가 회전하면 여기에 부착된 Light도 회전한다. 조명제어 로직은 Blueprint를 사용하여 생성되었다.
Blueprint는 관절 설정, 움직임 제어, 버튼 연결 단계로 구성된다. 관절 설정 및 제어 단계에서는 각 관절의 움직임을 제어하는 방법을 설계하여
조명기구가 특정 각도로 회전하거나 움직일 수 있도록 하였다. 조명기구의 각도를 제어하기 위해 회전 노드가 사용되었으며, 지정한 값만큼 조명기구를 회전시켰다.
버튼 연결 단계에서는 조명제어가 버튼 동작과 연결되도록 하여 미리 설정된 회전 값이나 각도에 따라 조명기구가 회전되거나 각도가 조절된다. Unreal
Engine 내 조명기구의 각도 및 회전 제어 제작 과정을 Table 4에 나타내었다.
조명기구 모델은 Unreal Engine 내 장면에 배치되어 각 관절이 올바르게 설정되었는지, 버튼과 조명기구 간의 상호 작용이 원활하게 이루어졌는지
확인되었다. 각 관절의 움직임은 키보드 입력을 통해서도 제어될 수 있다. Unreal Engine의 입력 매핑 기능을 통해 특정 키가 사용되었을 때
조명기구의 특정 부분이 회전되거나 움직이도록 디자인되어 사용자가 조명의 각도를 직접 조정할 수 있도록 하였다.
Table 4. Creating angle and rotation controls for lighting fixtures in Unreal Engine
Fig. 2는 Blueprint를 사용하여 구축된 조명제어시스템이 플레이어의 움직임이나 버튼 입력에 반응하여 동적으로 회전하는 모습을 보여준다. (a)는 플레이어가
버튼 근처에 서 있는 초기 조명기구 상태를 보여준다. 조명기구은 고정되어 있으며 플레이어와 조명기구 간의 상호 작용 없는 장면이다. (b) ~ (d)는
조명기구가 플레이어의 움직임을 따라가는 모습을 포착한다. 플레이어가 공간을 이동함에 따라 조명은 점유자에게 초점을 유지하기 위해 회전하고 각도를 조정하여
동적으로 조정된다. 그리고 (e)는 버튼 1을 누를 때의 효과를 보여준다. 버튼이 활성화되면, 사전 설정된 조건이 트리거 되고 그에 따라 조명기구의
방향이나 동작이 변경된다. 마지막으로. (f)는 버튼 2를 눌렀을 때 조명기구의 변화를 보여준다. 조명기구의 회전과 각도는 버튼의 특정 입력에 따라
변경되어 공간이 조명되는 방식에 영향을 준다.
Fig. 2. Simulate angle and rotation controls for lighting fixtures in Unreal Engine
3) 조명기구의 광학장치 제어 및 조명제어 구현
조명기구의 배광, 광속, 색온도를 제어하는 조명제어시스템을 설계하고 구현하였다. 특정 키를 누르면 조명기구가 빛을 비추는 범위의 각도가 조정되고 조명의
밝기와 색온도가 제어하는 시스템이 구현되었다.
Blueprint를 사용하여 조명기구를 모델링하고 광원을 추가하였다. 배광 제어를 위해 노드에서 정보를 받기 위해서 조명기구의 각도 조절을 위한 부분이
별도로 설치되었다.
조명제어를 위한 키는 입력 매핑 시스템을 통해 설정되었다. 이러한 특정 키는, 배광의 각도, 광속, 색온도 값이 증가되거나 작아지도록 설정하기 위해
사용되었다. Spot Light의 외부 원뿔 모양의 반사판를 넓히거나 줄이도록 설정되고 그에 따라 조명기구의 양측 반사판의 각도가 동일한 각도로 움직이게
하였다. Spot Light의 외부 원뿔모양의 각도는 Spot Light 자체를 이동 및 회전시키는 동작이 아니므로 변수를 설정하여 Spot Light의
외부 원뿔모양의 각도 정보를 받아왔다.
광속과 색온도의 경우도 변수를 지정하여 특정 키를 눌렀을 때마다 조명기구가 밝아지거나 어두워지도록, 조명의 색온도가 따뜻하거나 차가운 색상으로 변경될
수 있도록 하였다. 이 과정을 통해 조명의 배광 각도 조정, 밝기 및 색온도가 제어될 수 있는 시스템이 성공적으로 구현되었고 이를 Table 5에 나타내었다.
Fig. 3은 Blueprint를 사용하여 구현된 조명제어시스템이 특정 키 입력에 반응하여 어떤 방식으로 동적으로 반응하는지 보여준다. (a) ~ (d)는 조명기구의
배광 제어 시뮬레이션의 모습이다. Spot Light의 외부 원뿔모양 각도와 조명기구의 양측 반사판 초기의 각도는 모두 40°로 설정하였고 그 모습을
(b)에서 볼 수 있다. 반사판의 각도는 ‘J’ 키를 누르면 –10°, ‘K’ 키를 누르면 +10°가 되도록 제어된다. Spot Light의 외부
원뿔 모양 각도가 20°, 40°, 60°, 80°로 넓어짐에 따라 조명기구의 양측 반사판도 20°, 40°, 60°, 80° 회전시켜 넓어지는 것이
확인되었다.
(e) ~ (h)는 조명기구의 광속 제어 시뮬레이션의 모습이다. (e)의 조도는 0lm이며, 조명기구의 위치가 보이지 않기 때문에 주변에 Point
Light로 빛을 추가하였다. 초기의 조도값은 100,000lm으로 설정되었고 그 모습은 (f)이다. ‘Num 2’ 키를 누르면 –50,000lm,
‘Num 8’ 키를 누르면 +50,000lm이 되도록 작동한다. Spot Light의 강도가 0lm, 100,000lm, 200,000lm 300,000lm으로
밝아지는 것이 확인되었다. (i) ~ (l)는 조명기구의 색온도 제어 시뮬레이션의 모습이다. 시뮬레이션 시작 초기의 모습은 (j)이며, 조명기구의
색온도는 4,000K이다. ‘Num 4’ 키를 누르면 –500K, ‘Num 6’ 키를 누르면 +500K 만큼 변화되도록 하였다.
Fig. 3. Simulation of optical device control for lighting fixtures in Unreal Engine
Table 5. Creating optical device control for lighting fixtures in Unreal Engine
3.2 실제적인 키네틱 조명제어시스템의 구현
1) 침대 각도 대응 키네틱 조명제어시스템: 각도·회전, 광학장치 제어
실제 적용 가능한 키네틱 조명제어시스템의 개념과 모습이 구현되었다. 병동에서 사용될 수 있는 천장 매입형 조명제어시스템은 천장에 매입된 외함과 외함의
내측에 슬라이딩을 통해 각도 조절이 가능한 내함으로 구성된다. 조명기구는 침대의 기울기에 따라 조명기구의 방향, 각도 및 광속이 동적으로 조절된다.
기울기 센서를 사용되어 침대 등받이의 각도가 감지되고 기울기 데이터는 조명제어 장치로 전송되어 사전에 프로그래밍된 조명기구의 각도, 색온도 및 광속이
제어된다[34].
침대 각도 변화에 따라 눈부심이 최소화되고 사용자에게 최적의 조명환경이 제공될 수 있다. 휴식을 위해 기대거나, 앉아서 식사하거나, 의료 시술을 위해
누워 있는 등 침대에서의 환자 위치가 자주 바뀔 수 있다. 예를 들어, 침대가 독서를 위해 기대는 각도로 조정되면 조명기구는 방향과 각도가 수정되아
목표에 집중된 조명이 제공된다. 침대가 편평하게 누워 있는 각도면 조명기구의 배광분포가 넓어져 편안한 조명환경이 제공될 수 있으며, 침대 각도에 따라
환자의 움직임이 있을 때, 조명기구 방향을 동적으로 조정하여 환자가 필요로 하는 곳으로 조명기구를 비추도록 하여 활동에 필요한 최적의 조명환경을 제공하며,
눈부심이 최소화될 수 있도록 한다.
환자가 자주 수행하는 활동에 맞게 미리 조명환경의 맞춤 설정이 가능하며, 이는 침대의 기울기에 따라 조명기구가 제어되어 조명이 항상 작업에 적합하도록
조정될 수 있기 때문이다. 아침에 기상을 위한 일반조명, 독서나 진료를 위한 집중조명, 이동을 위한 전반조명과 TV 시청을 위한 간접조명과 같은 상황이
포함된다.
Unreal Engine 내 침대 각도 대응 조명제어시스템이 구현되었다. 일반조명환경, 집중조명환경, 전반조명환경, 간접조명환경 4가지 상황이며,
Table 6에 나타내었다.
일반조명환경은 사용자가 누워 있어 침대가 평평한 위치인 침대 등받이의 기울기가 0°일 때 적용된다. 조명기구는 특정 작업이 수행되지 않는 휴식 상태
혹은 아침 시간이면 기상 중이라고 감지한다. 조명기구의 배광은 40°로 빛이 공간 전체에 고르게 퍼질 수 있도록 한다.
Table 6. Implementation of the bed angle-responsive lighting control system in Unreal
Engine
집중조명환경은 침대 등받이의 기울기가 40° 기울어져 있는 경우 사용자가 독서 혹은 의료진의 진료와 같이 집중된 조명이 필요한 작업 중이라고 감지한다.
조명기구는 배광을 20°로 좁혀 독서 자료나 처치가 필요한 좁은 영역에 밝고 집중된 조명을 제공한다.
전반조명환경은 침대 등받이의 기울기가 60° ~ 90°로 기울어지면 사용자가 침대 밖으로 벗어나 이동하기 위해 공간 내 전체적인 밝기가 필요하다고
감지한다. 조명기구의 배광이 60°로 조정되어 공간 내부에 넓고 부드러운 조명으로 비춘다.
간접조명환경은 침대 등받이의 기울기가 0° 혹은 60°일 때 수면 중 또는 TV 시청과 같이 사용자에게 직접적인 조명을 비추지 않기 위한 조명환경이
필요하다고 감지된다. 조명기구는 배광을 60°로 넓혀서 근처 벽이나 천장을 향하도록 조정되어 TV 화면의 반사나 조명이 눈에 직접적으로 들어와 생기는
눈부심을 최소화한다.
2) 로봇팔 이용한 조명제어시스템: 이동, 각도·회전, 광학 장치 제어
로봇에 관한 관심이 높아지고 있는 상황에서 로봇 팔이 활용된 키네틱 조명제어시스템의 제안이 시의적절할 것으로 판단된다. 모든 방향으로 움직일 수 있는
로봇 팔과 광학적 변화가 가능한 조명기구가 결합되어 동적인 움직임이 구현되는 것이다. 로봇 팔과 통합된 조명제어시스템은 향상된 유연성과 정밀도를 제공하여
3차원에서 전체 범위의 움직임이 가능하게 된다. 실시간 센서 데이터 또는 사전 프로그래밍한 시나리오를 기반으로 조명기구의 위치와 각도가 동적으로 제어된다.
이러한 키네틱 조명제어시스템은 사용자나 물체의 움직임에 반응하고 위치를 추적하여 상황 변화에 따라 최적화된 조명 조건을 제공할 수 있다. 예를 들어,
사용자 활동을 따라 독서나 요리 등의 작업에 맞게 조명기구의 광속과 각도가 제어고 휴식 시간에는 부드러운 주변 조명이 제공될 수 있다. 산업 환경에서
로봇 팔은 작업자나 기계와 함께 움직일 수 있으며, 그림자가 생기지 않도록 제어하면서 작업별 조명을 제공할 수 있다. 의료 환경에서 의료진과 의료장비를
정확하게 추적하고 필요한 곳에 집중조명을 제공할 수 있다. 또한, 로봇 팔 시스템의 기계학습 기능을 통해 특정 의료 작업에 대한 최적의 조명환경 구성을
저장하고 불러올 수 있다. 이전 사용 패턴을 분석하여 수행되는 의료시술 유형에 따라 조명기구의 배광 분포, 광속 및 색온도가 자동으로 제어될 수 있다.
Unreal Engine을 통해 로봇 팔과 통합된 키네틱 조명제어시스템이 다음과 같이 구현되었다. 일반조명환경, 집중조명환경, 전반조명환경, 간접조명환경
4가지 상황이며, Table 7에 나타내었다.
일반조명환경은 의자 위에 사용자가 똑바로 앉아 있는 상태이며, 의자 등받이의 기울기가 90°일 때 적용된다. 조명기구는 읽기, 쓰기, 노트북 작업
등 가벼운 작업 중이라고 감지한다. 책상 앞쪽 천장에 설치된 조명기구는 관절 부위를 회전시켜 책상 위 영역을 비추도록 한다. 조명기구의 배광은 60°로
하여 작업 공간 전체에 일반적인 조명환경을 제공한다.
집중조명환경은 의자 등받이의 기울기가 70° 이하로 미세 작업을 위해 사용자가 몸을 앞으로 기울였다고 판단하여 집중된 조명이 필요한 작업 중이라고
감지한다. 조명기구는 배광을 20°로 좁히고 사용자가 작업 영역에서 손이나 물체를 움직이면 로봇 팔이 이러한 움직임을 추적하여 조명기구 각도를 조정하여
조명의 초점을 유지한다.
전반조명환경은 개인 작업에서 그룹 작업으로 활동이 변경됨에 따라 더 넓은 영역을 위한 조명이 필요하다고 감지한다. 조명기구는 배광을 60°로 조정되고
천장쪽으로 이동되어 모든 사용자에게 조명이 잘 비추도록 제어된다.
간접조명환경은 의자 등받이의 기울기가 100° 이상으로 사용자는 의자를 뒤로 젖혀서 편안한 자세로 미디어를 시청하거나 휴식을 취하고 있다고 감지한다.
조명기구는 배광을 60°의 넓은 빛으로 하여 근처 벽이나 천장을 향하도록 조정한다. 로봇 팔은 사용자의 움직임에 적응하여 간접조명을 유지하기 위해
스스로 타겟 위치를 변경할 수 있다.
Table 7. Implementation of kinetic lighting control systems utilizing robot arms and
optical adjustments in Unreal Engine
3) 이동식 스탠드 조명제어시스템: 이동, 각도·회전, 광학 장치 제어
이동식 키네틱 조명제어시스템은 조명기구 최하단의 기초부, 카메라 모듈, 회전 및 각도 조절이 가능한 스탠드 조명을 포함한다. 기초부는 로봇청소기처럼
모터, 바퀴 등으로 구성되며 실시간 지도 생성을 통해 사용자의 활동에 따라 공간을 탐색하여 최적의 위치로 이동될 수 있다. 카메라 모듈은 사용자의
상황인지를 위해 실시간 탐지를 수행하고, 각도 조절형 스탠드는 기초부에 부착되어 관절을 통해 회전 및 각도 조절이 가능한 조명기구를 포함한다.
이러한 키네틱 조명제어시스템은 조명기구가 특정 물체나 사용자에게 더 가까이 이동할 수 있어 최적 조명 환경을 구현할 수 있고, 그림자를 줄이는 조명
환경을 제공할 수 있다. 이동성 및 실시간 매핑 기능을 통해 이 시스템은 특정 사용자 움직임이나 물체에 정확하게 반응할 수 있다. 이러한 적응성은
다목적 공간과 같이 조명 요구사항이 자주 변경될 수 있는 환경에서 중요할 수 있다. 작업 중에 조명기구는 더 가까이 이동하여 고밝은 작업 조명을 제공할
수 있다.
예를 들어, 의료 환경에서 환자를 검사하거나 치료할 때 환자의 편안함을 위해 주변 조명은 유지되면서 특정 부위만 집중조명이 제공될 수 있다. 판매시설이
환경에서 특정 제품이나 영역이 빛으로 강조될 수 있으며 불필요한 부분의 조명을 줄일 수도 있다. 또한, 바닥에서 자율적으로 이동하여 여러 조명 요구사항이
충족될 수 있으므로, 여러 개의 고정된 조명시스템의 설치 필요성이 줄어든다. 이동식 스탠드 조명제어시스템은 접근하기 어려운 곳이나 추가 배선이나 전원
연결이 어려운 공간에서 활용 가능하다.
Unreal Engine 내 이동식 각도 조절형 스탠드 조명제어시스템은 다음과 같이 구현되었다. 일반조명환경, 집중조명환경, 전반조명환경, 간접조명환경
4가지 상황이며, Table 8에 나타내었다.
일반조명환경은 사용자가 읽기, 쓰기, 노트북 작업 등 가벼운 작업 중이라고 감지되는 상황이다. 조명기구의 배광은 40°로 설정되어 전체에 균일한 조명을
제공한다. 바닥에 설치되며 자율 이동 기능을 갖춘 조명기구가 의자 근처에 위치하고 관절 부위를 회전시켜 작업 영역을 비추도록 한다. 사용자의 움직임에
반응되어 위치가 제어되어 그림자를 최소화하는 동시에 조명기구를 사용자의 작업 공간에 더 가깝게 유지되게 한다.
집중조명환경은 좀더 집중된 조명이 필요한 작업 중이라고 감지되는 경우이며, 조명기구는 배광을 20°로 좁히고 사용자가 작업 영역에서 손이나 물체를
움직이면 스탠드가 움직임을 물리적으로 추적하여 작업 표면에 집중된 조명을 제공한다. 조명기구가 바닥에 위치하기 때문에 가깝고 정확한 조명을 제공하여
사용자의 신체나 물체로 인한 그림자 가능성을 줄이며, 사용자의 움직임을 정확하게 따라갈 수 있다.
전반조명환경은 개인 작업에서 그룹 작업으로 활동 등의 변화될 때 더 넓은 영역을 위한 조명이 필요하다고 판단될 때 실행된다. 조명기구의 배광이 60°로
조정되고 공간 내에서 이동되어 전체 사용자 또는 특정한 영역을 전반적으로 비추는 조명 환경이 제공된다.
간접조명환경은 편안한 자세로 미디어를 시청하거나 휴식을 취하고 있다고 감지될 때 제공된다. 조명기구의 배광은 60°의 넓은 빛을 사용하여 근처 벽이나
천장을 향하도록 제어된다. 효과적인 간접조명을 위해 물리적으로 높이가 낮추어진 조명이 제공될 수 있다.
Table 8. Implementation of a mobile angle-adjustable stand lighting control system
in Unreal Engine