Lucy Viewer

Overview

Lucy Viewer is an interactive viewing software for 4D models, i.e, dynamic three-dimensional scenes that evolve over time.
Lucy Viewer screenshot showing textured 4D model

Main implemented features

  • multiple sequence loading and playback
  • asynchronous loading
  • .off file loading
  • Mesh rendering

Current user interfaces

  • command line arguments
  • Qt GUI

Installation

Download

Download Lucy Viewer here and untar the archive.

Third party librairies :

LucyViewer is a python application. Python2.7 has to be installed on your system for the application to be used.
You can install all the third party librairies with appropriate versions by running the setup.py script in the root folder:

  • python setup.py install

However, you have to install PyQt5 separately, as this module can not be installed with usual python utilities.

  • on Ubuntu :
    sudo apt-get install python-pyqt5
  • on Fedora :
    sudo dnf install PyQt5

Usage

Launching

You can start Lucy Viewer by executing from the root directory :

lucyViewer/LucyViewer.py

The available options are detailed below.

GUI Usage :

  • Loading and Playback :
      • mouse left click on a sequence loading bar: select the first frame to render
      • mouse right click on a sequence loading bar: select the loading buffer length
      • mouse left click and drag on a sequence bar lateral border: hide/show part of the sequence
      • mouse left click and drag on a sequence main bar: change sequence temporal offset

  • Display (on the rendering area):

    • mouse left click and drag: trackball rotate on the selected sequence(s) (or world)
    • mouse right click and drag: trackball drag on the selected sequence(s) (or world)
    • mouse wheel motion: trackball zoom
    • left ctrl + mouse right click and drag: translate sequence with respect to its center of rotation
    • left ctrl + mouse wheel: move center of rotation closer/farther
    • mouse double click: move center of rotation

Command line arguments examples:

Load and display one mesh:

python LucyViewer.py tests/data/models-1/model_0000010000.off

Load a sequence containing all the files in the directory given as argument :

python LucyViewer.py tests/data/models-1/

Get an exhaustive list of command-line arguments:

python LucyViewer.py --help

or

python LucyViewer.py -h

Modify the loading buffer properties :

python LucyViewer.py --databufferSize 15 tests/data/models-1

Load a second sequence:

python LucyViewer.py test-sample/models-0/ +sequence tests/data/models-1/

or

python LucyViewer.py +sequence tests/data/models-1/ +sequence tests/data/models-2/


Load 2 sequences using binary caching:

python LucyViewer.py --useBinaryCache True tests/data/models-1/ +sequence tests/data/models-2/

You can also define sequence specific parameters:

python LucyViewer.py +sequence --useBinaryCache True tests/data/models-1/ +sequence --dataBufferSize 5 tests/data/models-2/

NB: it is recommended to use absolute paths only for command lines.

Leave a Reply