최근 VR/AR/XR 기기를 활용해 기본적인 인지 및 행동 실험을 진행하는 연구가 많아졌습니다. 일반적인 2D 화면보다 훨씬 몰입감이 뛰어나고, 좁은 실험실 안에서도 현실의 다양한 환경과 변인들을 마음껏 제시할 수 있다는 점이 가장 큰 이유인듯합니다. 이에 따라 요즘은 PhysioLabXR(https://physiolabxr.org/), UXR 2.0(https://github.com/immersivecognition/unity-experiment-framework) 같이 복잡한 실험 환경 구축을 도와주고 개발 시간을 확 줄여주는 프레임워크들도 많이 나오고 있습니다.

하지만 막상 현업에서 이런 툴들을 써보면, 기능이 필요 이상으로 너무 방대해서 오히려 세팅이 무겁거나 , 정작 제일 필요한 '실험 중단 시 해당 위치부터 이어하기' 같은 소소하지만 치명적인 기능이 빠져있는 경우가 많습니다. 그래서 오늘 소개할 ExpTrialMng를 직접 만들게 되었습니다. 기능 자체는 기존 프레임워크들보다 적을지 몰라도, 석.박사과정동안 수많은 VR/AR 사용자 실험을 굴려보며 느꼈던 불편함들을 해결하는 데 초점을 맞춘 Unity 라이브러리입니다. 실험 설계의 뼈대가 되는 트라이얼 반복 제어와 CSV 자동 저장 기능 , 그리고 에러 발생 시 그 자리에서 바로 실험을 재개할 수 있는 복구 기능 등을 가볍게 만들어서 구현하신 Unity 실험 프로젝트에 간단하게 import 할 수 있도록 구현해보았습니다.

✨ 주요 기능

  • 미리 생성된 CSV 파일을 읽어와 각 트라이얼의 자극(Stimuli) 설정을 실험 매니저에 전달합니다.
  • 각 트라이얼이 끝날 때마다 실험 결과를 추가적인 단일 CSV 파일에 자동으로 저장하여 데이터 손실을 최소화합니다.
  • 실험 중 예기치 못한 오류로 중단되었을 때, 처음부터 다시 시작할 필요 없이 결과가 채워지지 않은 특정 트라이얼 번호부터 실험을 바로 재개할 수 있습니다.

🛠 사용 방법 (Usage)

이 라이브러리를 사용하면 몇 줄의 코드만으로 본인의 실험 환경에 맞게 쉽게 적용할 수 있습니다.

1. 사전 트라이얼 데이터(CSV) 준비

  • 실험 시작 전, 각 트라이얼의 자극 정보를 담은 CSV 파일을 생성(Python 등으로 생성)하여 Asset 폴더에 배치합니다.
  • 이때, CSV 파일의 첫 번째와 두 번째 열(Column) 헤더는 반드시 partiNumber(참가자 번호)와 trialNumber(트라이얼 번호)로 지정되어야만 라이브러리가 정상 작동합니다.
  • 결과를 저장할 출력(Output) 슬롯은 비워두어야 하며, 트라이얼이 종료될 때마다 채워집니다.

2. Unity Prefab 설정

  • 제공되는 Experiment Manager 프리팹을 Unity 프로젝트에 불러옵니다.
  • Inspector의 TrialData 탭에서 다음 파라미터들을 설정합니다:
    • Csv File Name: 준비한 CSV 파일 이름.
    • Input Idx: CSV 헤더의 입력(Input) 피처 개수.
    • Output Idx: CSV 헤더의 출력(Output) 피처 개수.
    • Start From: 실험을 시작할 트라이얼 인덱스 (에러 발생 후 이어하기 시 유용).

3. 코드 연동

  • 파라미터 설정 후, ExperimentManager.cs 스크립트 내부에서 시각, 청각, 햅틱 등의 자극을 제어하는 코드와 트라이얼 정보를 연결해주기만 하면 됩니다.

더 자세한 예제 코드나 전체 소스는 아래 GitHub 링크와 arXiv 논문에서 확인하실 수 있습니다. 이 라이브러리를 통해 Unity 프로그래밍에 익숙하지 않은 다양한 분야의 연구자분들이 코딩에 대한 부담을 덜고, 실험 설계 본연에 더 집중하여 좋은 연구 성과를 얻는 데 도움이 되길 기대합니다.

https://www.youtube.com/watch?v=Pl7wKWeAtmU

Lee, S. U., Kim, J., & Lee, J. (2023). Effects of Reward Schedule and Avatar Visibility on Joint Agency during VR Collaboration. IEEE Transactions on Visualization and Computer Graphics.

https://www.youtube.com/watch?v=v-8cnpWkwl8

 

Kim, J., Koh, P., Kang, S., Jang, H., Lee, J., Nam, J., & Doh, Y. Y. (2022, November). Seung-ee and Kkaebi: A VR-Mobile Cross Platform Game based on Co-Presence for a Balanced Immersive Experience. In Extended Abstracts of the 2022 Annual Symposium on Computer-Human Interaction in Play (pp. 273-278).

https://www.youtube.com/watch?v=jM7fO5ctS08

Kim, J., Kim, D., Kim, B., Kim, H., & Lee, J. (2023, March). Holobot: Hologram based extended reality telepresence robot. In Companion of the 2023 ACM/IEEE International Conference on Human-Robot Interaction (pp. 60-64).

https://www.youtube.com/watch?v=S7EpSgWPKJY

Kim, J., Kim, T., & Lee, J. (2024, May). VR-SSVEPeripheral: Designing Virtual Reality Friendly SSVEP Stimuli using Peripheral Vision Area for Immersive and Comfortable Experience. In Extended Abstracts of the CHI Conference on Human Factors in Computing Systems (pp. 1-7).

https://www.youtube.com/watch?v=xzbIgqn6Vio

Lee, C., Kim, J., Yi, H., & Lee, W. (2024, May). Viewer2Explorer: Designing a Map Interface for Spatial Navigation in Linear 360 Museum Exhibition Video. In Proceedings of the CHI Conference on Human Factors in Computing Systems (pp. 1-15).

'Life > Conference' 카테고리의 다른 글

IEEE ISMAR 2023  (0) 2024.06.21
AIVR 2019  (0) 2020.12.09
SIGGRAPH 2019  (0) 2019.09.09
HCI Korea 2019  (0) 2019.09.09

+ Recent posts