Glad I could help =)

On Sun, Jul 26, 2015 at 2:38 AM, Pierre Schiller <
[email protected]> wrote:

> All right! Eric helped me out some, here´s the result. My mistake was to
> parent the face under the general COG controller.
> Thank you guys!
>
> Regards.
>
> On Fri, Jul 24, 2015 at 10:16 AM, Pierre Schiller <
> [email protected]> wrote:
>
>> Thanks Alan. I checked it (the last 7 minutes summarize it very well) the
>> problem seems to be the following :
>> 1. I created (modeled the head), there are 2 cluster materials there.
>> 2. I weighted to bones
>> 3. I sculpted the shapes
>> 4. I place the head under a model under a COG under a skeleton hierarchy,
>> (head is not child but weighted to bones and is inside
>> of the COG hierarchy
>> 5. Finally I make the dorito setup. Every null offset is child of a Zero
>> transform null, child of the head bone (that way if the head bone rotates,
>> all of the nulls will also rotate; I know I should just use the global
>> position (once they´re object clustered) for rotation also (so there´s no
>> need to set up that extra zero transform null to pass it´s coordinates);
>> but I set it up so I can scale and do squash stretch simply by scaling that
>> null ///that´s another subject tho´ but I explain that part so that you can
>> know what´s going on the rig.
>>
>> Then I move my model using the COG and weights on the cloned face are
>> left behind.
>>
>> IN ADDITION:
>> All dorito approaches (videos) don´t live under a hierarchy, and also
>> they are not transformed from bone rotation (face rotation). So, Eric is
>> suggesting I´m doing the dorito workflow last, when it should be the first.
>> I´ll try that as soon as I can and report progress on this thread...
>>
>> Long ago, I rigged that dorito approach with bones (scaled and changed
>> it´s view options so they look like spheres) it worked just fine, but that
>> null approach on doritos has a "je ne sais pa" on the animators side :)
>>
>> Cheers.
>>
>> On Thu, Jul 23, 2015 at 10:02 PM, Alan Fregtman <[email protected]>
>> wrote:
>>
>>> Long ago I recorded a 20m tutorial/explanation about doritos for
>>> TDSurvival:
>>> https://vimeo.com/68359879
>>>
>>> I think it might help you. Let me know if anything is not clear.
>>>
>>> On Thu, Jul 23, 2015, 2:01 AM Eric Turman <[email protected]> wrote:
>>>
>>>> I am way too tired to make a clean scene let alone a clean script, but
>>>> this python script builds a very simple scene that has a "dorito" deforming
>>>> a cloned mesh and being influenced by the driver mesh. The "move" null
>>>> functions like a COG and everything plays nice:
>>>>
>>>> Application.CreatePrim("Sphere", "MeshSurface", "", "")
>>>> Application.GetPrim("Null", "", "", "")
>>>> Application.SetValue("null.Name", "bottom", "")
>>>> Application.Translate("", 0, -4, 0, "siRelative", "siParent", "siObj",
>>>> "siXYZ", "", "", "", "", "", "", "", "", "", 0, "")
>>>> Application.SetValue("bottom.null.shadow_icon", 2, "")
>>>> Application.SetValue("bottom.null.shadow_scaleY", 0, "")
>>>> Application.SetValue("bottom.null.primary_icon", 0, "")
>>>> Application.SetValue("bottom.null.size", 3, "")
>>>> Application.Duplicate("bottom", "", 2, 1, 1, 0, 0, 1, 0, 1, "", "", "",
>>>> "", "", "", "", "", "", "", 0)
>>>> Application.Translate("", 0, 8, 0, "siRelative", "siParent", "siObj",
>>>> "siXYZ", "", "", "", "", "", "", "", "", "", 0, "")
>>>> Application.SetValue("bottom1.Name", "top", "")
>>>> Application.SelectObj("sphere", "", True)
>>>> Application.Clone("", "", 1, 1, 0, 0, 1, 0, 1, "", "", "", "", "", "",
>>>> "", "", "", "")
>>>> Application.SelectObj("sphere", "", "")
>>>> Application.SetValue("sphere.Name", "driver", "")
>>>> Application.SelectObj("sphere1", "", "")
>>>> Application.SetValue("sphere1.Name", "clone", "")
>>>> Application.SelectObj("driver", "", "")
>>>> Application.ApplyFlexEnv("driver;bottom,top", "", 2)
>>>> Application.GetPrim("Null", "", "", "")
>>>> Application.SetValue("null.Name", "clusterConstrainedNull", "")
>>>> Application.GetPrim("Null", "", "", "")
>>>> Application.SetValue("null.Name", "dorito", "")
>>>> Application.SetValue("dorito.null.primary_icon", 0, "")
>>>> Application.SetValue("dorito.null.shadow_icon", 8, "")
>>>> Application.SetValue("dorito.null.shadow_scaleX", 0, "")
>>>> Application.SelectObj("clusterConstrainedNull", "", "")
>>>> Application.SelectObj("clone", "", "")
>>>> Application.ToggleVisibility("", "", "")
>>>> Application.SelectObj("clusterConstrainedNull", "", "")
>>>> Application.ApplyCns("ObjectToCluster", "clusterConstrainedNull",
>>>> "driver.pnt[19]", "")
>>>> Application.SetValue("clusterConstrainedNull.kine.objclscns.tangent",
>>>> True, "")
>>>> Application.SetValue("clusterConstrainedNull.kine.objclscns.upvct_active",
>>>> True, "")
>>>> Application.SelectObj("dorito", "", "")
>>>> Application.ParentObj("B:clusterConstrainedNull", "dorito")
>>>> Application.SelectObj("B:clusterConstrainedNull", "", "")
>>>> Application.SelectObj("dorito", "", "")
>>>> Application.ResetTransform("", "siObj", "siSRT", "siXYZ")
>>>> Application.GetPrim("Null", "", "", "")
>>>> Application.SetValue("null.Name", "move", "")
>>>> Application.SetValue("move.null.primary_icon", 0, "")
>>>> Application.SetValue("move.null.shadow_icon", 2, "")
>>>> Application.SetValue("move.null.shadow_scaleY", 0, "")
>>>> Application.SetValue("move.null.size", 5, "")
>>>> Application.SelectObj("bottom", "", "")
>>>> Application.ToggleSelection("top", "", "")
>>>> Application.ParentObj("B:move", "bottom,top")
>>>> Application.SelectObj("B:move", "", "")
>>>> Application.DeselectAll()
>>>> Application.SelectObj("bottom", "", "")
>>>> Application.SelectObj("bottom,top", "", "")
>>>> Application.SetNeutralPose("", "siSRT", "")
>>>> Application.SelectObj("move", "", "")
>>>> Application.AddProp("Display Property", "", "", "", "")
>>>> Application.SetValue("move.display.wirecolorr", 0.381, "")
>>>> Application.SetValue("move.display.wirecolorg", 0.381, "")
>>>> Application.SetValue("move.display.wirecolorb", 0.381, "")
>>>> Application.SetValue("move.display.wirecolorr", 0.76, "")
>>>> Application.SetValue("move.display.wirecolorg", 0, "")
>>>> Application.SetValue("move.display.wirecolorb", 0, "")
>>>> Application.SetValue("move.display.wirecolorr", 0.110376, "")
>>>> Application.SetValue("move.display.wirecolorg", 0.756, "")
>>>> Application.SetValue("move.display.wirecolorb", 0, "")
>>>> Application.GetPrim("Null", "", "", "")
>>>> Application.SetValue("null.Name", "noDeform", "")
>>>> Application.ApplyCns("Pose", "noDeform", "move", "")
>>>> Application.SelectObj("clusterConstrainedNull", "", "")
>>>> Application.SelectObj("dorito", "", "")
>>>> Application.SelectObj("move", "", True)
>>>> Application.SelectObj("driver", "", True)
>>>> Application.ToggleVisibility("", "", "")
>>>> Application.SelectObj("clone", "", "")
>>>> Application.ToggleVisibility("", "", "")
>>>> Application.ApplyFlexEnv("clone;noDeform,dorito", "", 2)
>>>> Application.SetValue("clone.polymsh.cls.EnvelopWeightCls.Envelope_Weights.autoenvassign.defnbskelobj",
>>>> 1, "")
>>>> Application.SetValue("clone.polymsh.cls.EnvelopWeightCls.Envelope_Weights.autoenvassign.defnbskelobj",
>>>> 2, "")
>>>> Application.SelectObj("noDeform", "", "")
>>>> Application.CopyPaste("move.kine.global.posz", "",
>>>> "noDeform.Static_KineState.posz", 1)
>>>> Application.CopyPaste("move.kine.global.posy", "",
>>>> "noDeform.Static_KineState.posy", 1)
>>>> Application.CopyPaste("move.kine.global.posx", "",
>>>> "noDeform.Static_KineState.posx", 1)
>>>> Application.CopyPaste("move.kine.global.rotz", "",
>>>> "noDeform.Static_KineState.oriz", 1)
>>>> Application.CopyPaste("move.kine.global.roty", "",
>>>> "noDeform.Static_KineState.oriy", 1)
>>>> Application.CopyPaste("move.kine.global.rotx", "",
>>>> "noDeform.Static_KineState.orix", 1)
>>>> Application.CopyPaste("move.kine.global.sclz", "",
>>>> "noDeform.Static_KineState.sclz", 1)
>>>> Application.CopyPaste("move.kine.global.scly", "",
>>>> "noDeform.Static_KineState.scly", 1)
>>>> Application.CopyPaste("move.kine.global.sclx", "",
>>>> "noDeform.Static_KineState.sclx", 1)
>>>> Application.SelectObj("dorito", "", True)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.posz", "",
>>>> "dorito.Static_KineState.posz", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.posy", "",
>>>> "dorito.Static_KineState.posy", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.posx", "",
>>>> "dorito.Static_KineState.posx", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.rotz", "",
>>>> "dorito.Static_KineState.oriz", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.roty", "",
>>>> "dorito.Static_KineState.oriy", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.rotx", "",
>>>> "dorito.Static_KineState.orix", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.sclz", "",
>>>> "dorito.Static_KineState.sclz", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.scly", "",
>>>> "dorito.Static_KineState.scly", 1)
>>>> Application.CopyPaste("clusterConstrainedNull.kine.global.sclx", "",
>>>> "dorito.Static_KineState.sclx", 1)
>>>>
>>>> Cheers,
>>>> -=Eric
>>>>
>>>> --
>>>>
>>>>
>>>>
>>>>
>>>> -=T=-
>>>>
>>>
>>
>>
>> --
>> Portfolio 2013 <http://be.net/3dcinetv>
>> Cinema & TV production
>> Video Reel <https://vimeo.com/3dcinetv/reel2012>
>>
>
>
>
> --
> Portfolio 2013 <http://be.net/3dcinetv>
> Cinema & TV production
> Video Reel <https://vimeo.com/3dcinetv/reel2012>
>



-- 




-=T=-

Reply via email to