simovni2:implementation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
simovni2:implementation [2022/10/16 21:04]
laurentc [SimOvni 2 Implementation]
simovni2:implementation [2025/01/31 22:54] (current)
laurentc [Hardware]
Line 1: Line 1:
 ====== SimOvni 2 Implementation ====== ====== SimOvni 2 Implementation ======
 [[simovni2:implementation#development_environment_selected|Downloads]] [[simovni2:implementation#development_environment_selected|Downloads]]
 +
 +{{:simovni2:implementation:client_server.png?600|}}
 ===== Witness Side ===== ===== Witness Side =====
 ==== Hardware ==== ==== Hardware ====
Line 29: Line 31:
 ===== Investigator Side ===== ===== Investigator Side =====
 ==== Hardware ==== ==== Hardware ====
 +{{ :simovni2:implementation:laptop.png?400|}}
 laptop PC |  phone | tablet laptop PC |  phone | tablet
  
-Les premieres appli protosseront sur PC portable pour aller beaucoup plus vite, pour avoir plus de place écran pour placer les contrôles en vrac. +The first prototype apps runs on laptop PC for a fast dev, for more room to place sliders/buttons. 
 + 
 +La premiere appli protoest sur PC portable pour aller beaucoup plus vite, pour avoir plus de place écran pour placer les contrôles en vrac. 
 ==== Software ==== ==== Software ====
 Software stack Identical to the witness side. Software stack Identical to the witness side.
 +
 +The advantage of Unity3d is its ability to retarget an API for mobile as well as PC. Mobile : not now. Now we make it run on a laptop PC for a much faster dev.
  
 L'avantage de unity3d est de pouvoir re-targeter l'appli plus facilement ensuite pour mobile. Mais il y a peut-être beaucoup de travail à cause des différences de gestion des boutons ?  L'avantage de unity3d est de pouvoir re-targeter l'appli plus facilement ensuite pour mobile. Mais il y a peut-être beaucoup de travail à cause des différences de gestion des boutons ? 
 +
  
 Trajectory key-points interpolation: Trajectory key-points interpolation:
-  * if on investigator side (current implementation)+  * if on investigator side
     * easier to debug and make evolve the logic.     * easier to debug and make evolve the logic.
     * big visual jitter guarantied in the HMD (that's the main issue)     * big visual jitter guarantied in the HMD (that's the main issue)
Line 45: Line 53:
     * ensures fluid trajectories      * ensures fluid trajectories 
  
 +Both are implemented since v0.1.0
 ====== Development environment selected ====== ====== Development environment selected ======
  
Line 153: Line 162:
 A new icon "Simovni2" should appear. A new icon "Simovni2" should appear.
 ====== Unity3d Scene Graph ====== ====== Unity3d Scene Graph ======
 +
 ===== Server (Investigator, PC) ===== ===== Server (Investigator, PC) =====
  
Line 224: Line 234:
   * time (current time on trajectory in seconds, starting from 0)   * time (current time on trajectory in seconds, starting from 0)
     * if moved while playing, allows to move back and forth along the recorded trajectory in a fast way     * if moved while playing, allows to move back and forth along the recorded trajectory in a fast way
-    * if moved while in pause, the behavior is completely different. It is for trajectory editing, with the intend to create a new key-point at a new time.+    * if moved while in pause, the behavior is completely different. It is for trajectory editing, with the intend to create a new key-point at a new time; starting with the current settings when pause was pressed (alt, az, roll, size, brightness, etc...).
  
 == movable only while in pause for trajectory editing == == movable only while in pause for trajectory editing ==
Line 243: Line 253:
 ===== Client (Witness, HMD) ===== ===== Client (Witness, HMD) =====
 ==== Scene Graph ==== ==== Scene Graph ====
 +{{ :simovni2:implementation:client_scene_graph.png|}}
   * Controller Client (running the polarControlClient.cs script): this is the main object. It manages all the parameters under control of the witness and received data updates from the investigator. It communicates using the Messaging Client object   * Controller Client (running the polarControlClient.cs script): this is the main object. It manages all the parameters under control of the witness and received data updates from the investigator. It communicates using the Messaging Client object
   * Messaging Client (running the messaging.cs script): It sends any detected changes to the data toward the server. It communicates with the server using of the TCP Client object. It is the same source file as for the server.   * Messaging Client (running the messaging.cs script): It sends any detected changes to the data toward the server. It communicates with the server using of the TCP Client object. It is the same source file as for the server.
  • simovni2/implementation.1665947063.txt.gz
  • Last modified: 2022/10/16 21:04
  • by laurentc