Built in an escape from sbObjectStep() if transform() is used. Has to be
done for lattices... these keep calling this during transform, causing the lattice itself and its children (if soft) to remain static on same position. Real solution has to be 2-fold: - store deformed lattice points in Lattice, as a "DispList" - usage of proper depgraph :) There's also the idea to keep simulating softbody during a transform, to give feedback on what softbody does... later.
This commit is contained in:
@@ -1093,6 +1093,12 @@ void sbObjectStep(Object *ob, float framenr)
|
||||
float ctime, forcetime;
|
||||
float err;
|
||||
|
||||
/* this variable is set while transform(). with lattices also having a softbody,
|
||||
it calls lattice_modifier() all the time... has no displist yet. Is temporal
|
||||
hack which should be resolved with proper depgraph usage + storage of deformed
|
||||
vertices in lattice (ton) */
|
||||
if(G.moving) return;
|
||||
|
||||
/* remake softbody if: */
|
||||
if( (ob->softflag & OB_SB_REDO) || // signal after weightpainting
|
||||
(ob->soft==NULL) || // just to be nice we allow full init
|
||||
|
||||
Reference in New Issue
Block a user