An implementation of Harmonic Coordinates for Character Articulation.
This project was built using rustc 1.77.2
.
Rust may be installed by following the instructions provided here.
To run the project, navigate to the project's root directory and execute the command cargo run --release
.
The project is known to run on the (Windows) computers in the Engineering Computer Science building room 250 on the University of Victoria campus. It was developed on my laptop, which runs Linux, and will probably run on the ECS Linux computers. I was unable to test the program on the ECS Linux computers due to the doors being locked.
The top bar of the application displays several buttons.
These allow a user to load a cage of your choosing, compute the grid for that cage, load a mesh, and then apply weights to that mesh.
Once that is done (in the order specified above), the user may offset vertices using the menu found to the left side of the screen.
Alternatively, one may load a script file to do this automatically.
For example, cargo run --release -- load_suzanne
will load a cage, mesh, begin smoothing, and apply weights.
Note:
Computing the grid will take time.
The window will not update during this time.
To see output regarding computation's progress, execute the command export RUST_log=info
before running the program.
Vertex selection is specified using the form v <vertex indices to select>
.
For example, v 1 3 4
would select vertices 1, 3, and 4.
Face selection follows the same pattern, f <face indices to select>
.
For example, f 0 2
would select all vertices in faces 0 and 2.
Once some vertices are selected, the user may apply an offset using the sliders found below the selection text box.
If for whatever reason the application chooses light mode, please set it to use dark mode using the button in the top-right of the window.
- Drawing with depth texture
- Cage from
.obj
file - Interior control
- Recompute cage without restarting the program