Skip to content

Commit

Permalink
Merge pull request #7 from electronicarts/houdini
Browse files Browse the repository at this point in the history
Houdini
  • Loading branch information
binhhuyle authored Jul 21, 2020
2 parents ec89b51 + b8408ef commit 75b7416
Show file tree
Hide file tree
Showing 119 changed files with 788 additions and 593 deletions.
Binary file added .DS_Store
Binary file not shown.
4 changes: 2 additions & 2 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "Dem Bones"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 1.1.0
PROJECT_NUMBER = 1.2.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand All @@ -51,7 +51,7 @@ PROJECT_BRIEF = "Skinning Decomposition Library"
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.

PROJECT_LOGO = D:/working/DemBones/dem-bones/logo/raw/DemBones_doxygen.png
PROJECT_LOGO = D:/working/DemBones/dem-bones/logo/DemBones_small.png

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Dem Bones
[![BSD3 Clause](https://img.shields.io/badge/license-BSD3_Clause-blue.svg)](LICENSE.md)
[![Version](https://img.shields.io/badge/version-1.1.0-green.svg)](VERSION.md)
[![Version](https://img.shields.io/badge/version-1.2.0-green.svg)](VERSION.md)

This repository contains an implementation of [Smooth Skinning Decomposition with Rigid Bones](http://binh.graphics/papers/2012sa-ssdr/),
an automated algorithm to extract the *Linear Blend Skinning* (LBS) with bone transformations from a set of example meshes.
Expand Down
5 changes: 5 additions & 0 deletions VERSION.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Version History

## Version 1.2.0 (July 2020)
- Add stop on convergence to cbIterEnd(), cbWeightsIterEnd(), cbTransformationsIterEnd()
- Add --bindUpdate=2 flag in the command line tool to group joints
- Add --tolerance and --patience flags in the command line tool using cbIterEnd()

## Version 1.1.0 (June 2020)
- Add per-bone transformation hard-lock and per-vertex weights soft-lock
- Fix initialization issue on cluster splitting
Expand Down
Binary file modified bin/Linux/DemBones
Binary file not shown.
Binary file modified bin/MacOS/DemBones
Binary file not shown.
Binary file modified bin/Windows/DemBones.exe
Binary file not shown.
26 changes: 18 additions & 8 deletions bin/usage.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@

USAGE:

DemBones -a=<filename> ... -i=<filename> ... -o=<filename> ...
[-b=<int>] [--nInitIters=<int>] [-n=<int>]
[--nTransIters=<int>] [--bindUpdate=<int>]
[--transAffine=<double>] [--transAffineNorm=<double>]
[--nWeightsIters=<int>] [-z=<int>] [--weightsSmooth=<double>]
[--weightsSmoothStep=<double>] [--dbg=<int>]
[--log=<filename>] [--] [--version] [-h]
DemBones.exe -a=<filename> ... -i=<filename> ... -o=<filename> ...
[-b=<int>] [--nInitIters=<int>] [-n=<int>]
[--tolerance=<double>] [--patience=<int>]
[--nTransIters=<int>] [--bindUpdate=<int>]
[--transAffine=<double>] [--transAffineNorm=<double>]
[--nWeightsIters=<int>] [-z=<int>]
[--weightsSmooth=<double>] [--weightsSmoothStep=<double>]
[--dbg=<int>] [--log=<filename>] [--] [--version] [-h]


Where:
Expand All @@ -31,11 +32,20 @@ Where:
-n=<int>, --nIters=<int>
number of global iterations

--tolerance=<double>
convergence tolerance, stop if error relatively reduces less than
[--tolerance] in [--patience] consecutive iterations

--patience=<int>
convergence patience, stop if error relatively reduces less than
[--tolerance] in [--patience] consecutive iterations

--nTransIters=<int>
number of transformation update iterations per global iteration

--bindUpdate=<int>
update bind pose (0=no update, 1=update joint positions)
update bind pose (0=no update, 1=update joint positions, 2=regroup
joints under one root)

--transAffine=<double>
bone translations affinity soft constraint
Expand Down
Binary file modified data/Decomposition_05.fbx
Binary file not shown.
Binary file modified data/Decomposition_10.fbx
Binary file not shown.
Binary file modified data/Decomposition_20.fbx
Binary file not shown.
Binary file added data/Decomposition_20_grouped.fbx
Binary file not shown.
Binary file modified data/Optimized.fbx
Binary file not shown.
Binary file modified data/SolvedHelpers.fbx
Binary file not shown.
Binary file modified data/SolvedPartialWeights.fbx
Binary file not shown.
Binary file modified data/SolvedTransformations.fbx
Binary file not shown.
Binary file modified data/SolvedWeights.fbx
Binary file not shown.
7 changes: 5 additions & 2 deletions data/run.bat
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@ call "../bin/Windows/DemBones.exe" -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=5 -o
call "../bin/Windows/DemBones.exe" -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=10 -o="Decomposition_10.fbx"
call "../bin/Windows/DemBones.exe" -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=20 -o="Decomposition_20.fbx"

rem Joint grouping
call "../bin/Windows/DemBones.exe" -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=20 --bindUpdate=2 -o="Decomposition_20_grouped.fbx"

rem Solve skinning weights from input meshes sequence and input bone transformations
call "../bin/Windows/DemBones.exe" -i="Bone_Trans.fbx" -a="Bone_Anim.abc" -n=5 --nTransIters=0 -o="SolvedWeights.fbx"
call "../bin/Windows/DemBones.exe" -i="Bone_Trans.fbx" -a="Bone_Anim.abc" --nTransIters=0 -o="SolvedWeights.fbx"

rem Solve bone transformations from input meshes sequence and input skinning weights
call "../bin/Windows/DemBones.exe" -i="Bone_Skin.fbx" -a="Bone_Anim.abc" -n=5 --nWeightsIters=0 -o="SolvedTransformations.fbx"
call "../bin/Windows/DemBones.exe" -i="Bone_Skin.fbx" -a="Bone_Anim.abc" --nWeightsIters=0 -o="SolvedTransformations.fbx"

rem Optimize given bone transformations and skinning weights from input meshes sequence
call "../bin/Windows/DemBones.exe" -i="Bone_All.fbx" -a="Bone_Anim.abc" --bindUpdate=1 -o="Optimized.fbx"
Expand Down
7 changes: 5 additions & 2 deletions data/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ $EXECUTION_FILE -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=5 -o="Decomposition_05.
$EXECUTION_FILE -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=10 -o="Decomposition_10.fbx"
$EXECUTION_FILE -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=20 -o="Decomposition_20.fbx"

# Joint grouping
$EXECUTION_FILE -i="Bone_Geom.fbx" -a="Bone_Anim.abc" -b=20 --bindUpdate=2 -o="Decomposition_20_grouped.fbx"

# Solve skinning weights from input meshes sequence and input bone transformations
$EXECUTION_FILE -i="Bone_Trans.fbx" -a="Bone_Anim.abc" -n=5 --nTransIters=0 -o="SolvedWeights.fbx"
$EXECUTION_FILE -i="Bone_Trans.fbx" -a="Bone_Anim.abc" --nTransIters=0 -o="SolvedWeights.fbx"

#Solve bone transformations from input meshes sequence and input skinning weights
$EXECUTION_FILE -i="Bone_Skin.fbx" -a="Bone_Anim.abc" -n=5 --nWeightsIters=0 -o="SolvedTransformations.fbx"
$EXECUTION_FILE -i="Bone_Skin.fbx" -a="Bone_Anim.abc" --nWeightsIters=0 -o="SolvedTransformations.fbx"

# Optimize given bone transformations and skinning weights from input meshes sequence
$EXECUTION_FILE -i="Bone_All.fbx" -a="Bone_Anim.abc" --bindUpdate=1 -o="Optimized.fbx"
Expand Down
Binary file added docs/htmls/DemBones_small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/htmls/_convex_l_s_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="DemBones_doxygen.png"/></td>
<td id="projectlogo"><img alt="Logo" src="DemBones_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dem Bones
&#160;<span id="projectnumber">1.1.0</span>
&#160;<span id="projectnumber">1.2.0</span>
</div>
<div id="projectbrief">Skinning Decomposition Library</div>
</td>
Expand Down
4 changes: 2 additions & 2 deletions docs/htmls/_convex_l_s_8h_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="DemBones_doxygen.png"/></td>
<td id="projectlogo"><img alt="Logo" src="DemBones_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dem Bones
&#160;<span id="projectnumber">1.1.0</span>
&#160;<span id="projectnumber">1.2.0</span>
</div>
<div id="projectbrief">Skinning Decomposition Library</div>
</td>
Expand Down
4 changes: 2 additions & 2 deletions docs/htmls/_dem_bones_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="DemBones_doxygen.png"/></td>
<td id="projectlogo"><img alt="Logo" src="DemBones_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dem Bones
&#160;<span id="projectnumber">1.1.0</span>
&#160;<span id="projectnumber">1.2.0</span>
</div>
<div id="projectbrief">Skinning Decomposition Library</div>
</td>
Expand Down
Loading

0 comments on commit 75b7416

Please sign in to comment.