+ All Categories
Home > Documents > INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where...

INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where...

Date post: 04-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
48
LIGHT & SHADOWS INTERACT DOCUMENTATION 03/06/2019
Transcript
Page 1: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

L I G H T & S H A D O W S

I N T E R A C T

D O C U M E N TAT I O N

03/06/2019

Page 2: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N T E R A C T : O V E R V I E W

INTERACT is a powerful platform used for visualizing and interacting with your 3D CAD models in VirtualReality. The solution is based on the well-known game engine Unity3D. It is therefore open, allowing you todevelop your own scripts to customize the solution for your own need.

INTERACT combines 2 core technologies

Use the power of PiXYZ Software to import, tessellate and optimize your native CAD files into Unity3D. PiXYZ is the leading solution for preparing CAD data and maximizing visualization performance.

XDE Physics is an interactive physics engine, featuring precise collision detection,multibody dynamics and many more features. XDE allows to animate complex scenewith accurate and realistic simulation of dynamic effects, both at rate compatiblewith VR rendering.

Page 3: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N T E R A C T : O V E R V I E W

Examples of simulations built with INTERACT SDK

Features

• Import native CAD files (Solidworks, CATIA, , 3DXML, IGES, STEP)• Import 3D scans (point clouds)• Scale 1:1 visualization (compatible with HTC Vive, Oculus Rift, Hololens, CAVEs)• Embedded physics engine (multi-body dynamics, collision detection, friction, kinematics)• Natural interaction (directly manipulate your 3D objects with your own hands)• Multi-user and multi-site collaboration• Real time ergonomic assessment

Collaborative simulation of production scenario Point cloud visualization and interaction Ergonomics assessment

Page 4: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N S T A L L A T I O N

Requirements

• Make sure your computer is VR ready (appropriate graphics card)• Install the latest version of SteamVR• Install Unity3D: please make sure you use a compatible version of Unity

• for INTERACT 18.12 : Unity 2017.3 to 2018.2• for INTERACT 19.05 : Unity 2018.3 to 2019.1

• If you want to interact in VR using your own hands and have purchased a LeapMotion sensor, install the latest LeapMotion SDK

Installing INTERACT in your Unity3D project

• INTERACT is distributed as a Unity3D package The installation of INTERACT packages in a new unity project simply consists in importing the*.unitypackage in the project. You can do it by dragging and dropping the unitypackage in the 'Project' tab, or via the menu :

Page 5: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N S T A L L A T I O N

Requesting a license

A license is required to use INTERACT. To request and install the license, follow these steps :• In the INTERACT menu, open the license manager

• Fill in the form and click on Generate

• This will generate 2 license request files (1 for PiXYZ and 1 for XDE)• Send those 2 files to [email protected]

Page 6: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N S T A L L A T I O N

Installing a license

Once you receive your license :• Open the license manager and go to the Install License tab

• Click on Install and proceed to the installation of both PiXYZ and XDE licenses• Restart Unity• Opening the license manager again should display 2 green indicators in the license status

• Congratulations ! You can now enjoy INTERACT and start building amazing simulations

Page 7: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

U N I T Y 3 D B A S I C S

INTE

RA

CT

Interface

1

1. SceneWhere the game is constructed

2. HierarchyA list of GameObjects in the scene

3. InspectorSettings and components for currentlyselected asset/object

4. GameThe preview window (first person),active only in play mode

5. ProjectA list of your project's assets, acts as alibrary

6. ConsoleShows messages, warning and errors

2

3

4

5 6

Page 8: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

G E T T I N G S T A R T E D

Creating a simulation

To create a new simulation• Make sure that you start from an empty Unity scene (File / New scene)• Then click on INTERACT > Create New Simulation

• You can choose between three preconfigured environment (White Lab, Factory, or City)

Page 9: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

G E T T I N G S T A R T E D

Creating a simulation

• Select your setup (Display Device, Hand Tracking, Body Tracking). In this step, you can configure your hardware combination for any VR or ARexperience.

Page 10: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

G E T T I N G S T A R T E D

Creating a simulation

Now look at the 'Hierarchy' tab, 3 objects have been created :

• [PhysicsManager] is the object managing the physics simulation (linked with the physicsserver). Its properties should not be modified unless you are an advanced user.

• [Player_1] is the object managing the VR camera and controllers, the Leap Motiondevice and the avatar. You can modify its position in the scene (your initial position inVR when the simulation is launched) by clicking on it and changing its coordinates(position and rotation) in the 'Inspector' tab.

• WhiteLab is the default environment. You can delete it if you want to replace it with anenvironment of your own

Page 11: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

G E T T I N G S T A R T E D

Playing the simulation

INTERACT allows to quickly switch from your working session to the VR simulation. To do so :

• In the Unity toolbar, click on the Play button

• Put on your headset, you should now visualize the environment at scale 1:1. If you have a LeapMotion device, place your hands infront of you and they should appear.

Troubleshooting

If playing the simulation does not work on your computer

• Make sure your VR device is connected and powered on

• Launch Steam VR application and make sure the HMD is active and tracked

• Check that your hands are correctly detected by launching the LeapMotion Visualiseur (Right click on the LeapMotion Icon in thetask bar)

Page 12: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

D E P L O Y M E N T

BUILDING AND DEPLOYING YOUR APPLICATION

If you want to deploy your application, you can build an executable of your simulation.

To do so :• Save your current Unity scene (CTRL+S)• In the INTERACT menu, click on build executable• Select the target folder (where the executable will be built)• The executable file of your application has been generated in the target folder (InteractBuild.exe)• If you need to distribute your application, do not forget to send the InteractBuild_Data folder along with the

executable file

In the next chapters, we will learn how to play around with the various INTERACT features available in VR.

Page 13: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

V R M E N U

VR MENU

In the simulation, the VR Menu is accessible from the controller’s grip button or by touching your palm with your index (LeapMotion). The VR Menu

contains useful VR tools. All features are compatible with HMD controllers (buttons) or LeapMotion (gesture detection).

Page 14: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

V R M E N U

VR MENU

The VR menu is divided into four sections :

Runtime Import (available March 2019)

• CAD models / PointClouds: allows to inject in the scene CAD models or

Point Clouds in runtime.

Settings

• Calibrate Avatar : measures the user’s height and calibrates the 3D avatar

accordingly

• Show FPS stats : shows FPS (frames per seconds) graph in VR (useful for

analytics)

Page 15: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

Visualization

• Teleporter : teleports the avatar to the targeted destination

• Selector : selects a part with the laser and validate the selection. This opens

a contextual Menu.

• Show hidden parts : displays all previously hidden parts

• Cross section : instantiates a cutting plane attached to the controller that

creates a cross section (Xray mode)

ToolBox

• Screenshot : takes pictures in VR (all screenshots are stored in the

‘Screenshots’ folder)

• Annotations : opens a virtual keyboard and allows typing VR Post-Its (all

notes are stored in the ‘Notes’ folder)

• 3D measuring tool : measures the distance between two points in space

• Timer : starts a stopwatch.

VR MENU

V R M E N U

Page 16: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

Contextual Menu

• Navigate in the Part tree (select up and down)

• Explode part : explodes an assembly for better visualization

• Hide Part

• Manipulate : Grabs the part with the controller or your hands

VR MENU

V R M E N U

Page 17: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

Teleporter Measuring tool Annotations

V R M E N U

VR MENU

Page 18: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

Cross Section

Explode Assembly

Manipulate part

V R M E N U

VR MENU

Page 19: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORTING CAD MODELS

Importing your CAD files into Unity3D is very easy. Indeed, INTERACT embeds PiXYZ, apowerful CAD optimizer solution to prepare and import native CAD files into Unity3D.

Supported CAD files formats are :

• Solidworks (.sldprt, .sldasm)• Catia V5, V6 (.CatPart, .CatProduct, .3dxml)• Siemens (.jt)• AutoCAD 3D (.dwg)• Rhino3D (. 3dmbak)• SketchUp (.skp)• IGES (.igs)• STEP (.stp)• STL (.stl)• OBJ (.obj)• FBX (.fbx)

To import your 3D CAD models into Unity3D• Click on the INTERACT > Import > CAD model• In the explorer, select your CAD file and click on Import• The PiXYZ CAD Import Settings window appears. From there, you can adjust the default

import settings if needed.

Go to "Supported formats"

Page 20: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORT PARAMETERS

The settings used to import a 3D model will impact the performance of your simulation. There is no set of preferences that will work every time, asevery use-case is different, with varying input data.

The default settings proposed are representative of a simple CAD model import scenario. They are to be used as guidelines for beginners but aremeant to be adjusted to user’s requirements.

• Coordinate system

Use the coordinate system settings to adapt the imported model’s units/transformation toUnity3D units/coordinate system (meter as its default unit, left-handed coordinate system withY as the Up axis).

Scale : sets the scale of the imported model.

Right-handed : use this setting to mirror a model from a right-handed coordinate systemto a left-handed one.

Z-up : use this setting to rotate the model from Z-up to Y-up.

Page 21: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORT PARAMETERS

The settings used to import a 3D model will impact the performance of your simulation. There is no set of preferences that will work every time, asevery use-case is different, with varying input data.

The default settings proposed are representative of a simple CAD model import scenario. They are to be used as guidelines for beginners but aremeant to be adjusted to user’s requirements.

• Hierarchy optimization

Choose one of the proposed mode to optimize the imported model’s hierarchy or (productstructure)

None : no modification of the hierarchy.

Clean-up intermediary nodes : Compresses the hierarchy by removing empty nodes orany node containing only on sub-node.

Clean-up all objects under root: Simplifies the hierarchy by transferring all imported 3Dobjects under the root node of the imported model.

Merge all objects: All objects contained in the original model will be merged together,as one single object.

Merge all objects by material: All objects contained in the original model that share thesame material will be merged together.

Page 22: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORT PARAMETERS

The settings used to import a 3D model will impact the performance of your simulation. There is no set of preferences that will work every time, asevery use-case is different, with varying input data.

The default settings proposed are representative of a simple CAD model import scenario. They are to be used as guidelines for beginners but aremeant to be adjusted to user’s requirements.

• Mesh Quality

Quality defines the density/visual quality of the mesh. Depending if you import a native CADmodel (exact geometry) or a tessellated model (mesh geometry), PiXYZ will automaticallyperform a tessellation (create polygons out of the geometry) or a decimation (reduce thenumber of existing polygons) amongst other optimization algorithms.

Choose the quality level between 5 different presets (Very-High, High, Medium, Low, Very-Low)depending on the size and density of objects in the scene.

Page 23: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORTING CAD MODELS

In the import menu that appears, select the file you want to import. You can then set the import parameters (concerning tessellation, coordinatesystem, product tree). This menu is reserved for advanced users. in most cases, it is suggested that you leave the default parameters.

• Level of Details (LOD)

When an object in the scene is a far away from the camera, the amount of details that can beseen on it is greatly reduced. However, the same number of triangles will be used to render theobject, even though the detail will not be noticed. An optimization technique called Level OfDetail (LOD) rendering allows you to reduce the number of triangles rendered for an object as itsdistance from camera increases.

LOD will reduce the load on the hardware and improve rendering performance.

In the import window, you can configure each LOD independently.

LOD0 = Very-High preset 100% to 75%

LOD1 = Poor preset 75% to 20%

Culled (Hidden)Under 20%

Select the mesh quality preset for each LOD and adjust the visibilitypercentage. The percentage value represents the maximum visibleproportion of a part/model when the camera is movingforward/backward before switching to the following LOD available,until disappearing (culling percentage).

Check the Use LODs function to enable LODs.

Page 24: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORT PARAMETERS

The settings used to import a 3D model will impact the performance of your simulation. There is no set of preferences that will work every time, asevery use-case is different, with varying input data.

The default settings proposed are representative of a simple CAD model import scenario. They are to be used as guidelines for beginners but aremeant to be adjusted to user’s requirements.

• Post Process

Generate UV : Use this setting to add a new primary UV set (texture mapping). Set thesize of the projection box used to create UVs.

Orient normal of adjacent faces : Use this setting to perform unification of alltriangle/faces orientation.

• Advanced

Stitch unconnected surfaced: Use this setting to stitch together unconnected CADsurfaces (sometimes CAD models exported from a CAD software are delivered withmultiple disconnected surfaces).

Split to limit vertex count: Use this setting to create meshes limited to 65k vertices (16bit index buffer instead of 32 bit).

Page 25: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

IMPORT PARAMETERS

In the import menu that appears, select the file you want to import. You can then set the import parameters (concerning tessellation, coordinatesystem, product tree). This menu is reserved for advanced users. in most cases, it is suggested that you leave the default parameters.

After setting the parameters, click on 'Import'.The CAD model will be tessellated or decimated andimported as a prefab in the folder '3DModels'.

An instance of the prefab has also been imported in thehierarchy. You can modify the position/orientation ofthe object in the scene by dragging the arrows of themodel or modifying the 'Transform' property in the'Inspector' tab.

Page 26: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

CLEANING CAD MODELS

If you encounter performance issues while playing your simulation (low refresh rate), it may be because your 3D models include too many parts. Evensmall parts (ex. screws), in a significant number, can have a huge impact on performance requirement. Cleaning your CAD models is therefore a goodway to get better performance.

• Merge Parts

This function combines several meshes in one single object. (Hold CTRL for selecting multipleobjects)

Merge by color: All objects that share the same color will be merged together.

Merge by name: You can merge objects according to a specific name tag.

Ex: Combining the 4 screws in one object

Page 27: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G C A D M O D E L S

CLEANING CAD MODELS

If you encounter performance issues while playing your simulation (low refresh rate), it may be because your 3D models include too many parts. Evensmall parts (ex. screws), in a significant number, can have a huge impact on performance requirement. Cleaning your CAD models is therefore a goodway to get better performance.

• Remove Parts

Allows to remove parts with a number of polygons lower or higher than a threshold

Ex: Removing parts with less than 1000 triangles (screws, bolts and bearing)

Page 28: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G P O I N T C L O U D S

IMPORTING POINT CLOUDS

Importing Point Cloud is really easy with INTERACT.Supported Point Cloud files formats are :

• E57 (.e57)• PTS / PTX (.pts, .ptx)• LAS (.las)

There are two techniques available to import and visualize point clouds. The choice of eithermethods depends on your computer specifications (mainly RAM).

NB : Sample point cloud data can be found here : http://www.libe57.org/data.html

The GameObject containing the PointCloud comes up with OctoPCLcomponents where you can configure :

- Point cloud appearance : 3 different visualization mode are available(points rendered as points, splat or cones)

- Point budget : maximum number of points that are displayed per frame.

- Center Origin: if your point cloud is not visible, it is probably that itsorigin is too far away. This button will recenter it.

INCORE methodFor small point clouds (<10 million points), the INCORE method loads the whole point cloud from the native file to the RAM. Therefore, the size of thefile cannot exceed the size of your RAM.

Page 29: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G P O I N T C L O U D S

IMPORTING POINT CLOUDS

• Point cloud appearance : 3 different visualization mode are available (points rendered aspoints, splat or cones)

• Point budget : maximum number of points that are to displayed per frame. If youencounter frame rate issues, point budget should be decreased.

• Point budget Mem: number of persistent points loaded in RAM (Point budget Mem shouldbe slightly greater that Point budget).

• Center Origin: if your point cloud is not visible, it is probably that its origin is too far away.This button will recenter it.

Point budget Mem adjusts the cache size that allows preloading points in the vicinity of thefield of view (avoid points poping up in the scene).

OUTofCORE methodFor very large point clouds (up to 1 billion points), the OUTofCORE method encodesthe point cloud file to a database (.db) file on the computer (inAssets/3DPointClouds). In Unity, the OctoPCLTreeServer component then streamsdynamically the most relevant points according to the player’s position and thepoint budget.The creation of the database file can take up to several hours.

NB : For better point cloud visualization performance, it is advised to disable the Dynamic Batching (in Edit > Project settings > Player)

NB : Sample point cloud data can be found here : http://www.libe57.org/data.html

Page 30: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I M P O R T I N G P O I N T C L O U D S

EDITING POINT CLOUDS

INTERACT provides a set of basic tools for manually editing and rendering 3D points clouds.

• Cropping and removing points

Instantiates a sizable box providing cropping and removing features. Select one cloud by dragging itinto the ‘point cloud’ field in the inspector of PointCloudTool.

Crop: will create a new point cloud (subset of the original one) with the points contained inside the box

Remove: will remove the points inside the box from the original point cloud

Original file

REMOVE CROP

NB : Once you are finished with editing point clouds, use the function 'Clean Database' to reorganize and clean the point cloud database file.

Page 31: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

X D E P H Y S I C S E N G I N E

XDE Physics Engine

XDE Physics is an interactive physics engine, featuring precise collision detection, multibody and beam dynamics. Possible example of use are assemblyverification, object manipulation and so on. XDE is written in C++ and has been optimized to provide maximal efficiency. It runs as a process separate fromUnity3D and overrides the position and velocities of objects in the scene according to their realistic physical behavior.

XDE allows to animate complex scene with multiple rigid bodies interconnected with mechanical joints very efficiently. XDE Physics offers precise collisionhandling as well as very accurate simulation of dynamic effects, both at rate compatible with haptic rendering.

Page 32: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

XDE Physics Engine

XDE Physics simulates the dynamics and kinematics of so called rigid bodies.

To ‘physicalize’ a 3D object in Unity3D means creating a ‘RigidBody’ component attached to the object along withmesh colliders.

To do so, select an object and click on Physicalize in the INTERACT menu.

In the pop-up menu, you can configure :

• LOD Level : the Level of Detail used for collision (if the part has been imported with LODs). Selecting LOD0 wouldgive a very fine but resource consuming collision detection (close to the actual mesh) while selecting a higherLOD would make the collision detection less precise but more efficient.

• Joint Type is used to configure the kinematic joint

• Free : the part is free to move in the 6 degrees of freedom

• Fixed : the part is fixed in the world or attached to another part

• Hinge : a pivot type articulation (1 rotation allowed)

• Prismatic : a prismatic type articulation (1 translation allowed)

• Ball : a ball joint type (3 rotations allowed)

• Weldable : hybrid free/fixed joint. The part is free to move and can be welded to another RigidBody

Page 33: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

XDE Physics Engine

When you physicalize an object, INTERACT automatically creates 3 components :

• Rigid Body : attached to the parent object, defines the physical properties of the object (mass, inertia, collision)• Joint : also attached to the parent object, describes the way rigid bodies move with respect to each other• Mesh colliders : attached to each mesh contained in the parent object, defines the shape of an object for the purposes of physical

collisions.

Configuring Joints

Joint are the objects that describe the way rigid bodies move with respect from each other. (ex : the wheel of acar is attached to the car frame by a hinge joint, they can only rotate around a specific axis). A multi-bodysystem is thus composed a several objects connected by joints forming a kinematic chain.

At anytime, the kinematic chain can be seen from the INTERACT Menu by clicking on Show Kinematic graph.

Page 34: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Joints

XDE provides 4 types of joints :

• Fixed JointA fixed joint constraints all degrees of freedom with respect to the parent object.In the Unity inspector, a fixed joint has only one parameter : the object to which the selected object is attached to. If there is no parent object, the objectis fixed with respect to the world.

• Free JointA free joint moves freely in the six degrees of freedom (can freely rotate and translate). If gravity is enabled, the object will be in free fall.

NB : the field “Parent Body” of the Free Joint is for advanced users and should not be used.

Page 35: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Joints

XDE provides 4 types of joints :

• Hinge JointA hinge joint allows only one rotation with respect to a specific axis.

• Parent Body : the preceding body in the kinematic chain• Configuration Transform : the frame in which the axis and center of the joint is expressed

(usually the object itself)• Axis : the axis of the joint (can be a combination of axis)• Initial Position : the position of the joint at the beginning of the simulation• Min/Max limit : to configure joint limits• Damping : add physical damping in the joint• Friction : add dry friction in the joint

Page 36: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Joints

XDE provides 4 types of joints :

• Prismatic JointA prismatic joint allows only one translation with respect to a specific axis.

• Parent Body : the preceding body in the kinematic chain• Configuration Transform : the frame in which the axis and center of the joint is expressed

(usually the object itself)• Axis : the axis of the joint (can be a combination of axis)• Initial Position : the position of the joint at the beginning of the simulation• Min/Max limit : to configure joint limits• Damping : add physical damping in the joint• Friction : add dry friction in the joint

Page 37: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Rigid Bodies

If needed, in the inspector, you can configure the properties of the rigid body

• Has weight: defines whether of not the object is affected by gravity

• Mass : the mass of the object in kg

• Overwrite COG : by default, the center of gravity of the object is located at its center.

This can be changed with this property

• Custom Moment of Inertia: to manually define the matrix of inertia

Page 38: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Collisions

One of the key feature of XDE Physics Engine lies in its precise collision detection.

Using and configuring collision detection is really easy, you just have to tell XDE how group of objects behave when collision occurs.

In XDE, the notion of ‘Group of objects’ is called ‘Layers’. (ex : the Layer ‘Robots’ contains all the objects of type Robot in the scene). It is important tocarefully define your layers in order to optimize the collision detection.

To assign a RigidBody to a particular layer, click on Add Layer, then Add. Select the layer you want in the dropdown list.

If you want to define a new layer, click on Edit Layers, then Add Layer. This will open the Contact Layer Manager.

NB : You can also access the Contact Layer Manager from the INTERACT Menu (Show Contact Layers)

Page 39: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring Collisions

The Contact Layer Manager allows you to define the possible interactions between Layers. It is presented in the form of a matrix. If you click at theintersection of 2 Layers (Rows and Columns), you can select between three types of interaction :

• None (empty square) : no collision will be monitored between these 2 layers• Collision ( C ) : the collision detection will be activated. If the checkbox at the right of the square is checked, red arrows will be displayed at the

location of collision points (see illustration below)

• Interference ( I ) : the two objects will be allowed to penetrate each other but the interference will be monitored. If the checkbox at the right of thesquare is checked, objects will be colored yellow if inference occurs. (see illustration below)

NB : The size of contact arrows can be configured in the [PhysicsManager] under XdeArrowDisplay

Ex: Collision between a capsule and a cube Ex: Interference between a capsule and a cube

Page 40: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring materials

XDE provides various friction models to help you add more physical realism to your simulation.

To configure a friction model between 2 object, you need to assign a material to each object and configure the friction model between the 2 materials.

• In the Material field of the RigidBody, assign an existing material or create a new one with Edit > New Material

• To configure the friction model between 2 materials, click at the intersection of the 2 material in the friction matrix

• Then select a friction model (Signorini, Coulomb, Coulomb Contensou)

Page 41: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

P H Y S I C S E N G I N E

Configuring materials

• The Signorini law is in fact not a friction law, but a contact law. This law ensures that when two objects are incontact, the minimal distance between the two object is null, and there is a strictly positive contact force.On the opposite, when there is no contact, the contact force must be null and the minimal distance betweenthe two object is strictly positive. With this law, there is no tangent force, hence no friction.

• The Coulomb law states that when a contact occurs, the tangential force norm must be included in a diskwhose radius is mu * n, where n is the contact force normal value, and mu the friction coefficient. When thetangential forces lies inside the disk, there is no slipping, whereas when the tangential force is on the circleedge, the contact is slipping, and this slipping occurs in the opposite direction of the tangential force. This isthe most frequently used law to model friction.

• The Coulomb Contensou law is an extension of the Coulomb law to rotational friction. Indeed, with thecoulomb law, no friction occurs when an object is rotated around a contact points. This means that if yougrab an object with two material points using Coulomb friction, you won’t be able to control the objectorientation around the axis formed by the two contact points. The object will freely rotate around this axis.

Page 42: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N D U S T R I A L L I B R A R Y

TRACKING DEVICES

If you wish to manipulate a 3D object with a device, you can do so from the INTERACT Menu (Add Tracking Devices).

NB : For ART and OptiTrack tracking, the proper software (resp. Dtrack and Motive) needs to run in background to stream the body position

In the pop-up menu, you can configure :

• The device (ART Body, OptiTrack Body, Space Mouse, Vive Tracker)• The 3D object that will be attached to the device

Page 43: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N D U S T R I A L L I B R A R Y

INDUSTRIAL LIBRARY

INTERACT comes up with a collection of prefabricated components commonly used in industry simulations.

• Industrial Robots

• Safety components (light curtains, safety lasers)

• Production components (conveyor, operator panels)

These components can be imported from the INTERACT Menu

Page 44: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

T E X T U R E L I B R A R Y

TEXTURE LIBRARY

You can also find a collection of textures and predefined material that can be useful to make your simulations more realistic.

These materials can be found in the project window

In the next chapter, we will learn how to add physics behavior to your 3D objects.

Page 45: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

M O T I O N C A P T U R E A N D E R G O N O M I C S

HARDWARE SETUP

Light&Shadows has created a tracking suit based on the Vive trackers. It can be used for various applicationssuch as body tracking or ergonomics assessment.

The suit consists of 5 devices placed on both arms, legs and around the belt.

To use the suit

• Plug in the USB hub with the 5 dongles

• Wear the suit as shown and pay attention to the labels of each device

• The arm trackers should face backward and be placer 5cm below the elbow• The leg trackers should face backward and be placer 5cm below the knee

• Switch on the trackers in that specific order :• Right Arm• Left Arm• Right Leg• Left Leg• Belt

• Switch on both Vive controllers• Make sure SteamVR successfully recognizes the trackers

NB : all tracker LEDs should be green. If not, right click on SteamVR icon, then Device > Pair Controller and press the Vive Tracker buttons until the LED stops blinking.

Page 46: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

M O T I O N C A P T U R E A N D E R G O N O M I C S

Using the suit in INTERACT

Using the suit in INTERACT is quite easy.

• When creating a scene, select LS SUIT in the list of options

• This will create an avatar in T-Pose in the scene

Page 47: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

M O T I O N C A P T U R E A N D E R G O N O M I C S

Using the suit in INTERACT

When you first launch the simulation

• Follow the calibration instructions

• Face towards the panel

• Stand in T-Pose

• Press the controller trigger

• Wait for the instructions to disappear

• If the procedure is successful, your avatar should move accordingto your body movements

If you change user while running the application or want torecalibrate the manikin, you can do so via the INTERACT VR Menu :

• Select Settings / Calibrate Avatar

Page 48: INTERACT - Light & Shadows · 2019-06-20 · U N I T Y 3 D B A S I C S T Interface 1 1. Scene Where the game is constructed 2. Hierarchy A list of GameObjects in the scene 3. Inspector

I N T E R A C T / S U P P O R T E D F O R M A T S

CAD / 3D formats :

.3dm

.3ds

.3dxml

.asm

.CATPart

.CATProduct

.CATShape

.cgr

.csb

.dae

.dwg

.dxf

.fbx

.ifc

.iges

.igs

.jt

.neu

.neu*

.obj

.p_t

.par

.pdf

.plmxml

.prc

.prt

.prt*

.psm

.pwd

.sab

.sat

.skp

.sldasm

.sldprt

.step

.stepz

.stl

.stp

.u3d

.vda

.vrml

.wrl

.wire

.x_b

.x_t

.xas

.xas*

.xmt

.xmt_bin

.xmt_txt

.xpr

.xpr*

Pointcloud formats CAD Design Softwares examples

.e57

.pts

.ptx

.las

.db

CatiaSolidWorksCreoSolidEdgeACIS SATVDA-FSRhinoVRMLCOLLADAParasolidSketchup3dsmaxAutoCAD

Back to "Importing CAD"


Recommended