[Bf-committers] Implementing "weight from Bone Glow" as an alternative for "weight from Bone heat" ...

Daniel Salazar - patazstudio.com zanqdo at gmail.com
Mon Sep 14 09:36:37 CEST 2015


Hi, what happened to this? Very interested in having this implemented.
Daniel Salazar
patazstudio.com


On Sun, May 3, 2015 at 5:39 AM, Brecht Van Lommel
<brechtvanlommel at pandora.be> wrote:
> Hi,
>
> On Sun, May 3, 2015 at 12:38 PM, Gaia <gaia.clary at machinimatrix.org> wrote:
>> 1.) Both algorithms work by first calculating an initial set of weights for a
>> given skin/skeleton combination, then this initial set is smoothed by
>> applying a diffusion equation.
>> 2.) Bone heat and Bone glow differ "only" in the way how they calculate
>> the initial set of weights. The following diffusion calculation is the same
>> for both.
>
> That seems right.
>
>> meshlaplacian.c (line 624): heat_bone_weighting()
>>
>> I understand it like this:
>>
>> 654-678 Mask for only working on selected vertices/bones
>> 680-700 Initial setup of the data for the calculations
>> 701-720 clear all weights from weight groups
>> 731     This seems to be where "everything" happensin one step
>> 732-776 copy the calculated weights to the vertex groups
>>
>> I believe that i "only" have to modify what happens in line 731, but
>> my problem is how can i change what happens in that function?
>
> The linear system is solved at line 731, but it's only the
> construction of the system that needs to change.
>
> You need to modify heat_set_H where the values heat.H and heat.p are
> computed, these correspond to the H and p in the original and new
> paper. At lines 726-728 these values are set into the right hand side
> of the linear system. The heat_source_closest test there may also need
> to change if visibility is no longer a binary value.
>
> Brecht.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list