User Tools

Site Tools


visual3d:documentation:third-party:xsens:xsens_prop

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:third-party:xsens:xsens_prop [2024/07/16 19:32] – created sgrangervisual3d:documentation:third-party:xsens:xsens_prop [2025/06/24 12:00] (current) wikisysop
Line 1: Line 1:
-====== XSens_Prop ======+====== XSens Prop ======
  
-===== Introduction =====+Visual3Dv2020.## and onwards supports reading MVNX files with one prop sensor. The sensor will be loaded automatically as a segment, e.g., PR1. If more props are required to process your data, please contact HAS-Motion.
  
-\\ +When using an Xsens prop in Visual3D, all information is loaded automatically and no further steps are required. You can however choose to load a graphics object or adjust the location of the prop segment. This page explains the steps in the pipeline necessary to modify the script for your own data.
-Visual3Dv2020.## supports reading MVNX files with one prop sensor. The sensor will be loaded automatically as a segment (ex. PR1). If more props are required to process your data, please contact C-Motion. **When using an Xsens prop in Visual3D, all information is loaded automatically and no further steps are required.**\\ +
-\\ +
-You can however choose to load a graphics object or adjust the location of the prop segment. **This wiki page will explain the steps in the pipeline so that you can modify the script for your own data.**\\+
  
- +===== Sample Data =====
-==== Sample Data ====+
  
 **[[https://www.has-motion.com/download/examples/Xsens/Xsens_Prop_Example.zip|Sample data can be downloaded here]].** **[[https://www.has-motion.com/download/examples/Xsens/Xsens_Prop_Example.zip|Sample data can be downloaded here]].**
  
 +Start by preparing the sample data:
   - Save the sword.obj file in your [[Visual3D:Tutorials:Modeling:Fun_With_Graphics#Finding_your_Graphics_Folder|Models folder]]   - Save the sword.obj file in your [[Visual3D:Tutorials:Modeling:Fun_With_Graphics#Finding_your_Graphics_Folder|Models folder]]
   - Open the MVNX file:   - Open the MVNX file:
Line 18: Line 15:
     - Browse for MVNX file     - Browse for MVNX file
       - Notice all the information for the prop signal is loaded and the segment coordinate system is displayed in the 3D viewer       - Notice all the information for the prop signal is loaded and the segment coordinate system is displayed in the 3D viewer
 +
 +Next run the pipeline script:
   - Run the pipeline:   - Run the pipeline:
     - Pipeline -> Workshop     - Pipeline -> Workshop
Line 24: Line 23:
     - Execute Pipeline     - Execute Pipeline
  
-**The pipeline will:** +The pipeline will: 
- +  * Adjust the position of the prop so that it is fixed to the centre of mass of the hand
-  * Adjust the position of the prop so that it is fixed to the center of mass of the hand+
   * Load the sword graphic object   * Load the sword graphic object
-  * Color the sword red+  * Colour the sword red
  
-==== Segment Properties ====+===== Modify Segment Properties =====
  
 The graphics object and kinetic segment properties can be defined using the Segment Properties command. In this example, the sword graphic object is being associated with the prop: The graphics object and kinetic segment properties can be defined using the Segment Properties command. In this example, the sword graphic object is being associated with the prop:
Line 62: Line 60:
 </code> </code>
  
-=== Graphics Object ===+==== Setting the Graphics Object ===
 + 
 +In Visual3D graphics objects are just for visual affect and can be adjusted as needed. [[Visual3D:Tutorials:Modeling:Fun_With_Graphics|Graphics objects are described here]], which will also explain how to store the graphics object in the correct location on your computer.
  
-In Visual3D graphics objects are just for visual affect and can be adjusted as needed. [[Visual3D:Tutorials:Modeling:Fun_With_Graphics|Graphics objects are described here, which will also explain how to store the graphics object in the correct location on your computer]].+==== Setting Segment Kinetic Properties ====
  
-=== Kinetic Properties ===+Set the segment to kinetic by making the Set_Segment_Properties's command's /KINEMATIC_ONLY parameter FALSE. Then set the segment mass, and inertial properties. These settings will be specific to whatever your prop segment represents.
  
-Set the segment to kinetic (/KINMEATIC_ONLY=FALSE), set the segment mass, and inertial properties. These settings will be specific to whatever your prop segment represents.+==== Adjusting the Prop's Position ====
  
-==== Adjusted Position ====+By default, Visual3D uses the position data from the MVNX file. In this example, you will notice that the hand and the sword are close at Frame 1, however at the end of the file there is an offset between the the sword and the hand segment.
  
-**A.** By default, Visual3D uses the position data from the MVNX file. In this example, you will notice that the hand and the sword are close at Frame 1.\\ +Frame 1 ^ Last Frame ^ 
-**B.** However, at the end of the file there is an offset between the the sword and the hand segment.\\ +| {{:Xsens_PropPos_Frame1.png}}  |  {{:Xsens_PropPos_FrameLast.png}}  |
-**C.** By overwriting the sword position with the hand center of gravity signal, the sword position is then moved to the hand, which may be a more realistic location since the prop is in the person's hand.\\+
  
 +By overwriting the sword position with the hand center of gravity signal, the sword position is then moved to the hand, which may be a more realistic location since the prop is in the person's hand.
  
-|  __**A. Frame 1:**__\\ \\ {{Xsens_PropPos_Frame1.png}}  |  __**B. Last Frame:**__\\ \\ {{Xsens_PropPos_FrameLast.png}}  |  __**C. Last Frame Adjusted:**__\\ \\ {{Xsens_PropPos_FrameLastAdjusted.png}}  |+{{:Xsens_PropPos_FrameLastAdjusted.png}}
  
 The position data for the prop is stored in BODY::ORIGINAL::PR1_POS. By storing data in BODY::PROCESSED::PR1_POS, the processed signal will be used instead. An example of using the hand center of gravity instead of the data original signal would be: The position data for the prop is stored in BODY::ORIGINAL::PR1_POS. By storing data in BODY::PROCESSED::PR1_POS, the processed signal will be used instead. An example of using the hand center of gravity instead of the data original signal would be:
visual3d/documentation/third-party/xsens/xsens_prop.1721158360.txt.gz · Last modified: 2024/07/16 19:32 by sgranger