On 08/09/2016 at 11:06, xxxxxxxx wrote:
I tried to add an object to morph "target" option
obj = doc.GetActiveObject()
corr= obj.GetDownLast() #get the last child
if not corr : return False
pmTag = obj.GetTag(c4d.Tposemorph)
mo = pmTag.AddMorph()
Id = 1000 + count*100 +1
I wanted to add it to the last morph (the one that was created with the script ) , so I made a little cheat get the Id , then do some math to match the style of the index (1101,1201,1301...etc )
this cheat worked with the strength (I used the Id 4000 )
but it does not seem to work with the target , it only affect the selected morph .
is there any way to make it affect specific morph ?
or "force " select a morph with its index ?
when I was searching in the older post , I found similar topic with C++ , but someone mentioned that Maxon made the tree view private so it is not possible to access it .
is there any workaround to this problem ?
On 09/09/2016 at 01:42, xxxxxxxx wrote:
if I understand your intentions correctly you want to add a new morph and set the "Target" parameter?
The pose morph tag has a dedicated API to use this tag: CAPoseMorphTag. This class includes SetActiveMorphIndex() which can be used to select a morph. With that morph select you can simply set the parameter:
# create new morph
morph = morphTag.AddMorph()
if morph is None:
# select latest morph
count = morphTag.GetMorphCount()
# set "Target"
morphTag[c4d.ID_CA_POSE_TARGET] = targetObject
On 09/09/2016 at 09:37, xxxxxxxx wrote:
thanks for help ,
it is working as expected :)
I didn't have this method in my python SDK , because I didn't updated it .
just to be sure , the user have to use the latest update of cinema 4d R17(.053) to use the script ?
On 12/09/2016 at 00:20, xxxxxxxx wrote:
yes, some functions were added to the CAPoseMorphTag class with R17 SP3. So these functions are only available for users of this service pack or of R18.